Add CTS_ARB_gl_spirv test implementation
[platform/upstream/VK-GL-CTS.git] / external / spirv-tools / CMakeLists.txt
1 # cmake file for spirv-tools
2
3 if (NOT DE_DEFS)
4         message(FATAL_ERROR "Include Defs.cmake")
5 endif ()
6
7 if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/include/spirv-tools/libspirv.h")
8         set(DEFAULT_SPIRV_TOOLS_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src)
9 else ()
10         set(DEFAULT_SPIRV_TOOLS_SRC_PATH "../spirv-tools")
11 endif ()
12
13 set(SPIRV_TOOLS_SRC_PATH ${DEFAULT_SPIRV_TOOLS_SRC_PATH} CACHE STRING "Path to spirv-tools source tree")
14 if (IS_ABSOLUTE ${SPIRV_TOOLS_SRC_PATH})
15         set(SPIRV_TOOLS_ABS_PATH ${SPIRV_TOOLS_SRC_PATH})
16 else ()
17         set(SPIRV_TOOLS_ABS_PATH "${CMAKE_SOURCE_DIR}/${SPIRV_TOOLS_SRC_PATH}")
18 endif ()
19
20 set(SPIRV_HEADERS_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../spirv-headers/src CACHE STRING "Path to spirv-headers source tree")
21 if (IS_ABSOLUTE ${SPIRV_HEADERS_SRC_PATH})
22         set(SPIRV_HEADERS_ABS_PATH ${SPIRV_HEADERS_SRC_PATH})
23 else ()
24         set(SPIRV_HEADERS_ABS_PATH "${CMAKE_SOURCE_DIR}/${SPIRV_HEADERS_SRC_PATH}")
25 endif ()
26
27 if (EXISTS ${SPIRV_TOOLS_ABS_PATH}/source/opcode.cpp AND
28         EXISTS ${SPIRV_HEADERS_ABS_PATH}/include/spirv/1.0/spirv.h)
29         message(STATUS "spirv-tools found; building with DEQP_HAVE_SPIRV_TOOLS")
30         set(CMAKE_C_FLAGS ${DE_3RD_PARTY_C_FLAGS})
31         set(CMAKE_CXX_FLAGS ${DE_3RD_PARTY_CXX_FLAGS})
32
33         # SPIR-V tools requires SPIRV-Headers
34         set(SPIRV-Headers_SOURCE_DIR ${SPIRV_HEADERS_ABS_PATH})
35
36         set(DEQP_HAVE_SPIRV_TOOLS               ON                                      PARENT_SCOPE)
37         set(SPIRV_SKIP_EXECUTABLES              ON CACHE BOOL "" FORCE)
38         add_subdirectory(${SPIRV_TOOLS_ABS_PATH} spirv-tools)
39 else ()
40         message(STATUS "spirv-tools not found; SPIR-V assembly not available")
41         set(DEQP_HAVE_SPIRV_TOOLS               OFF                                     PARENT_SCOPE)
42 endif ()