只使用Module模式: find_package(TBB MODULE REQUIRED) 只会寻找 FindTBB.cmake,搜索路径: ${CMAKE_MODULE_PATH}(默认为 /usr/share/cmake/Modules) 只使用Config模式: find_package(TBB CONFIG REQUIRED) 只会寻找 TBBConfig.cmake,搜索路径: ${CMAKE_PREFIX_PATH}/lib/cmake/TBB(默认为 /usr/lib/c...
CMAKE_MODULE_PATH 查找所有cmake模块文件的默认路径。(不包括config文件路径,包括cmake提供的文件) CMAKE_PREFIX_PATH 使用find_* 族函数查找的默认路径。 注意:此变量为list,影响了 find_package 的结果。 CMAKE_PROGRAM_PATH 使用find_program 查找可执行程序的默认路径。 至此,有关系统/编辑器和cmake默认参数...
如果指定了CMAKE_MODULE_PATH,就可以直接include该目录下的.cmake文件了。 #方法一 #将 cmake 子目录添加到CMake模块搜索的路径列表中 list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") #包括 colors.cmake 模块 set(result "") include(colors RESULT_VARIABLE result) message(STATUS ...
CMake支持创建静态库和动态库。默认情况下,add_library()命令会创建一个静态库。如果你想要创建一个动态库,你需要在命令中添加SHARED参数,例如:add_library(MyLib SHARED main.cpp)。 如果你想要同时创建静态库和动态库,你可以将它们都列出来,例如:add_library(MyLibStatic STATIC main.cpp)和add_library(MyLibSh...
CMAKE_CURRENT_LIST_DIR:CMakeList.txt的完整路径 CMAKE_CURRENT_LIST_LINE:当前所在的行 CMAKE_MODULE_PATH:如果工程复杂,可能需要编写一些cmake模块,这里通过SET指定这个变量 LIBRARY_OUTPUT_DIR,BINARY_OUTPUT_DIR:库和可执行的最终存放目录 PROJECT_NAME,CMAKE_PROJECT_NAME:前者是当前CMakeList.txt里设置的proj...
find_package(MyLib NO_MODULE) 上述代码表示禁用find_package命令的模块模式,只使用CMake内置的文件搜索机制来查找MyLib库。 NO_DEFAULT_PATH:可选参数,用于禁用find_package命令的默认路径搜索。默认情况下,find_package命令会在一些预定义的路径中搜索库或框架。如果指定了该参数,find_package命令将只使用CMAKE_PREF...
默认的搜索路径为 cmake 包含的系统库,因此如果是 NDK 的公共库只需要指定库的 name 即可。 代码语言:javascript 复制 find_library(# Sets the nameofthe path variable.log-lib # Specifies the nameoftheNDKlibrary that # you want CMake to locate.log) ...
搜索将从存储在CMAKE_MODULE_PATH变量中的路径开始(默认情况下这个变量是空的)。当项目想要添加和使用外部查找模块时,这个变量可以被项目配置。接下来,CMake 将扫描安装的 CMake 版本的内置查找模块列表。 如果没有找到适用的模块,该寻找相应的包配置文件了。CMake 有一长串适合宿主操作系统的路径,可以扫描与以下...
CMAKE_MODULE_PATH 用于搜索需要的 .cmake 模块; CMAKE_BUILD_TYPE 一般有 Debug、Release 什么的,看具体是为了开发人员进行开发、调试,还是发布给其他用户使用; BUILD_SHARED_LIBS 是否编译动态链接库 ON/OFF。 cmake 一般是在 source tree 的根目录下放置 CMakeLists.txt,并使用 ADD_SUBDIRECTORY 将含有 CMak...