set_target_properties()完整
时间: 2023-08-31 20:22:40 浏览: 114
`set_target_properties()`是CMake中用来设置目标属性的函数。它的语法如下:
```
set_target_properties(target1 target2 ...
PROPERTIES prop1 value1
prop2 value2
...)
```
其中,`target1`, `target2`等是要设置属性的目标,`prop1`, `prop2`等是要设置的属性名,`value1`, `value2`等是对应属性的值。
下面是一个`set_target_properties()`函数的完整示例:
```
set_target_properties(myTarget PROPERTIES
CXX_STANDARD 11
CXX_STANDARD_REQUIRED ON
VERSION 1.0.0
SOVERSION 1
PUBLIC_HEADER include/myHeader.h
OUTPUT_NAME myLib
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
)
```
这个示例中,我们设置了一个名为`myTarget`的目标的属性。具体的属性设置如下:
- `CXX_STANDARD`和`CXX_STANDARD_REQUIRED`分别指定了C++标准的版本和是否要求编译器强制使用指定的标准。
- `VERSION`和`SOVERSION`分别指定了库的版本和API版本。
- `PUBLIC_HEADER`指定了库的公共头文件。
- `OUTPUT_NAME`指定了生成的库文件的名称。
- `ARCHIVE_OUTPUT_DIRECTORY`、`LIBRARY_OUTPUT_DIRECTORY`和`RUNTIME_OUTPUT_DIRECTORY`分别指定了静态库、动态库和可执行文件的输出目录。
这些属性的具体含义可以参考CMake文档中的说明。
阅读全文