相关疑难解决方法(0)

在CMake中创建目录

在CMake中,我想创建一个目录(如果它尚不存在).我怎样才能做到这一点?

cmake

126
推荐指数
3
解决办法
7万
查看次数

如何在CMake中跨多行拆分字符串?

我通常在我的项目中有一个策略,永远不会在超过80行的文本文件中创建行,因此它们可以在各种编辑器中轻松编辑(你知道这笔交易).但是使用CMake我遇到的问题是我不知道如何将一个简单的字符串拆分成多行来避免一条巨大的线.考虑这个基本代码:

set(MYPROJ_VERSION_MAJOR "1")
set(MYPROJ_VERSION_MINOR "0")
set(MYPROJ_VERSION_PATCH "0")
set(MYPROJ_VERSION_EXTRA "rc1")
set(MYPROJ_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}-${VERSION_EXTRA}")
Run Code Online (Sandbox Code Playgroud)

它已经超过了80行限制.那么如何将CMake中的一行分成多行而不会变得冗长(多个list(APPEND ...)等)?

cmake

85
推荐指数
7
解决办法
4万
查看次数

如何使用cmake获得彩色输出?

我想在CMakeLists.txt中有消息功能,输出彩色文本.也许逃脱序列.例如

message("\x1b[31m;This text must be in red")
Run Code Online (Sandbox Code Playgroud)

它不起作用.我明白了

cmake代码中的语法错误

/home/taurus/cmakecolor/CMakeLists.txt:1
Run Code Online (Sandbox Code Playgroud)

解析字符串时

\x1b[31m;This text must be in red
Run Code Online (Sandbox Code Playgroud)

无效的转义序列\ x

cmake

33
推荐指数
3
解决办法
1万
查看次数

CMake:如何使用 make 命令创建文件


在 make 文件中执行任何目标之前,我需要创建以下始终过时的文件:${CMAKE_BINARY_DIR}/version.hpp.in 。文件内容如下:

#define RELEASE_VERSION "${RELEASE}"
#define MAJOR_VERSION "${MAJOR}"
#define MINOR_VERSION "${MINOR}"
#define PATCH_VERSION "${PATCH}"
#define REVISION "${REVISION}"
#define SVNPATH "$ {SVNPATH}”

我的 CMake 文件中有以下代码段,但它仅在运行cmake命令后才执行:

FILE(WRITE ${CMAKE_BINARY_DIR}/version.hpp.in
"#define RELEASE_VERSION \"${RELEASE}\"\n"
"#define MAJOR_VERSION \"${MAJOR}\"\n"
"#define MINOR_VERSION \"${MINOR}\"\n"
"#define PATCH_VERSION \"${PATCH}\"\n"
"#define REVISION \"${REVISION}\"\n"
"#define SVNPATH \"${SVNPATH}\"\n"
)
Run Code Online (Sandbox Code Playgroud)

我想version.hpp.in每次运行make命令时生成文件。我怎样才能做到这一点?

c++ linux file cmake

7
推荐指数
2
解决办法
8245
查看次数

标签 统计

cmake ×4

c++ ×1

file ×1

linux ×1