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

一. 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)

上面的语句能设置库文件的输出目录

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

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

三. 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版本下可执行文件的后缀名.

原文地址:https://www.cnblogs.com/tangxin-blog/p/8283460.html

时间: 2024-10-11 23:23:43

CMake 设置Target输出目录和后缀名的相关文章

获取某文件夹下所有文件名、文件夹名、后缀名

今天在提交github时,突然觉得提交得很慢,想到github允许设置.gitignore文件进行某些后缀名的忽略,于是乎决定好好设置一下.gitimnore. 于是乎....我发现,一个很大的项目,或者一个很杂乱的文件库,很难知道这里面到底存在哪些后缀名的文件,一个文件夹一个文件夹的找又太慢,而且容易出错. 于是乎....我开始敲代码了,顺带着把获取某文件夹下所有文件名.文件夹名.后缀名这三个功能一起实现了. [来看效果] 不输入参数时或者第一个参数输入"\"时,默认为当前目录,显示

Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例

1. 案例: 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名. 2. 案例代码如下: (1)思路是:先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出. 1 package com.himi.filesdemo; 2 3 import java.io.File; 4 5 6 /** 7 * 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名 8 * @author hebao 9 * 10 */ 11 public class

环境变量,属性文件,文件基础操作,目录基础操作,遍历指定后缀名文件

环境变量和属性 环境变量相关: 1.得到某个/所有环境变量的值 2.设置环境变量的值 3.列出全部系统属性名 import java.util.Enumeration; import java.util.Map; import java.util.Map.Entry; import java.util.Properties; public class Environment { public static void main(String[] args) { // TODO Auto-gener

复制指定目录下的指定文件,并修改后缀名 很重要,也很难!!!

package cn.idcast2; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilenameFilter; im

输出D盘下的不同后缀名的图片

public static void main(String[] args) { File f1 = new File("D:/"); getFileName(f1); } public static void getFileName(File file) { ArrayList< String > suffixs = new ArrayList<String>(); suffixs.add(".jpg"); suffixs.add(&quo

vs2010的$(OutPut)输出目录设置问题

今天重新整合整个组件的编译配置时,发现一个很奇怪的问题: 在VS2010中,把$(OutPut)设置为output\$(Platform)\fxhelper\$(Configuration)\ 把中间目录$(IntDir)设置为$(OutPut), 设置完后编译发现每次生成的中间文件还是都在vs2010目录. 这问题百思不解,实在找不到答案,怎么设置都不对,如果把$(OutPut)设成其他,他又是生效的, 后来打开工程文件.vcxproj终于发现有一个地方的先后顺序貌似有问题,如下: 充中看到他

去除路径中的后缀名和获取路径目录

首先,记录一个网址,感觉很有用,大部分的文件路径相关函数,里面都有源代码. https://msdn.microsoft.com/en-us/library/windows/desktop/bb773746(v=vs.85).aspx 1.完整路径,去除后缀名   PathRemoveExtensionA [cpp] view plain copy #include <iostream>//cout函数所需 #include "atlstr.h"  //PathRemove

windows服务器设置文件属性设置去掉隐藏已知文件类型的扩展名(即文件后缀名可见)

摘要: 1.文件后缀名不可见,系统运维过程容易发生同名不同后缀的文件操作混淆的情况 2.windows系统默认是文件后缀名不可见 3.所以需要更改一下配置. 4.操作步骤如下图: (1)点击组织-文件夹和搜索选项 (2)点击"查看"标签并取消勾选"隐藏已知文件类型的扩展名" 原文链接: http://www.lookdaima.com/WebForms/WebPages/Blanks/Pm/Docs/DocItemDetail.aspx?EmPreviewTypeV

File类中根据指定后缀名查找所有以该后缀名的文件或者目录

import java.io.File; public class FileSuffixDemo { public static void main(String[] args) { demo(new File(""),"txt"); //传txt后缀名到demo方法中 } public static void demo(File f,String suffix){ //suffix为后缀名 String[] list = f.list(); //用list()方法