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多级目录编译的主要内容,如果未能解决你的问题,请参考以下文章