cmake_minimum_required(VERSION3.28)project(testprj)message(STATUS"CMAKE_BINARY_DIR = ${CMAKE_BINARY_DIR}")message(STATUS"CMAKE_CURRENT_SOURCE_DIR = ${CMAKE_CURRENT_SOURCE_DIR}")try_compile(COMPILE_SUCCEEDED${CMAKE_BINARY_DIR}/test_compile${CMAKE_CURRENT_SOURCE_DIR}/test_compile.cppOUTPUT_...
2.1LENGTH:子命令LENGTH用于读取列表长度 list (LENGTH <list> <output variable>) #<output variable>为新创建的变量,用于存储列表的长度。 执行结果 2.2GET:子命令GET用于读取列表中指定索引的的元素,可以指定多个索引。 list (GET <list> <element index> [<element index> ...] <output variable>) # ...
将当前编译的静态库或者动态库输出到当前项目文件夹lib子目录下 其中LIBRARY_OUTPUT_PATH,PROJECT_SOURCE_DIR都是CMake中的缓存变量(cache variable),代表用户可以修改。(内置变量不可以修改) 指定可执行程序编译输出目录 示例 set(EXECUTABLE_OUTPUT_PATH${PROJECT_SOURCE_DIR}/bin) 将当前可执行程序输出到当前项目文件...
] <output variable>) list(APPEND <list> [<element> ...]) list(FIND <list> <value> <output variable>) list(INSERT <list> <element_index> <element> [<element> ...]) list(REMOVE_ITEM <list> <value> [<value> ...]) list(REMOVE_AT <list> <index> [<index> ...]) list(REMOVE...
[OUTPUT_VARIABLE <var>] [RETURN_VALUE <var>]) 用于在指定的目录运行某个程序,通过ARGS添加参数,如果要获取输出和返回值,可通过 OUTPUT_VARIABLE和RETURN_VALUE分别定义两个变量. 举个简单的例子,我们要在src目录执行ls命令,并把结果和返回值存下来。
message(STATUS "OUTPUT_VARIABLE is: ${_hello_world}") 调试的一个便捷替代方法是使用以下内容: 代码语言:javascript 复制 include(CMakePrintHelpers) cmake_print_variables(_status _hello_world) 这将产生以下输出: 代码语言:javascript 复制 -- _status="0" ; _hello_world="Hello, world!" ...
命令:aux_source_directory(<dir> <variable>) 作用:查找dir路径下的所有源文件,保存到variable变量中. 上面的例子中,hello_src是一个自定义变量,在执行了aux_source_directory(./src ${hello_src})之后,我就可以像这样来添加一个可执行文件:add_executable(hello ${hello_src}), 意思是用hello_src里面的所有...
[OUTPUT_VARIABLE <var>]) 尝试建立一个项目。的成功或失败try_compile,即TRUE或FALSE分别返回<resultVar>。 在这种形式下,<srcdir>应包含一个完整的CMake项目,以及一个 CMakeLists.txt文件和所有源代码。执行 此命令后,<bindir>和<srcdir>将不会被删除。指定<targetName>构建特定的目标,而不是allor ALL_BU...
OUTPUT_VARIABLE${_git_hash}OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET WORKING_DIRECTORY${CMAKE_CURRENT_SOURCE_DIR})endif()endmacro()# 获取当前版本提交序号:(类似SVN的全局版本号revision)macro(get_git_rev _git_rev)find_package(Git QUIET)if(GIT_FOUND)execute_process(COMMAND${GIT_EXECUTABLE}rev-...
variable:将从dir目录下搜索到的源文件列表存储到该变量中 cmake_minimum_required(VERSION3.0)project(CALC)include_directories(${PROJECT_SOURCE_DIR}/include)# 搜索 src 目录下的源文件aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/src SRC_LIST)add_executable(app${SRC_LIST}) ...