当我们在CMakeLists.txt中书写如下install格式,发现并没有生效
#需要在编译时执行 make install 才会生效
install(TARGETS
${PROJECT_NAME}
RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/bin # 可执行文件
LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/lib # 动态库
ARCHIVE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/lib # 静态库
)
原因是因为install 需要在编译后执行 make install命令才行。
如果不想在编译脚本里加 make install ,则CMakeList需要改成如下形式即可:
# 重定向目标输出位置
set_target_properties(${PROJECT_NAME}
PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin # 可执行文件
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib # 动态库
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib # 静态库
)
|