7c040e3c9d4612cdbd420a889ba2fa402b9aa5ed
[platform/upstream/VK-GL-CTS.git] / external / glslang / CMakeLists.txt
1 # cmake file for glslang
2
3 if (NOT DE_DEFS)
4         message(FATAL_ERROR "Include Defs.cmake")
5 endif ()
6
7 if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/SPIRV/GlslangToSpv.cpp")
8         set(DEFAULT_GLSLANG_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src)
9 else ()
10         set(DEFAULT_GLSLANG_SRC_PATH "../glslang")
11 endif ()
12
13 set(GLSLANG_SRC_PATH ${DEFAULT_GLSLANG_SRC_PATH} CACHE STRING "Path to glslang source tree")
14
15 if (IS_ABSOLUTE ${GLSLANG_SRC_PATH})
16         set(GLSLANG_ABS_PATH ${GLSLANG_SRC_PATH})
17 else ()
18         set(GLSLANG_ABS_PATH "${CMAKE_SOURCE_DIR}/${GLSLANG_SRC_PATH}")
19 endif ()
20
21 if (EXISTS ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen/CodeGen.cpp)
22         message(STATUS "glslang found; building with DEQP_SUPPORT_GLSLANG")
23
24         include_directories(
25                 ${GLSLANG_ABS_PATH}
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
34                 )
35
36         set(GLSLANG_SRCS
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
65
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
72
73                 osinclude.cpp
74                 )
75
76         set(CMAKE_C_FLAGS       ${DE_3RD_PARTY_C_FLAGS})
77         set(CMAKE_CXX_FLAGS     ${DE_3RD_PARTY_CXX_FLAGS})
78
79         if (DE_COMPILER_IS_GCC OR DE_COMPILER_IS_CLANG)
80                 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
81         endif ()
82
83         add_library(glslang STATIC ${GLSLANG_SRCS})
84         target_link_libraries(glslang dethread ${ZLIB_LIBRARY})
85
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)
89
90 else ()
91         message(STATUS "glslang not found; GLSL to SPIR-V compilation not available")
92
93         set(DEQP_HAVE_GLSLANG           OFF                                     PARENT_SCOPE)
94
95 endif ()