常用cmake记录

将build产生的exe文件和lib文件放到指定的目录中

方法1:

CMAKE中有两个变量(EXECUTABLE_OUTPUT_PATHLIBRARY_OUTPUT_PATH)用于指定输出文件的位置,通过设定这两个变量的值指定exe文件和lib文件放置的目录,如

set(EXECUTABLE_OUTPUT_PATH <your_specified_path>)
set(LIBRARY_OUTPUT_PATH <your_specified_path>)

对于支持多个build配置(如Release,Debug等)的情况,CMAKE会为每一个配置生成一个子目录。根据当前使用的build配置,exe或lib文件实际上会被放置在<your_specified_path>/Debug或<your_specified_path>/Release中。

方法2:

通过设置target的属性ARCHIVE_OUTPUT_DIRECTORY,LIBRARY_OUTPUT_DIRECTORY和RUNTIME_OUTPUT_DIRECTORY为指定输出目录。对于多配置的generator,cmake会附加每个配置的子目录到指定输出目录。如果不希望将不同配置下生成的target放置到各自配置的子目录中,可以同时设置target的属性ARCHIVE_OUTPUT_DIRECTORY_,LIBRARY_OUTPUT_DIRECTORY_和RUNTIME_OUTPUT_DIRECTORY_。上述属性分别作用于三种不同类型target的输出:可执行文件总是被作为RUMTIME target,静态库总是被作为ARCHIVE target,Module库总是被作为LIBRARY target,在Windows平台,shared library的DLL部分作为RUNTIME target,对应的Import library作为ARCHIVE target。如要输出所有配置的可执行target到${CMAKE_BINARY_DIR}/bin目录中,

set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)

将产生的target放置在编译树的bin文件夹中。

方法3:

设置CMAKE_LIBRARY_OUTPUT_DIRECTORY、CMAKE_ARCHIVE_OUTPUT_DIRECTORY、CMAKE_RUNTIME_OUTPUT_DIRECTORY为指定目录,相应类型的target将输出到指定路径。CMAKE使用上述变量的值初始化对应的(方法二中)目标属性。对于多配置的generator,target将会输出到指定目录下配置子目录中。若不希望输出到配置子目录中,则需要设定相应配置的值,如CMAKE_ARCHIVE_OUTPUT_DIRECTORY_。


作者:valar_dohaeris
来源:优快云
原文:https://blog.youkuaiyun.com/u012487272/article/details/12882283
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值