You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cmake/Tests/RunCMake/install/RuntimeDependencies-COMPONE...

40 lines
1.0 KiB

enable_language(C)
function(check_components value)
get_cmake_property(comp COMPONENTS)
if(NOT comp STREQUAL value)
message(FATAL_ERROR "Expected value of COMPONENTS:\n ${value}\nActual value of COMPONENTS:\n ${comp}")
endif()
endfunction()
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
add_library(tgt MODULE obj1.c)
else()
add_executable(tgt main.c)
endif()
install(TARGETS tgt
RUNTIME_DEPENDENCIES
RUNTIME DESTINATION bin COMPONENT bin1
LIBRARY DESTINATION lib COMPONENT lib1
FRAMEWORK DESTINATION fw COMPONENT fw1
)
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
check_components("bin1;fw1;lib1")
else()
check_components("bin1;lib1")
endif()
install(RUNTIME_DEPENDENCY_SET deps
RUNTIME DESTINATION bin COMPONENT bin2
LIBRARY DESTINATION lib COMPONENT lib2
FRAMEWORK DESTINATION fw COMPONENT fw2
)
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
check_components("bin1;fw1;fw2;lib1;lib2")
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
check_components("bin1;bin2;lib1")
elseif()
check_components("bin1;lib1;lib2")
endif()