我不知道install()
命令的参数COMPONENT
是什么意思,我不明白这个的CMake文档。更详细的是什么?
一个例子是什么?
答案 0 :(得分:48)
您可以将安装目标分组到组件中,例如“docs”,“libs”,“runtime”等。
add_library(libone libone.c)
add_executable(one main1.c)
install(TARGETS libone one DESTINATION /somedir COMPONENT comp_one)
add_library(libtwo libtwo.c)
add_executable(two main2.c)
install(TARGETS libtwo two DESTINATION /somedir COMPONENT comp_two)
这样就可以运行cmake -DCOMPONENT=comp_one -P {your_build_dir}/cmake_install.cmake
来仅安装libone
库和one
可执行文件。当您发布make install
时,会安装所有组件。
答案 1 :(得分:-12)
有三种方法可以在CMake中使用install
命令:
安装可执行文件
INSTALL(TARGETS ExecutableTarget RUNTIME DESTINATION FOLDER_LOCATION)
安装静态库
INSTALL(TARGETS StaticLibraryTarget ARCHIVE DESTINATION FOLDER_LOCATION)
安装动态库
INSTALL(TARGETS SharedLibraryTarget LIBRARY DESTINATION FOLDER_LOCATION)