PROJECT_BINARY_DIR变量则指的是CMake生成的构建文件所在的目录,也就是构建输出目录。这个目录通常包含了由CMake生成的构建文件、目标文件、库文件等。在构建过程中,CMake会根据PROJECT_BINARY_DIR来输出构建结果。 默认情况下,PROJECT_BINARY_DIR与PROJECT_SOURCE_DIR是同一个目录,也就是说构建文件会被输出到源代码...
#Cmake工程名。这个指令隐式的定义了两个 cmake变量: PROJECT_BINARY_DIR以及PROJECT_SOURCE_DIR。分别指向项目的编译路径和工程路径。 PROJECT (HELLO) #生成可执行文件,${}来引用变量。 ADD_EXECUTABLE(Executable program name ${ Source files }) 到这里,一个可执行程序就生成了。如果要管理依赖第三方库的工...
< projectname >_BINARY_DIR:二进制文件保存路径; < projectname >_SOURCE_DIR:源代码路径; project(CRNode) 执行了上一条指令,即定义了一个项目名称CRNode,相应的会生成两个变量:CRNode_BINARY_DIR, CRNode_SOURCE_DIR。 cmake中预定义了两个变量:PROJECT_BINARY_DIR与PROJECT_SOURCE_DIR。 在这个例子中: ...
1.设置可执行文件的输出路径: SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../bin) 1. 2.静态库 lib 输出路径: set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) 1. 3.动态库输出路径(注意这个放在最后): SET_TARGET_PROPERTIES(dllname PROPERTIES RUNTIME_OUTPUT_DIRECTORY ../...
PROJECT_BINARY_DIR = CRNode_BINARY_DIR PROJECT_SOURCE_DIR = CRNode_SOURCE_DIR 笔者强烈推荐直接使用PROJECT_BINARY_DIR与PROJECT_SOURCE_DIR,这样及时项目名称发生了变化,也不会影响CMakeLists.txt文件。 关于上面两个变量是否相同的问题,涉及到编译方法是内部编译还是外部编译。如果是内部编译,则上面两个变量相同...
(PROJECT_BINARY_DIR为构建目录,即 build 目录) 整个目录树如下 :: . ├── CMakeLists.txt └── src ├── CMakeLists.txt └── main.c 1. 2. 3. 4. 5. 同样可建立 build 目录,然后进行外部构建 :: mkdir build (cd build; cmake ..; build) ...
CMAKE_BINARY_DIR,PROJECT_BINARY_DIR:这两个变量内容一致,如果是内部编译,就指的是工程的顶级目录,如果是外部编译,指的就是工程编译发生的目录。 CMAKE_SOURCE_DIR,PROJECT_SOURCE_DIR:这两个变量内容一致,都指的是工程的顶级目录。 CMAKE_CURRENT_BINARY_DIR:外部编译时,指的是target目录,内部编译时,指的是顶...
cmake系统也帮助我们预定义了PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR其值与上述对应相等 SET(变量名 变量值) SET(VAR [VALUE] [CACHE TYPEDOCSTRING [FORCE]]) SET(SRC_LIST main.c t1.ct2.c) SET(SRC_LIST main.c) MESSAGE MESSAGE([SEND_ERROR | STATUS | FATAL_ERROR] “message to display” …)...
<projectname>_BINARY_DIR 和 PROJECT_BINARY_DIR 变量,他们指的编译发生的当前目录;如果是内部编译,就相当于 PROJECT_SOURCE_DIR 也就是工程代码所在目录;如果是外部编译,指的是外部编译所在目录,也就是本例中的 build目录。 注意:应该把这两条指令写在工程的 CMakeLists.txt还是src 目录下的CMakeLists.txt?
project (demo) add_subdirectory (src) add_subdirectory:这个语句的作用是增加编译子目录。其基本语法格式是: add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL]) 一共有三个参数,后两个是可选参数. source_dir 源代码目录 指定一个包含CMakeLists.txt和代码文件所在的目录,该目录可以是绝对路径,...