1add_library(glslang-default-resource-limits 2 ${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp 3 ${CMAKE_CURRENT_SOURCE_DIR}/resource_limits_c.cpp) 4set_property(TARGET glslang-default-resource-limits PROPERTY FOLDER glslang) 5set_property(TARGET glslang-default-resource-limits PROPERTY POSITION_INDEPENDENT_CODE ON) 6 7target_include_directories(glslang-default-resource-limits 8 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> 9 PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>) 10 11 12set(SOURCES StandAlone.cpp DirStackFileIncluder.h) 13 14add_executable(glslangValidator ${SOURCES}) 15set_property(TARGET glslangValidator PROPERTY FOLDER tools) 16glslang_set_link_args(glslangValidator) 17 18set(LIBRARIES 19 glslang 20 SPIRV 21 glslang-default-resource-limits) 22 23if(ENABLE_SPVREMAPPER) 24 set(LIBRARIES ${LIBRARIES} SPVRemapper) 25endif() 26 27if(WIN32) 28 set(LIBRARIES ${LIBRARIES} psapi) 29elseif(UNIX) 30 if(NOT ANDROID) 31 set(LIBRARIES ${LIBRARIES} pthread) 32 endif() 33endif(WIN32) 34 35target_link_libraries(glslangValidator ${LIBRARIES}) 36target_include_directories(glslangValidator PUBLIC 37 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../External> 38 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/External>) 39 40if(ENABLE_SPVREMAPPER) 41 set(REMAPPER_SOURCES spirv-remap.cpp) 42 add_executable(spirv-remap ${REMAPPER_SOURCES}) 43 set_property(TARGET spirv-remap PROPERTY FOLDER tools) 44 glslang_set_link_args(spirv-remap) 45 target_link_libraries(spirv-remap ${LIBRARIES}) 46endif() 47 48if(WIN32) 49 source_group("Source" FILES ${SOURCES}) 50endif(WIN32) 51 52if(ENABLE_GLSLANG_INSTALL) 53 install(TARGETS glslangValidator EXPORT glslangValidatorTargets 54 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 55 install(EXPORT glslangValidatorTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) 56 57 if(ENABLE_SPVREMAPPER) 58 install(TARGETS spirv-remap EXPORT spirv-remapTargets 59 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 60 install(EXPORT spirv-remapTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) 61 endif() 62 63 if(BUILD_SHARED_LIBS) 64 install(TARGETS glslang-default-resource-limits EXPORT glslang-default-resource-limitsTargets 65 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) 66 install(EXPORT glslang-default-resource-limitsTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) 67 endif() 68endif(ENABLE_GLSLANG_INSTALL) 69