//示例1:set(ENV{CXX}"clang++")unset(ENV{VERBOSE})//示例2:set(ENV{CMAKE_PATH}"myown/path/example")# 判断CMAKE_PATH环境变量是否定义if(DEFINEDENV{CMAKE_PATH})//注意此处ENV前没有$符号message("CMAKE_PATH_1: $ENV{CMAKE_PATH}")//注意此处ENV前有$符号else()message("NOT DEFINED CMAKE_...
set(VARIABLE_NAME value [CACHE_TYPE [CACHE_VARIABLE]]) VARIABLE_NAME:变量的名称。 value:为变量赋予的值。 CACHE_TYPE(可选):指定缓存变量的类型,如 FILEPATH、PATH、STRING、BOOL 等。 CACHE_VARIABLE(可选):如果指定,变量将被存储在 CMake 缓存中,而不是只限于当前的 CMakeLists.txt 文件。 后两项我...
EXCLUDE_FROM_ALL参数的含义是将这个目录从编译过程中排除,比如,工程中的example,可能就需要工程构建完成后,再进入example目录单独进行构建(当然,你可以通过定义依赖来解决此类问题)。 上面的例子定义了将src子目录加入工程,并指定编译输出(包含编译中间结果)路径为bin目录。如果不进行bin目录的指定,那么编译结果(包括中间...
cmake_minimum_required(VERSION3.1...3.24)#项目声明:项目名/版本号/编码语言project(ModernCMakeExampleVERSION1.0LANGUAGESC++)#把源代码添加进构建的目标库add_library(MyLibExample simple_lib.cpp simple_lib.hpp)#生成可执行文件add_executable(MyExample simple_example.cpp)#设置链接生成的库文件的名称target_li...
set(MY_FILE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/data/example.txt")#设置变量指向文件路径 set(ASSETS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/assets")#设置变量指向目录路径 MY_FILE_PATH 和ASSETS_DIR是定义的变量名。 ${CMAKE_CURRENT_SOURCE_DIR} 是 CMake 的内置变量,指向当前处理的 CMakeLists.txt 文...
set (cf_example_VERSION "${cf_example_VERSION_MAJOR}.${cf_example_VERSION_MINOR}.${cf_example_VERSION_PATCH}")#调用configure_file函数,将输入文件ver.h.in生成输出文件ver.h#ver.h.in中允许使用像CMake变量一样的${}或@@定义变量configure_file(ver.h.in ${PROJECT_BINARY_DIR}/ver.h)#调用conf...
# cmake needs this linecmake_minimum_required(VERSION3.1)# Define project nameproject(opencv_example_project)# Find OpenCV, you may need to set OpenCV_DIR variable# to the absolute path to the directory containing OpenCVConfig.cmake file# via the command line or GUIfind_package(OpenCV REQUIRED...
# source_dir 存放源文件的子目录; binary_dir 指定中间二进制和目标二进制存放位置; # EXCLUDE_FROM_AL 将这个目录从编译过程中排除,例 example 目录,工程构建完成后单独构建 add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL]) add_executable 生成可执行文件 # exename 生成的可执行文件; source...
set(cf_example_VERSION_PATCH1) set(cf_example_VERSION"${cf_example_VERSION_MAJOR}.${cf_example_VERSION_MINOR}.${cf_example_VERSION_PATCH}") # Call configure files on ver.h.in to set the version. # Uses the standard ${VARIABLE} syntax in the file ...
IfCMakePresets.jsonis your active configuration file, you need to set the path tovcpkg.cmakeinCMakePresets.json. We recommend using theVCPKG_ROOTenvironment variable instead of an absolute path to keep the file shareable. For more information, seeEnable vcpkg integration with CMake Presets.CMake...