# 设置当前目录属性为当前源代码目录set_property(DIRECTORY PROPERTY CURRENT_DIRECTORY${CMAKE_CURRENT_SOURCE_DIR}) 其中,有一个专用于设置目录属性的命令: set_directory_properties(PROPERTIES prop1 value1 [prop2 value2] ...) 在键值对中设置当前目录及其子目录的属性。 另请参阅set_property(DIRECTORY)命令。
-- PROPERTY : PARENT_DIRECTORY -- PROPERTY : PASS_REGULAR_EXPRESSION -- PROPERTY : PCH_INSTANTIATE_TEMPLATES -- PROPERTY : PCH_WARN_INVALID -- PROPERTY : PDB_NAME -- PROPERTY : PDB_NAME_<CONFIG> -- PROPERTY : PDB_OUTPUT_DIRECTORY -- PROPERTY : PDB_OUTPUT_DIRECTORY_<CONFIG> -- PROPERTY...
2.静态库 lib 输出路径: set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) 1. 3.动态库输出路径(注意这个放在最后): SET_TARGET_PROPERTIES(dllname PROPERTIES RUNTIME_OUTPUT_DIRECTORY ../bin) 1. 4.上面两条语句分别设置了Debug版本和Release版本下库文件的后缀名 set(CMAKE_DEBUG_POST...
aux_source_directory(文件夹名称 源文件存放变量名) #例子1,将driver目录下源文件(*.c或者*.cpp装载到SRC_LIST中) aux_source_directory(driver SRC_LIST) #例子2,将当前CMakeLists.txt目录下源文件(*.c或者*.cpp装载到SRC_LIST中) aux_source_directory(. SRC_LIST) #方式2:直接设置变量包含的源文件 se...
>> SET_TARGET_PROPERTIES(ss7gw PROPERTIESRUNTIME_OUTPUT_DIRECTORY "${BIN_DIR}")11) 很多文件夹,难道需要把每个文件夹编译成一个库文件?>> 可以不在子目录中使用CMakeList.txt,直接在上层目录中指定子目录12) 怎样设定依赖的cmake版本>>cmake_minimum_required(VERSION 2.6)...
SET_TARGET_PROPERTIES(hello PROPERTIES VERSION 1.2 SOVERSION 1)#向工程添加多个特定的头文件搜索路径。系统默认的头文件路径是/usr/include和/usr/local/include,如果不是,需要在Cmakelist中显式的定义。INCLUDE_DIRECTORIES([AFTER|BEFORE] [SYSTEM] dir1 dir2 ...)#将目标文件链接到第三方库,非常重要的...
1.1 CMake构建后的目录结构(Directory Structure After CMake Build) CMake构建完成后,会在项目的根目录下生成一个名为build的目录。这个目录是CMake构建过程中所有中间文件和最终生成的目标文件的存放地。下面我们将详细解析这个目录的结构。 首先,我们来看一下build目录的一级子目录: ...
>> SET_TARGET_PROPERTIES(ss7gw PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${BIN_DIR}") 11) 很多文件夹,难道需要把每个文件夹编译成一个库文件? >> 可以不在子目录中使用CMakeList.txt,直接在上层目录中指定子目录 12) 怎样设定依赖的cmake版本 >>cmake_minimum_required(VERSION 2.6) ...
CMake官方不建议用aux_source_directory及类似命令(file(GLOB_RECURSE …))搜索源文件。因为这样子文件夹的变化不容易被感知到,从而无法触发重新构建。比如被搜索的路径下添加源文件,此时没有修改CMakeLists脚本,但是CMakeLists并不需要(没有)变化,构建系统无法察觉到新加的文件,除非手动重新运行cmake,否则新添加的文...
target相应的properties 可见性 所谓target就是编译的目标,一般就三种: 代码语言:javascript 复制 静态库:使用add_library()动态库:使用add_library()指定SHARED关键字可执行文件:使用add_executable 所谓properties就是target的属性,最常见的有以下五种: 代码语言:javascript ...