1. add_executable() 在CMake中,add_executable()命令用于定义一个新的可执行目标,也就是要生成的可执行文件。这个命令告诉CMake要编译一系列的源文件,然后将其链接以产生一个可执行文件。 add_executable(<name>[WIN32][MACOSX_BUNDLE][EXCLUDE_FROM_ALL]source1[source2...]) 其
cmake 的add_library,add_executable,add_subdirectory等命令都有一个EXCLUDE_FROM_ALL参数. 这个参数的作用根据cmake官网的解释就是如果某个target或subdirectory被设置为EXCLUDE_FROM_ALL属性,那么这个target(或这个subdirectory中的所有target)就会被排除在all target列表之外,这样,当执行默认的make(或nmake)时,这个targe...
ADD_EXECUTABLE(hello main.cpp) 定义了这个工程会生成一个文件名为 hello 的可执行文件,相关的源文件是mian.cpp。 4,ADD_LIBRARY 该指令的主要作用就是将指定的源文件生成链接库文件,然后添加到工程中去。语法如下: add_library(<name> [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] [source1] [source2]...
add_executable(<name>[WIN32][MACOSX_BUNDLE][EXCLUDE_FROM_ALL]source1[source2 ...]) 简单的例子如下: add_executable(demo main.cpp ) 最后贴一个完整的例子 cmake_minimum_required(VERSION2.6)INCLUDE_DIRECTORIES(../../thirdparty/comm)FIND_LIBRARY(COMM_LIB comm ../../thirdparty/comm/lib NO_D...
嵌套的CMake是一个树状结构,最顶层的CMakeLists.txt是根节点,其次是子节点。我们需要使用add_subdirectory()命令在结点间建立父子关系。 add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL]) source_dir:要添加的子目录的路径,相对于当前 CMakeLists.txt 文件的路径。
add_subdirectory(${CMAKE_BINARY_DIR}/googletest-src ${CMAKE_BINARY_DIR}/googletest-build EXCLUDE_FROM_ALL) 上述用于触发GoogleTest编译,并将产物配置导入当前项目,该方式不需要编译前下载 GoogleTest 源代码,且可以产物形式导入到项目中。ExternalProject_Add也可以直接用于下载源代码,以源码形式添加到项目中一...
add_executable(<name> [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [source1] [source2 ...]) 1. 2. 3. 添加一个名为< name >的可执行目标,以从命令调用中列出的源文件构建该目标。对应于逻辑目标名称,在项目中必须是全局唯一的。构建的可执行文件的实际文件名是基于本机平台的约定(例如< name >....
add_executable(main main.c) 2.3 运行查看 在终端下切到main.c所在的目录下,然后输入以下命令运行cmake: cmake . 输出结果如下: ps:此时,建议留意一下这个文件夹下多生成的文件都有哪些。 可以看到成功生成了Makefile,还有一些cmake运行时自动生成的文件。
add_executable(<name> [WIN32] [MACOSX_BUNDLE][EXCLUDE_FROM_ALL][source1] [source2 ...])命令:添加一个可执行目标source1为代码源文件 set(VAR [VALUE])命令:定义变量(可以给变量赋多个VALUE,如set(SRC_LIST main.c util.c reactor.c))或者给变量赋值 ...
add_executable(main main.c) 2.3 运行查看 在终端下切到main.c所在的目录下,然后输入以下命令运行cmake: cmake . 输出结果如下: ps:此时,建议留意一下这个文件夹下多生成的文件都有哪些。 可以看到成功生成了Makefile,还有一些cmake运行时自动生成的文件。