1. CMAKE_C_COMPILER:指定C编译器 2. CMAKE_CXX_COMPILER:指定C++编译器 3. CMAKE_C_FLAGS:编译C文件时的选项,如-g;也可以通过add_definitions添加编译选项 如:SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -pthread") 4. EXECUTABLE_OUTPUT_PATH:可执行文件的存放路径 5. LIBRARY_OUTPUT_PA...
MESSAGE(STATUS"Without OpenMP")SET(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -DMAX_OPENMP_NUM_THREADS=1 -DOPENMP_NUM_THREADS=1")SET(CMAKE_C_FLAGS"${CMAKE_C_FLAGS} -DMAX_OPENMP_NUM_THREADS=1 -DOPENMP_NUM_THREADS=1")ENDIF(OPENMP_FOUNDANDWITH_OPENMP)#头文件载入include_directories("${PROJECT_...
SET(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -std=c++0x”) 如果想要生成的可执行文件拥有符号表,可以gdb调试,就直接加上这句 add_definitions("-Wall -g") --- CMAKE_CXX_FLAGS 参数说明 CXXFLAGS 表示用于 C++ 编译器的选项 -O2 优化级别 -g 带有调试符号 -fPIC 生成可用于共享库的位置独立代码 作用...
当这个变量值为Release的时候,工程会使用变量CMAKE_CXX_FLAGS_RELEASE和CMAKE_CFLAGS_RELEASE选项生成Makefile。 现在假设项目中只有一个文件main.cpp,下面是一个可以选择生成debug版和release版的程序的CMakeList.txt: 1 PROJECT(main) 2 CMAKE_MINIMUM_REQUIRED(VERSION 2.6) 3 SET(CMAKE_SOURCE_DIR .) 4 5 ...
cmake_minimum_required(VERSION 3.1) #项目名 project(libhello) # 1、指定库的目录变量 set(libhello_src src/hello.cxx) # 指定头文件搜索路径 include_directories("${PROJECT_SOURCE_DIR}/include") # 2、添加库(对应的两个项目) add_library( hello_shared SHARED ${libhello_src}) ...
5. SET(CMAKE_C_FLAGS_DEBUG “-g -Wall”) 设置编译器的类型 CMAKE_C_FLAGS_DEBUG —- C 编译器 CMAKE_CXX_FLAGS_DEBUG —- C++ 编译器 6. ADD_SUBDIRECTORY(utility) 添加要编译的子目录 为工程主目录下的存放源代码的子目录使用该命令,各子目录出现的顺序随意。
可以通过add_definitions指令来添加预处理器定义,或者通过set指令来设置特定的编译选项。 cmake add_definitions(-DENABLE_FEATURE) # 添加预处理器定义 # 或者设置特定的编译选项 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") 8. 自动化添加源文件 如果你希望CMake自动添加项目中的所有源文件,...
set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -L${CMAKE_CURRENT_SOURCE_DIR}/libs") 8. 设置 target 需要链接的库 target_link_libraries(# 目标库demo# 目标库需要链接的库# log-lib 是上面 find_library 指定的变量名${log-lib}) 在Windows下,系统会根据链接库目录,搜索xxx.lib文件,Linux下会搜索xxx....
set(ENV{<variable>} [<value>]) 使用样例: set(CMAKE_CXX_COMPILER D:/MinGW/bin/g++) (4) file 含义:定义对文件系统的文件和路径的操作,可以结合Linux指令对文件的操作去理解。 语法: file(READ <filename> <out-var> [...]) file({WRITE | APPEND} <filename> <content>...) ...
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") # 或者针对特定目标设置编译选项 set_target_properties(MyExecutable PROPERTIES COMPILE_FLAGS "-Wall -Wextra") 添加子目录 如果你的项目有多个子目录,每个子目录中都有自己的 CMakeLists.txt 文件,你可以使用 add_subdirectory 命令: add_subdire...