• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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