Cmake多级目录编译

Posted crossoverpptx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cmake多级目录编译相关的知识,希望对你有一定的参考价值。

以下面的C++程序多级目录为例:

根目录的CMakelists.txt示例代码如下所示:

cmake_minimum_required(VERSION 3.0.0)
project(cppjson VERSION 0.1.0)

# The default include directory
include_directories(./)

# home directory source
aux_source_directory(. ROOT_SOURCE)

# sub directory source
add_subdirectory(json)

# build executable file
add_executable(main $ROOT_SOURCE $PARSER_SRC)

子目录的CMakelists.txt示例代码如下所示:

# sub directory source
aux_source_directory($CMAKE_CURRENT_SOURCE_DIR PARSER_SRC)
set(PARSER_SRC $PARSER_SRC PARENT_SCOPE)

cmake的外部编译

1 什么是外部编译

就是让源码文件和cmake生成的工程文件分开,将cmake生成的工程文件放在一个单独的目录下面。

2 怎样进行外部编译

第一,单独建立一个目录,这个目录在source code目录的外面。

第二,在该目录下运行cmake "root CMakeLists.txt所在的目录",这样的话,cmake生成的所有工程文件就会放在该目录下了。注意,这个地方一定不能把CMakelists.txt文件放在路径中,否则的话,工程文件将会在source code目录下生成。

 

以上是关于Cmake多级目录编译的主要内容,如果未能解决你的问题,请参考以下文章

cmake--多级目录工程

cmake的外部编译

MySQL cmake编译时这些参数是啥意思

CMake方式编译

cmake mysql时怎么去查看所需要添加编译的参数?

CMake (三)cmake 在工程中的用法