1 # cmake file for glslang
4 message(FATAL_ERROR "Include Defs.cmake")
7 if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/SPIRV/GlslangToSpv.cpp")
8 set(DEFAULT_GLSLANG_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src)
10 set(DEFAULT_GLSLANG_SRC_PATH "../glslang")
13 set(GLSLANG_SRC_PATH ${DEFAULT_GLSLANG_SRC_PATH} CACHE STRING "Path to glslang source tree")
15 if (IS_ABSOLUTE ${GLSLANG_SRC_PATH})
16 set(GLSLANG_ABS_PATH ${GLSLANG_SRC_PATH})
18 set(GLSLANG_ABS_PATH "${CMAKE_SOURCE_DIR}/${GLSLANG_SRC_PATH}")
21 if (EXISTS ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen/CodeGen.cpp)
22 message(STATUS "glslang found; building with DEQP_SUPPORT_GLSLANG")
26 ${GLSLANG_ABS_PATH}/glslang
27 ${GLSLANG_ABS_PATH}/glslang/Include
28 ${GLSLANG_ABS_PATH}/glslang/Public
29 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent
30 ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen
31 ${GLSLANG_ABS_PATH}/glslang/OSDependent
32 ${GLSLANG_ABS_PATH}/OGLCompilersDLL
33 ${GLSLANG_ABS_PATH}/SPIRV
37 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Constant.cpp
38 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/InfoSink.cpp
39 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Initialize.cpp
40 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/IntermTraverse.cpp
41 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Intermediate.cpp
42 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/ParseHelper.cpp
43 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/PoolAlloc.cpp
44 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/RemoveTree.cpp
45 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Scan.cpp
46 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/ShaderLang.cpp
47 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/SymbolTable.cpp
48 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Versions.cpp
49 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/glslang_tab.cpp
50 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/intermOut.cpp
51 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/limits.cpp
52 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/linkValidate.cpp
53 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/parseConst.cpp
54 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/reflection.cpp
55 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/Pp.cpp
56 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpAtom.cpp
57 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpContext.cpp
58 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpMemory.cpp
59 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpScanner.cpp
60 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpSymbols.cpp
61 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpTokens.cpp
62 ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen/CodeGen.cpp
63 ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen/Link.cpp
64 ${GLSLANG_ABS_PATH}/OGLCompilersDLL/InitializeDll.cpp
66 ${GLSLANG_ABS_PATH}/SPIRV/GlslangToSpv.cpp
67 ${GLSLANG_ABS_PATH}/SPIRV/InReadableOrder.cpp
68 ${GLSLANG_ABS_PATH}/SPIRV/SpvBuilder.cpp
69 ${GLSLANG_ABS_PATH}/SPIRV/SPVRemapper.cpp
70 ${GLSLANG_ABS_PATH}/SPIRV/doc.cpp
71 ${GLSLANG_ABS_PATH}/SPIRV/disassemble.cpp
76 set(CMAKE_C_FLAGS ${DE_3RD_PARTY_C_FLAGS})
77 set(CMAKE_CXX_FLAGS ${DE_3RD_PARTY_CXX_FLAGS})
79 if (DE_COMPILER_IS_GCC OR DE_COMPILER_IS_CLANG)
80 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
83 add_library(glslang STATIC ${GLSLANG_SRCS})
84 target_link_libraries(glslang dethread ${ZLIB_LIBRARY})
86 set(GLSLANG_INCLUDE_PATH ${GLSLANG_ABS_PATH} PARENT_SCOPE)
87 set(GLSLANG_LIBRARY glslang PARENT_SCOPE)
88 set(DEQP_HAVE_GLSLANG ON PARENT_SCOPE)
91 message(STATUS "glslang not found; GLSL to SPIR-V compilation not available")
93 set(DEQP_HAVE_GLSLANG OFF PARENT_SCOPE)