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}/hlsl
33 ${GLSLANG_ABS_PATH}/OGLCompilersDLL
34 ${GLSLANG_ABS_PATH}/SPIRV
38 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Constant.cpp
39 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/glslang_tab.cpp
40 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/InfoSink.cpp
41 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Initialize.cpp
42 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Intermediate.cpp
43 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/intermOut.cpp
44 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/iomapper.cpp
45 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/IntermTraverse.cpp
46 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/limits.cpp
47 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/linkValidate.cpp
48 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/parseConst.cpp
49 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/ParseContextBase.cpp
50 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/ParseHelper.cpp
51 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/PoolAlloc.cpp
52 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/propagateNoContraction.cpp
53 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/reflection.cpp
54 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/RemoveTree.cpp
55 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Scan.cpp
56 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/ShaderLang.cpp
57 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/SymbolTable.cpp
58 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Versions.cpp
60 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpAtom.cpp
61 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpContext.cpp
62 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/Pp.cpp
63 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpMemory.cpp
64 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpScanner.cpp
65 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpSymbols.cpp
66 ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpTokens.cpp
68 ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen/CodeGen.cpp
69 ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen/Link.cpp
71 ${GLSLANG_ABS_PATH}/OGLCompilersDLL/InitializeDll.cpp
73 ${GLSLANG_ABS_PATH}/hlsl/hlslGrammar.cpp
74 ${GLSLANG_ABS_PATH}/hlsl/hlslOpMap.cpp
75 ${GLSLANG_ABS_PATH}/hlsl/hlslParseables.cpp
76 ${GLSLANG_ABS_PATH}/hlsl/hlslParseHelper.cpp
77 ${GLSLANG_ABS_PATH}/hlsl/hlslScanContext.cpp
78 ${GLSLANG_ABS_PATH}/hlsl/hlslTokenStream.cpp
80 ${GLSLANG_ABS_PATH}/SPIRV/disassemble.cpp
81 ${GLSLANG_ABS_PATH}/SPIRV/doc.cpp
82 ${GLSLANG_ABS_PATH}/SPIRV/GlslangToSpv.cpp
83 ${GLSLANG_ABS_PATH}/SPIRV/InReadableOrder.cpp
84 ${GLSLANG_ABS_PATH}/SPIRV/Logger.cpp
85 ${GLSLANG_ABS_PATH}/SPIRV/SpvBuilder.cpp
86 ${GLSLANG_ABS_PATH}/SPIRV/SPVRemapper.cpp
91 set(CMAKE_C_FLAGS ${DE_3RD_PARTY_C_FLAGS})
92 set(CMAKE_CXX_FLAGS ${DE_3RD_PARTY_CXX_FLAGS})
94 if (DE_COMPILER_IS_GCC OR DE_COMPILER_IS_CLANG)
95 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
98 add_library(glslang STATIC ${GLSLANG_SRCS})
99 target_link_libraries(glslang dethread ${ZLIB_LIBRARY})
101 set(GLSLANG_INCLUDE_PATH ${GLSLANG_ABS_PATH} PARENT_SCOPE)
102 set(GLSLANG_LIBRARY glslang PARENT_SCOPE)
103 set(DEQP_HAVE_GLSLANG ON PARENT_SCOPE)
106 message(STATUS "glslang not found; GLSL to SPIR-V compilation not available")
108 set(DEQP_HAVE_GLSLANG OFF PARENT_SCOPE)