2. 利用configure_file 文件获取CMake变量并进行宏配置 configure_file(<input><output>[NO_SOURCE_PERMISSIONS|USE_SOURCE_PERMISSIONS|FILE_PERMISSIONS<permissions>...][COPYONLY][ESCAPE_QUOTES][@ONLY][NEWLINE_STYLE[UNIX|DOS|WIN32|LF|CRLF]])option(<variable>"<help_text>"[value]) configure_file 会...
file(<COPY|INSTALL> <files>... DESTINATION <dir> [FILE_PERMISSIONS <permissions>...] [DIRECTORY_PERMISSIONS <permissions>...] [NO_SOURCE_PERMISSIONS] [USE_SOURCE_PERMISSIONS] [FOLLOW_SYMLINK_CHAIN] [FILES_MATCHING] [[PATTERN <pattern> | REGEX <regex>] [EXCLUDE] [PERMISSIONS <permissions>.....
USE_SOURCE_PERMISSIONS:将输入文件的权限传递给输出文件。如果没有给出 NO_SOURCE_PERMISSIONS、USE_SOURCE_PERMISSIONS 或 FILE_PERMISSIONS 中的任何一个关键字,这已经是默认行为。 FILE_PERMISSIONS <permissions>...:忽略输入文件的权限,使用指定的 <permissions> 替代输出文件的权限。 COPYONLY:仅复制文件,不替换任...
[USE_SOURCE_PERMISSIONS] [CONFIGURATIONS [Debug|Release|...]] [COMPONENT < component >] [[PATTERN < pattern > | REGEX < regex >] [EXCLUDE] [PERMISSIONS permissions...]] [...]) 1. 2. 3. 4. 5. 6. 7. 8. DIRECTORY后连接的是所在Source目录的相对路径,但务必注意:abc 和 abc/有很大...
install(DIRECTORY${STAGED_INSTALL_PREFIX}/DESTINATION.USE_SOURCE_PERMISSIONS) 我们使用SCRIPT参数声明一个额外的安装规则。CMake 脚本install_hook.cmake将被执行,但仅限于 GNU/Linux 和 macOS。该脚本将打印已安装可执行文件的RPATH并运行它。我们将在下一节中详细讨论这一点: ...
复制过程将保留输入文件的时间戳;并且如果目标路径处存在同名同时间戳的文件,复制命令会把它优化掉。赋值过程将保留输入文件的访问权限,除非显式指定权限或指定NO_SOURCE_PERMISSIONS选项(默认是USE_SOURCE_PERMISSIONS)。参见install(DIRECTORY)命令中关于权限(permissions),PATTERN,REGEX和EXCLUDE选项的文档。
configure_file(<input> <output>[NO_SOURCE_PERMISSIONS | USE_SOURCE_PERMISSIONS |FILE_PERMISSIONS <permissions>...][COPYONLY] [ESCAPE_QUOTES] [@ONLY][NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ]) 在这个命令中,是输入文件的路径,是输出文件的路径。这个命令会将文件复制到,并替换文件内容中的变量引用...
笔者强烈推荐直接使用PROJECT_BINARY_DIR与PROJECT_SOURCE_DIR,这样及时项目名称发生了变化,也不会影响CMakeLists.txt文件。 关于上面两个变量是否相同的问题,涉及到编译方法是内部编译还是外部编译。如果是内部编译,则上面两个变量相同;如果是外部编译,则两个变量不同。此处对内部编译与外部编译做出介绍: ...
USE_SOURCE_PERMISSIONS 拷贝的文件将与源文件的权限保持一致,但是优先使用FILE_PERMISSIONS参数。 MESSAGE_NEVER 不输出安装状态。 FILES_MATCHING 这个选项必须在PATTERN或者REGEX选项前给出,用以禁止安装不匹配的文件。即只安装符合匹配规则的文件。 PATTERN
[USE_SOURCE_PERMISSIONS] [CONFIGURATIONS [Debug|Release|...]] [COMPONENT <component>] [[PATTERN <pattern> | REGEX <regex>] [EXCLUDE] [PERMISSIONS permissions...]] [...]) 这里主要介绍其中的 DIRECTORY、PATTERN 以及 PERMISSIONS 参数。DIRECTORY 后面连接的是所在 Source 目录...