针对不同文件类型,比如(RUNTIME, ARCHIVE, LIBRARY,PUBLIC_HEADER),可以分开进行配置,比如分别指定安装路径(DESTINATION)、设置文件权限(PERMISSIONS);如果不是在某个类别下的单独配置,那么就是针对所有类型。 值得一提的是,ARCHIVE一般是指静态库,LIBRARY则是指共享库,在不同平台上,略有差异,实际应用感觉不符合预期时...
install(TARGETStargets...[EXPORT<export-name>][RUNTIME_DEPENDENCIESargs...|RUNTIME_DEPENDENCY_SET<set-name>][[ARCHIVE|LIBRARY|RUNTIME|OBJECTS|FRAMEWORK|BUNDLE|PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE|FILE_SET<set-name>][DESTINATION<dir>][PERMISSIONSpermissions...][CONFIGURATIONS[Debug|Release|...]][C...
install(TARGETStargets...[EXPORT<export-name>][[ARCHIVE|LIBRARY|RUNTIME|OBJECTS|FRAMEWORK|BUNDLE|PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE][DESTINATION<dir>][PERMISSIONSpermissions...][CONFIGURATIONS[Debug|Release|...]][COMPONENT<component>][NAMELINK_COMPONENT<component>][OPTIONAL][EXCLUDE_FROM_ALL][NAMELI...
RUNTIME DESTINATION bin # 可执行文件安装路径 PUBLIC_HEADER DESTINATION include # 头文件安装路径 ) 1. 2. 3. 4. 5. 6. 7. LIBRARY, ARCHIVE, RUNTIME, PUBLIC_HEADER是可选的,可以根据需要进行选择。 DESTINATION后面的路径可以自行制定,根目录默认为CMAKE_INSTALL_PREFIX,可以试用...
PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE] [DESTINATION <dir>] [PERMISSIONS permissions...] [CONFIGURATIONS [Debug|Release|...]] [COMPONENT <component>] [OPTIONAL] [NAMELINK_ONLY|NAMELINK_SKIP] ] [...]) TARGETS格式的install命令规定了安装工程中的目标(targets)的规则。有5中可以被安装的目标文件:ARCHI...
#install(TARGETS ... ARCHIVE DESTINATION lib/static)#*.lib #install(TARGETS ... PUBLIC_HEADER DESTINATION include)#公共头文件的安装路径 #install(TARGETS ... RESOURCE DESTINATION <dir>)#私有头文件的安装路径 # 2.普通文件 放置放到 DESTINATION 指定的目录,eg:readme.md config.ini #install(FILES ...
$ cmake -D COMPONENT=lib -P cmake_install.cmake 由于Message.hpp头文件被设置为项目的公共头文件,我们可以使用PUBLIC_HEADER关键字将其与其他目标一起安装到选定的目的地:${INSTALL_INCLUDEDIR}/message。库的用户现在可以通过以下方式包含头文件:#include <message/Message.hpp>,前提是正确的位置通过-I选项传递...
#将库文件,可执行文件,头文件安装到指定目录install(TARGETS MyLib EXPORT MyLibTargets LIBRARY DESTINATION lib # 动态库安装路径 ARCHIVE DESTINATION lib # 静态库安装路径 RUNTIME DESTINATION bin # 可执行文件安装路径 PUBLIC_HEADER DESTINATION include # 头文件安装路径 ...
install(TARGETS targets... [EXPORT <export-name>] [RUNTIME_DEPENDENCIES args...|RUNTIME_DEPENDENCY_SET <set-name>] [[ARCHIVE|LIBRARY|RUNTIME|OBJECTS|FRAMEWORK|BUNDLE| PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE|FILE_SET <set-name>|CXX_MODULES_BMI] ...
{CMAKE_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>) # --- install script --- set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/include/logger.h VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ARCHIVE ...