提供find_package搜索第三方库时使用的路径 五,开发场景中常见的CMakeList样例 场景一,简单应用 代码语言:javascript 代码运行次数:0 运行 AI代码解释 cmake_minimum_required(VERSION3.1...3.24)#项目声明:项目名/版本号/编码语言project(ModernCMakeExampleVERSION1.0LANGUAGESC++)#把源代码添加进构建的目标库add_libr...
五,开发场景中常见的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所在目录下包含了一个子目录source_dir,这样source_dir下的源文件和CMakeLists.txt等也会被处理。EXCLUDE_FROM_ALL参数的含义是将这个目录从编译过程中排除,比如,工程的example,可能就需要工程构建完成后,再进入example目录单独进行构建。 INSTALL 用于定义安装规则,安装的内容可以包括目标二进制、动态...
STATUS, 输出前缀为—的信息 FATAL_ERROR, 立即终止所有cmake过程ADD_EXECUTABLEADD_EXECUTABLE(bin_file_name ${SRC_LIST}) 生成可执行文件ADD_LIBRARYADD_LIBRARY(libname [SHARED| STATIC |MODULE] [EXCLUDE_FROM_ALL] SRC_LIST)生成动态库或静态库SHARED 动态库 STATIC 静态库MODULE 在使用dyld的系统有效,若不...
例如,假设你想要查找名为libexample的库,它在/usr/local/lib目录中。 这里的绝对路径可以使用${CMAKE_CURRENT_LIST_DIR}等变量转化为相对路径。你可以在CMakeLists.txt文件中添加以下命令: find_library(EXAMPLE_LIB libexample /usr/local/lib) 这个命令会将libexample库的路径保存到变量EXAMPLE_LIB中。如果找不...
定义了一个为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(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") add_subdirectory(src bin) 设置好之后,让我们为src目录填写列表文件: 第九章/01-格式化/src/CMakeLists.txt 代码语言:javascript 复制 add_executable(main main.cpp) include(Format) ...
list(APPEND example_plugin_SOURCES cmake.toml ) set(CMKR_SOURCES ${example_plugin_SOURCES}) add_library(example_plugin SHARED) if(example_plugin_SOURCES) target_sources(example_plugin PRIVATE ${example_plugin_SOURCES}) endif() source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES $...
cmake中的列表也是字符串,不过,通过list(APPEND)得到的列表字符串,可以用foreach来遍历其中每个字符串。举例: foreach(loop_var arg1 arg2 arg3)message(STATUS"--- ${loop_var}")endforeach(loop_var)foreach(loop_var${SNPE_LIB_ALL})message(STATUS"--- ${loop_var}")endforeach(loop_var) ...