| set(SOURCES |
| GlslangToSpv.cpp |
| InReadableOrder.cpp |
| Logger.cpp |
| SpvBuilder.cpp |
| doc.cpp |
| disassemble.cpp) |
| |
| set(SPVREMAP_SOURCES |
| SPVRemapper.cpp |
| doc.cpp) |
| |
| set(HEADERS |
| bitutils.h |
| spirv.hpp |
| GLSL.std.450.h |
| GLSL.ext.KHR.h |
| GlslangToSpv.h |
| hex_float.h |
| Logger.h |
| SpvBuilder.h |
| spvIR.h |
| doc.h |
| disassemble.h) |
| |
| set(SPVREMAP_HEADERS |
| SPVRemapper.h |
| doc.h) |
| |
| if(ENABLE_AMD_EXTENSIONS) |
| list(APPEND |
| HEADERS |
| GLSL.ext.AMD.h) |
| endif(ENABLE_AMD_EXTENSIONS) |
| |
| if(ENABLE_NV_EXTENSIONS) |
| list(APPEND |
| HEADERS |
| GLSL.ext.NV.h) |
| endif(ENABLE_NV_EXTENSIONS) |
| |
| add_library(SPIRV STATIC ${SOURCES} ${HEADERS}) |
| set_property(TARGET SPIRV PROPERTY FOLDER glslang) |
| set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON) |
| |
| add_library(SPVRemapper STATIC ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS}) |
| set_property(TARGET SPVRemapper PROPERTY FOLDER glslang) |
| set_property(TARGET SPVRemapper PROPERTY POSITION_INDEPENDENT_CODE ON) |
| |
| if(ENABLE_OPT) |
| target_include_directories(SPIRV |
| PRIVATE ${spirv-tools_SOURCE_DIR}/include |
| PRIVATE ${spirv-tools_SOURCE_DIR}/source |
| ) |
| target_link_libraries(SPIRV glslang SPIRV-Tools-opt SPVRemapper) |
| else() |
| target_link_libraries(SPIRV glslang) |
| endif(ENABLE_OPT) |
| |
| if(WIN32) |
| source_group("Source" FILES ${SOURCES} ${HEADERS}) |
| source_group("Source" FILES ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS}) |
| endif(WIN32) |
| |
| if(ENABLE_GLSLANG_INSTALL) |
| install(TARGETS SPIRV SPVRemapper |
| ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
| |
| install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SPIRV/) |
| endif(ENABLE_GLSLANG_INSTALL) |