CMake 设置Target输出目录和后缀名

摘要:
博客参考:https://www.cnblogs.com/tangxin-blog/p/8283460.htmlSET(EXECUTABLE_OUTPUT_PATH${PROJECT_SOURCE_DIR}/../bin)上述语句可以设置可执行文件的输出目录。在Win+VS环境中,<CONFIG>目录将在您设置的目录之后自动扩展,因此最终生成的调试版本程序将位于${PROJECT_SOUR

博客参考:https://www.cnblogs.com/tangxin-blog/p/8283460.html

SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../bin)

上面的语句能设置可执行文件的输出目录

在Win + VS环境下,会自动在你所设置的目录后面扩展一层 <CONFIG> 目录,所以最终生成的Debug版本程序会在 ${PROJECT_SOURCE_DIR}/../bin/Debug 目录下,Release版本程序会在 ${PROJECT_SOURCE_DIR}/../bin/Release 目录下.

在Linux + GCC环境下,无论是Debug还是Release,生成的可执行程序会直接放在你所设置的目录下,不会有差异.

SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../lib)

上面的语句能设置库文件的输出目录,生成位置同上

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/../bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/../bin)

上面两条语句分别设置了Debug版本和Release版本可执行文件的输出目录, 一旦设置上面的属性,在任何环境下生成的可执行文件都将直接放在你所设置的目录.

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/../lib)    set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/../lib)

上面两条语句分别设置了Debug版本和Release版本库文件的输出目录, 一旦设置上面的属性,在任何环境下生成的库文件都将直接放在你所设置的目录.

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

上面两条语句分别设置了Debug版本和Release版本下库文件的后缀名.

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

上面两条语句分别设置了Debug版本和Release版本下可执行文件的后缀名.

免责声明:文章转载自《CMake 设置Target输出目录和后缀名》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇kubectl 常规命令JavaScript DOM元素常见操作详解【添加、删除、修改等】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ubuntu 环境安装 opencv 3.2 步骤和问题记录

记录下笔者源码编译 opencv 的过程( Ubuntu 环境下 ),以及某些报错的解决方法,希望可以帮助有需要的人...   源码编译 opencv 的主要流程 1.获取 opencv 源代码,用户可以在 opencv-github获取对应版本的 opencv 源代码,并将其解压; upzip opencv-3.2.0.zip -d ~...

Cmake实战指南

0 综述 我觉的Cmake比较核心的一些东西就是 怎么去组织一个项目的编译框架 最终输出目标有哪些(可执行程序,动态库,静态库等等) 怎么为指定的输出目标指定编译参数(需要哪些源文件,需要哪些编译参数) 怎么为指定的输出目标指定链接参数(需要哪些外部库,需要哪些链接参数) 如果存在多个独立输出目标是否有执行先后顺序(比如项目有自动配置工具,用来自动生...

剑指offer 面试题04. 二维数组中的查找(简单)

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。   示例: 现有矩阵 matrix 如下: [  [1,   4,  7, 11, 15],  [2,   5,  8, 12, 19],  [3,   6,  9, 16,...

面向云原生的混沌工程工具-ChaosBlade

作者 | 肖长军(穹谷)阿里云智能事业群技术专家 导读:随着云原生系统的演进,如何保障系统的稳定性受到很大的挑战,混沌工程通过反脆弱思想,对系统注入故障,提前发现系统问题,提升系统的容错能力。ChaosBlade 工具可以通过声明式配置执行混沌实验,简单高效。本文将会重点介绍 ChaosBlade 以及云原生相关的实验场景实践。 ChaosBlade 介...

基于Cmake+QT+VS的C++项目构建开发编译简明教程

目录 一、工具下载与安装 1.     Qt 2.     Visual Studio 2015 3.     Cmake 二、C++及Qt项目构建 1.     基于VS构建Qt项目 2.     基于Qt Creater构建,在VS中使用 用Qt Creater构建项目 用VS开发Qt Creater生成的项目 3.     基于Cmake构建 用CM...

Ubuntu中安装Cmake3.22.0

来源:https://www.cnblogs.com/yanqingyang/p/12731855.html 一.使用安装命令 1 sudoaptinstallcmake 注意此种方式安装的可能不是最新版本的Cmake. 二.Cmake源码编译安装 第一步:卸载原来的cmake版本: 1 sudoapt-get remove cmake...