| # cmake file for glslang |
| |
| if (NOT DE_DEFS) |
| message(FATAL_ERROR "Include Defs.cmake") |
| endif () |
| |
| if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/SPIRV/GlslangToSpv.cpp") |
| set(DEFAULT_GLSLANG_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src) |
| else () |
| set(DEFAULT_GLSLANG_SRC_PATH "../glslang") |
| endif () |
| |
| set(GLSLANG_SRC_PATH ${DEFAULT_GLSLANG_SRC_PATH} CACHE STRING "Path to glslang source tree") |
| |
| if (IS_ABSOLUTE ${GLSLANG_SRC_PATH}) |
| set(GLSLANG_ABS_PATH ${GLSLANG_SRC_PATH}) |
| else () |
| set(GLSLANG_ABS_PATH "${CMAKE_SOURCE_DIR}/${GLSLANG_SRC_PATH}") |
| endif () |
| |
| if (EXISTS ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen/CodeGen.cpp) |
| message(STATUS "glslang found; building with DEQP_SUPPORT_GLSLANG") |
| |
| include_directories( |
| ${GLSLANG_ABS_PATH} |
| ${GLSLANG_ABS_PATH}/glslang |
| ${GLSLANG_ABS_PATH}/glslang/Include |
| ${GLSLANG_ABS_PATH}/glslang/Public |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent |
| ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen |
| ${GLSLANG_ABS_PATH}/glslang/OSDependent |
| ${GLSLANG_ABS_PATH}/hlsl |
| ${GLSLANG_ABS_PATH}/OGLCompilersDLL |
| ${GLSLANG_ABS_PATH}/SPIRV |
| ) |
| |
| set(GLSLANG_SRCS |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Constant.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/glslang_tab.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/InfoSink.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Initialize.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Intermediate.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/intermOut.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/iomapper.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/IntermTraverse.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/limits.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/linkValidate.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/parseConst.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/ParseContextBase.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/ParseHelper.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/PoolAlloc.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/propagateNoContraction.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/reflection.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/RemoveTree.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Scan.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/ShaderLang.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/SymbolTable.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/Versions.cpp |
| |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpAtom.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpContext.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/Pp.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpMemory.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpScanner.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpSymbols.cpp |
| ${GLSLANG_ABS_PATH}/glslang/MachineIndependent/preprocessor/PpTokens.cpp |
| |
| ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen/CodeGen.cpp |
| ${GLSLANG_ABS_PATH}/glslang/GenericCodeGen/Link.cpp |
| |
| ${GLSLANG_ABS_PATH}/OGLCompilersDLL/InitializeDll.cpp |
| |
| ${GLSLANG_ABS_PATH}/hlsl/hlslGrammar.cpp |
| ${GLSLANG_ABS_PATH}/hlsl/hlslOpMap.cpp |
| ${GLSLANG_ABS_PATH}/hlsl/hlslParseables.cpp |
| ${GLSLANG_ABS_PATH}/hlsl/hlslParseHelper.cpp |
| ${GLSLANG_ABS_PATH}/hlsl/hlslScanContext.cpp |
| ${GLSLANG_ABS_PATH}/hlsl/hlslTokenStream.cpp |
| |
| ${GLSLANG_ABS_PATH}/SPIRV/disassemble.cpp |
| ${GLSLANG_ABS_PATH}/SPIRV/doc.cpp |
| ${GLSLANG_ABS_PATH}/SPIRV/GlslangToSpv.cpp |
| ${GLSLANG_ABS_PATH}/SPIRV/InReadableOrder.cpp |
| ${GLSLANG_ABS_PATH}/SPIRV/Logger.cpp |
| ${GLSLANG_ABS_PATH}/SPIRV/SpvBuilder.cpp |
| ${GLSLANG_ABS_PATH}/SPIRV/SPVRemapper.cpp |
| |
| osinclude.cpp |
| ) |
| |
| set(CMAKE_C_FLAGS ${DE_3RD_PARTY_C_FLAGS}) |
| set(CMAKE_CXX_FLAGS ${DE_3RD_PARTY_CXX_FLAGS}) |
| |
| if (DE_COMPILER_IS_GCC OR DE_COMPILER_IS_CLANG) |
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
| endif () |
| |
| add_library(glslang STATIC ${GLSLANG_SRCS}) |
| target_link_libraries(glslang dethread ${ZLIB_LIBRARY}) |
| |
| set(GLSLANG_INCLUDE_PATH ${GLSLANG_ABS_PATH} PARENT_SCOPE) |
| set(GLSLANG_LIBRARY glslang PARENT_SCOPE) |
| set(DEQP_HAVE_GLSLANG ON PARENT_SCOPE) |
| |
| else () |
| message(STATUS "glslang not found; GLSL to SPIR-V compilation not available") |
| |
| set(DEQP_HAVE_GLSLANG OFF PARENT_SCOPE) |
| |
| endif () |