diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt index 3ada419..f3277f0 100644 --- a/libshaderc/CMakeLists.txt +++ b/libshaderc/CMakeLists.txt @@ -24,13 +24,16 @@ set(SHADERC_SOURCES src/shaderc_private.h ) +if (NOT BUILD_SHARED_LIBS) add_library(shaderc STATIC ${SHADERC_SOURCES}) shaderc_default_compile_options(shaderc) target_include_directories(shaderc PUBLIC include PRIVATE ${glslang_SOURCE_DIR} ${SPIRV-Headers_SOURCE_DIR}/include) +set(shaderc_install_target shaderc) +else() add_library(shaderc_shared SHARED ${SHADERC_SOURCES}) shaderc_default_compile_options(shaderc_shared) target_include_directories(shaderc_shared @@ -42,6 +45,8 @@ target_compile_definitions(shaderc_shared PUBLIC SHADERC_SHAREDLIB ) set_target_properties(shaderc_shared PROPERTIES SOVERSION 1) +set(shaderc_install_target shaderc_shared) +endif() if(SHADERC_ENABLE_INSTALL) install( @@ -54,7 +59,7 @@ if(SHADERC_ENABLE_INSTALL) DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/shaderc) - install(TARGETS shaderc shaderc_shared + install(TARGETS ${shaderc_install_target} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) @@ -68,8 +73,11 @@ set(SHADERC_LIBS SPIRV-Tools ) +if(NOT BUILD_SHARED_LIBS) target_link_libraries(shaderc PRIVATE ${SHADERC_LIBS}) +else() target_link_libraries(shaderc_shared PRIVATE ${SHADERC_LIBS}) +endif() shaderc_add_tests( TEST_PREFIX shaderc @@ -93,6 +101,7 @@ shaderc_add_tests( shaderc_cpp shaderc_private) +if(0) shaderc_combine_static_lib(shaderc_combined shaderc) if(SHADERC_ENABLE_INSTALL) @@ -121,6 +130,7 @@ shaderc_add_tests( TEST_NAMES shaderc shaderc_cpp) +endif() if(${SHADERC_ENABLE_TESTS}) add_executable(shaderc_c_smoke_test ./src/shaderc_c_smoke_test.c)