CMAKE_BUILD_TYPE:确定构建的类型 各种构建模式在编译器选项上的区别 小技巧:设定一个变量的默认值 project:初始化项目信息,并把当前 CMakeLists.txt 所在位置作为根目录 PROJECT_X_DIR和CMAKE_CURRENT_X_DIR的区别 其他相关变量 子模块里也可以用 project 命令,将当前目录作为一个独立的子项目 project 的初始化...
CMAKE_SOURCE_DIR,可见项目根目录 CMAKE_BINARY_DIR,可见项目 build 目录 可根据目录变量进行相关配置 [cmake] -- 1.CMAKE_SOURCE_DIR : D:/project-cpp/cmake-simple/simple [cmake] -- 2.CMAKE_BINARY_DIR : D:/project-cpp/cmake-simple/simple/build [cmake] -- 3.CMAKE_CURRENT_SOURCE_DIR ...
如果SET(BUILD_SHARED_LIBS ON)后,默认生成的为动态库。 3,CMAKE_C_FLAGS 设置C 编译选项,也可以通过指令 ADD_DEFINITIONS()添加。 4,CMAKE_CXX_FLAGS 设置C++编译选项,也可以通过指令 ADD_DEFINITIONS()添加。 小结: 本章介绍了一些较常用的 cmake 变量,这些变量仅仅是所有 cmake 变量的很少一部分,目 前c...
常见变量: PROJECT_SOURCE_DIR:工程的根目录 PROJECT_BINARY_DIR:运行cmake命令的目录,通常为${PROJECT_SOURCE_DIR}/build PROJECT_NAME:返回通过 project 命令定义的项目名称 CMAKE_SOURCE_DIR: 当前 CMakeLists.txt 所在的源码目录的根路径 CMAKE_BINARY_DIR: 构建目录的根路径,即构建生成的可执行文件、库和其...
cmake中一些预定义变量 PROJECT_SOURCE_DIR 工程的根目录 PROJECT_BINARY_DIR 运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/build CMAKE_INCLUDE_PATH 环境变量,非cmake变量 CMAKE_LIBRARY_PATH 环境变量 CMAKE_CURRENT_SOURCE_DIR 当前处理的CMakeLists.txt所在的路径 ...
cmake -B build进行 build 目录的创建与 Makefile 等构建文件的生成,-B选项后面需要提供一个目录路径,这个路径就是用来存放生成的构建系统文件和其他构建过程中产生的中间文件的目录。在上述命令中,build 就是构建目录的名称,build 表明生成的构建系统文件都存放在${PROJECT_SOURCE_DIR}/build目录下。
预定义变量的使用 测试目录如下: image.png 可以看到只有两个源文件hello.c,test.c,cd到build目录执行cmake cmake_minimum_required(VERSION 3.4.1) project(hello) message(STATUS "PROJECT_NAME:" ${PROJECT_NAME}) # project函数里面的值 message(STATUS "CMAKE_MAJOR_VERSION:" ${CMAKE_MAJOR_VERSION}) ...
设置源代码目录和构建目录: 源代码目录(Source Code Directory):指向包含 CMakeLists.txt 文件的目录。 构建目录(Build Directory):指向用于存放生成的构建文件的目录。建议使用独立的目录以保持源代码的整洁。 配置和生成: 点击"Configure" 按钮,选择编译器和构建选项,CMake 会检查依赖项并生成配置。
2.BUILD_SHARED_LIBS 这个开关用来控制默认的库编译方式,如果不进行设置,使用ADD_LIBRARY 并没有指定库类型的情况下,默认编译生成的库都是静态库。 如果SET(BUILD_SHARED_LIBS ON) 后,默认生成的为动态库。 3.CMAKE_C_FLAGS 设置C 编译选项,也可以通过指令 ADD_DEFINITIONS()添加。
PROJECT_SOURCE_DIR:工程的根目录 所以,这里set的意思是把存放elf文件的位置设置为工程根目录下的bin目录。(cmake有很多预定义变量,详细的可以网上搜索一下) 添加好以上这2个CMakeLists.txt后,整体文件结构如下: 4.3 运行查看 下面来运行cmake,不过这次先让我们切到build目录下: ...