diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt index f3277f0..5fd58ef 100644 --- a/libshaderc/CMakeLists.txt +++ b/libshaderc/CMakeLists.txt @@ -28,7 +28,9 @@ if (NOT BUILD_SHARED_LIBS) add_library(shaderc STATIC ${SHADERC_SOURCES}) shaderc_default_compile_options(shaderc) target_include_directories(shaderc - PUBLIC include + PUBLIC + $ + $ PRIVATE ${glslang_SOURCE_DIR} ${SPIRV-Headers_SOURCE_DIR}/include) set(shaderc_install_target shaderc) @@ -37,7 +39,9 @@ else() add_library(shaderc_shared SHARED ${SHADERC_SOURCES}) shaderc_default_compile_options(shaderc_shared) target_include_directories(shaderc_shared - PUBLIC include + PUBLIC + $ + $ PRIVATE ${glslang_SOURCE_DIR} ${SPIRV-Headers_SOURCE_DIR}/include) target_compile_definitions(shaderc_shared @@ -59,10 +63,14 @@ if(SHADERC_ENABLE_INSTALL) DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/shaderc) - install(TARGETS ${shaderc_install_target} + install(TARGETS ${shaderc_install_target} EXPORT unofficial-shadercTargets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(EXPORT unofficial-shadercTargets + NAMESPACE unofficial::shaderc:: + DESTINATION share/unofficial-shaderc + ) endif(SHADERC_ENABLE_INSTALL) find_package(Threads) @@ -79,6 +87,11 @@ else() target_link_libraries(shaderc_shared PRIVATE ${SHADERC_LIBS}) endif() +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-shaderc-config.cmake.in" +[[include("${CMAKE_CURRENT_LIST_DIR}/unofficial-shadercTargets.cmake")]]) +configure_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-shaderc-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-shaderc-config.cmake" @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-shaderc-config.cmake DESTINATION share/unofficial-shaderc) + shaderc_add_tests( TEST_PREFIX shaderc LINK_LIBS shaderc diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt index 4926203..b152d7b 100644 --- a/libshaderc_util/CMakeLists.txt +++ b/libshaderc_util/CMakeLists.txt @@ -39,7 +39,10 @@ add_library(shaderc_util STATIC shaderc_default_compile_options(shaderc_util) target_include_directories(shaderc_util - PUBLIC include PRIVATE ${glslang_SOURCE_DIR}) + PUBLIC + $ + $ + PRIVATE ${glslang_SOURCE_DIR}) # We use parts of Glslang's HLSL compilation interface, which # now requires this preprocessor definition. add_definitions(-DENABLE_HLSL) @@ -50,12 +53,21 @@ target_link_libraries(shaderc_util PRIVATE SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT}) if(SHADERC_ENABLE_INSTALL AND NOT BUILD_SHARED_LIBS) - install(TARGETS shaderc_util + install(TARGETS shaderc_util EXPORT unofficial-shaderc_utilTargets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(EXPORT unofficial-shaderc_utilTargets + NAMESPACE unofficial::shaderc_util:: + DESTINATION share/unofficial-shaderc_util + ) endif(SHADERC_ENABLE_INSTALL) +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-shaderc_util-config.cmake.in" +[[include("${CMAKE_CURRENT_LIST_DIR}/unofficial-shaderc_utilTargets.cmake")]]) +configure_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-shaderc_util-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-shaderc_util-config.cmake" @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-shaderc_util-config.cmake DESTINATION share/unofficial-shaderc_util) + shaderc_add_tests( TEST_PREFIX shaderc_util LINK_LIBS shaderc_util