CMake设置路径

1.设置可执行文件的输出路径:

set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

2.静态库 lib 输出路径:

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

3.动态库输出路径:

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

4.设置Debug版本和Release版本下库文件的后缀名

set(CMAKE_DEBUG_POSTFIX "_d")
set(CMAKE_RELEASE_POSTFIX "_r")

5.设置了Debug版本和Release版本下可执行文件的后缀名

set_target_properties(${TARGET_NAME} PROPERTIES DEBUG_POSTFIX "_d")
set_target_properties(${TARGET_NAME} PROPERTIES RELEASE_POSTFIX "_r")

6.设置项目名称:

PROJECT( name )

7.设置链接库名称:

target_link_libraries(DealWithMould ${VTK_LIBRARIES})
target_link_libraries(myProject hello) 

8.可执行文件名,通过指定的源文件列表构建出可执行目标文件:

ADD_EXECUTABLE(main main.cpp context.cpp patten.cpp patten.hpp )

9.为生成的target配置安装目录

set(CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR}/install)
install(TARGETS codetest libtest libtest_dll
        LIBRARY DESTINATION lib # 动态库安装路径
        ARCHIVE DESTINATION lib # 静态库安装路径
        RUNTIME DESTINATION bin # 可执行文件安装路径
        PUBLIC_HEADER DESTINATION include # 头文件安装路径
        )

LIBRARY, ARCHIVE, RUNTIME, PUBLIC_HEADER是可选的,可以根据需要进行选择。 DESTINATION后面的路径可以自行制定,根目录默认为CMAKE_INSTALL_PREFIX,可以试用set方法进行指定,如果使用默认值的话,Unix系统的默认值为 /usr/local, Windows的默认值为 c:/Program Files/${PROJECT_NAME}。比如字linux系统下若LIBRARY的安装路径指定为lib,即为/usr/local/lib。

cmake变量

PROJECT_SOURCE_DIR:工程的根目录
PROJECT_BINARY_DIR:运行cmake命令的目录,通常为${PROJECT_SOURCE_DIR}/build 
PROJECT_NAME:返回通过 project 命令定义的项目名称 
CMAKE_CURRENT_SOURCE_DIR:当前处理的 CMakeLists.txt 所在的路径 
CMAKE_CURRENT_BINARY_DIR:target 编译目录
CMAKE_CURRENT_LIST_DIR:CMakeLists.txt 的完整路径
EXECUTABLE_OUTPUT_PATH:重新定义目标二进制可执行文件的存放位置
LIBRARY_OUTPUT_PATH:重新定义目标链接库文件的存放位置

设置变量

set(OPENCV_DLL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/deps/OpenCV/bin)

拷贝文件到exe所在的目录
1 拷贝文件夹里的文件
file(COPY ${OPENCV_DLL_DIR}/ DESTINATION ${EXECUTABLE_OUTPUT_PATH})
2 拷贝bin文件
file(COPY ${OPENCV_DLL_DIR} DESTINATION ${EXECUTABLE_OUTPUT_PATH})

file(COPY /opt/fs/lib/libfs.so DESTINATION lib libfs.so)
注意:copy 是 配置 cmake 时就会执行;可用于拷贝代码到一个目录,不适合拷贝生成文件
将所有符号链接和libfoo.so.1.2.3本身安装到lib中
也可以使用安装代替拷贝

  • 12
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值