[NO_CMAKE_SYSTEM_PATH] [CMAKE_FIND_ROOT_PATH_BOTH | ONLY_CMAKE_FIND_ROOT_PATH | NO_CMAKE_FIND_ROOT_PATH] ) 例子如下: FIND_LIBRARY(RUNTIME_LIB rt /usr/lib /usr/local/lib NO_DEFAULT_PATH) cmake 会在目录中查找,如果所有目录中都没有,值 RUNTIME_LIB 就会被赋为 NO_DEFAULT_PATH 4....
set(gRPC_BUILD_TESTS OFF CACHE BOOL "disable benchmark testing" FORCE) # 定义变量gRPC_BUILD_TESTS set(GRPC_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/grpc) # 定义变量GRPC_ROOT_DIR #将${PROTOBUF_ROOT_DIR}目录添加到构建系统中,并指定binary_dir=third_party/grpc add_subdirectory(${PRO...
04 SET(CMAKE_MODULE_PATH ${CMAKE_ROOT}/Modules${CMAKE_SOURCE_DIR}/cmake/modules) 05 AUX_SOURCE_DIRECTORY(. DIR_SRCS)06 ADD_EXECUTABLE(main ${DIR_SRCS})07 08 FIND_PACKAGE( libdb_cxx REQUIRED)09 MARK_AS_ADVANCED(10 LIBDB_CXX_INCLUDE_DIR11 LIBDB_CXX_LIBRARIES12 )13 IF (LIBDB_CXX_...
2. File: /root/examples/chapter02/08-definitions/function.cmake3. FirstArg: Value14. FirstArg again: new value5. ARGV0: Value1 ARGV1: Value2 ARGC: 26. FirstArg in global scope: first value 由上例我们可以得到两个重要的事实:第一,函数中对全局变量的修改只停留在函数作用域中,在函数结束...
CMake可以用来生成构建系统(Buildsystem),默认是生成Makefile。但是也可以生成不同的构建系统,使用-G...
if (IS_DIRECTORY ${root_dir}/${sub}) include_sub_directories_recursively(${root_dir}/${sub}) # 对子目录递归调用,包含 endif() endforeach() endfunction() 使用如下: # 递归包含工程文件夹下的头文件,这里直接把CMakelist.txt所在文件夹下的文件夹都包含 ...
在项目的构建过程中都使用shell级别的环境变量。通常,项目具有指向根目录位置的PROJECT_ROOT环境变量。还有配置可选或外部程序包。要使构建正常进行,每次执行构建时都需要设置所有这些外部变量。所有CMakeFile在配置阶段解决了这个问题。 先来窥探下CMakeCache.txt的构成,CmakeCache.txt由两部分构成:External Cache Entrie...
语法:link_directories(directory1 directory2 ...)它相当于g++命令的-L选项的作用,也相当于环境变量中增加LD_LIBRARY_PATH的路径的作用。 代码语言:javascript 复制 link_directories("/home/server/third/lib") 3. 查找库所在目录FIND_LIBRARY 语法:
NO_CMAKE_FIND_ROOT_PATH] ) 例子如下: FIND_LIBRARY(RUNTIME_LIB rt /usr/lib /usr/local/lib NO_DEFAULT_PATH) 1. cmake会在目录中查找,如果所有目录中都没有,值RUNTIME_LIB就会被赋为NO_DEFAULT_PATH 4. 添加需要链接的库文件路径LINK_LIBRARIES ...
file(MAKE_DIRECTORY [...]) 使用样例: file(WRITE test.txt "Test Write\n" ) (5) option 含义:提供用户可以选择的布尔选项。 语法: option(<variable> "<help_text>" [value]) 使用样例: option(TEST_DEBUG "option for debug" OFF) (6) ...