提供find_package搜索第三方库时使用的路径 五,开发场景中常见的CMakeList样例 场景一,简单应用 代码语言:javascript 代码运行次数:0 运行 AI代码解释 cmake_minimum_required(VERSION3.1...3.24)#项目声明:项目名/版本号/编码语言project(ModernCMakeExampleVERSION1.0LA
指明CMakeLists.txt所在目录下包含了一个子目录source_dir,这样source_dir下的源文件和CMakeLists.txt等也会被处理。EXCLUDE_FROM_ALL参数的含义是将这个目录从编译过程中排除,比如,工程的example,可能就需要工程构建完成后,再进入example目录单独进行构建。 INSTALL 用于定义安装规则,安装的内容可以包括目标二进制、动态...
五,开发场景中常见的CMakeList样例 场景一,简单应用 cmake_minimum_required(VERSION 3.1...3.24) #项目声明:项目名/版本号/编码语言 project( ModernCMakeExample VERSION 1.0 LANGUAGES C++) #把源代码添加进构建的目标库 add_library(MyLibExample simple_lib.cpp simple_lib.hpp) #生成可执行文件 add_executa...
#当前cmakelists.txt所在目录的所有.c .cpp源文件 AUX_SOURCE_DIRECTORY(. SRC_LIST) #增加其他目录的源文件到集合变量中 list(APPEND SRC_LIST ../common/1.c ../common/2.c ../common/3.c ../common/4.c ../common/5.c ../common/WriteLog.c ) #生成so库,直接使用变量代表那些.c文件集合 ad...
例如,假设你想要查找名为libexample的库,它在/usr/local/lib目录中。 这里的绝对路径可以使用${CMAKE_CURRENT_LIST_DIR}等变量转化为相对路径。你可以在CMakeLists.txt文件中添加以下命令: find_library(EXAMPLE_LIB libexample /usr/local/lib) 这个命令会将libexample库的路径保存到变量EXAMPLE_LIB中。如果找不...
CMAKE_CURRENT_LIST_LINE 输出这个变量所在的行 CMAKE_MODULE_PATH 定义自己的cmake模块所在的路径SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake),然后可以用INCLUDE命令来调用自己的模块 EXECUTABLE_OUTPUT_PATH 重新定义目标二进制可执行文件的存放位置 ...
定义了一个为hello的可执行文件,相关的源文件是SRC_LIST中定义的源文件列表。 本例可以简化为如下CMakeList.txt PROJECT(HELLO) ADD_EXECUTABLE(hello main.c) 4、基本的语法规则 使用${}方式来取得变量中的值,而在IF语句中则直接使用变量名。 指令(参数1 参数2 …) 参数之间使用空格或者分号分隔开。如果加...
list(APPEND installable_libs SqrtLibrary) endif() install(TARGETS ${installable_libs} EXPORT MathFunctionsTargets DESTINATION lib) install(FILES MathFunctions.h DESTINATION include) 1. 2. 3. 4. 5. 6. 7. 8. 9. 现在我们已经有MathFunctions被导出,我们还需要显式安装生成的MathFunctionsTargets.cmake...
list(APPENDGPU_ARCHS516175)foreach(arch ${GPU_ARCHS})set(GENCODES"${GENCODES} -gencode arch=compute_${arch},code=sm_${arch}")endforeach() 或者采用set命令来设置相关的目录信息: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 # 这里设置PROJECT_OUTPUT_DIR为 ${PROJECT_BINARY_DIR}/${C...
#list(APPEND CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/vcpkg_installed/x64-linux/share/gtest) find_package(Boost REQUIRED) include_directories(${Boost_INCLUDE_DIRS}) target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES}) ### 清单pkgconfig模式 ### find_package(PkgConfig REQUIRED) pkg_check...