public:it:cmake

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
public:it:cmake [2021/04/27 08:36] – [Tips] oakfirepublic:it:cmake [2024/09/03 14:06] (当前版本) – [CMake] oakfire
行 2: 行 2:
   * Official Site:[[https://cmake.org/|cmake.org]]      * Official Site:[[https://cmake.org/|cmake.org]]   
   * c++跨平台构建工具,开源[BSD]免费。   * c++跨平台构建工具,开源[BSD]免费。
 +  * CMake [[https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html|变量列表]]: 
 +  * CMake 变量的作用域:[[https://cmake.org/cmake/help/latest/manual/cmake-language.7.html#cmake-language-variables|cmake-language-variables]] 
 +    * 父目录里的绑定变量默认会传到子目录的CMakefile作为初始值 
 +  * find_package 默认支持的列表:''cmake --help-module-list | grep -E ^Find''
 ===== Tips ===== ===== Tips =====
   * MSVC中, cmake 默认生成的 release 工程不生成 pdb 文件,可如下添加<code cmake>   * MSVC中, cmake 默认生成的 release 工程不生成 pdb 文件,可如下添加<code cmake>
行 127: 行 130:
 target_link_libraries(c ab) # 此时 c 工程就包含了a.lib, b.lib target_link_libraries(c ab) # 此时 c 工程就包含了a.lib, b.lib
 </code> </code>
-  * [[https://stackoverflow.com/questions/26037954/cmake-target-link-libraries-interface-dependencies|target_link_libraries PUBLIC/PRIVATE/INTERFACE 的区别]]:当创建动态库时, +  * [[https://stackoverflow.com/questions/26037954/cmake-target-link-libraries-interface-dependencies|target_link_libraries PUBLIC/PRIVATE/INTERFACE 的区别]]:当创建**动态库**时, 
-    * 如果源文件(例如CPP)中包含第三方头文件,但头文件(例如hpp)中不包含该第三方文件,采用PRIVATE +    * 如果源文件包含第三方头文件,但头文件中不包含该第三方文件,采用 PRIVATE 
-    * 如果源文件和头文件中都包含该第三方文件,采用PUBLIC +    * 如果源文件和头文件中都包含该第三方文件,采用 PUBLIC 
-    * 如果头文件中包含该第三方文件,但源文件(例如CPP)中不包含,采用 INTERFACE。+    * 如果头文件中包含该第三方文件,但源文件中不包含,采用 INTERFACE。
  
  • public/it/cmake.1619483816.txt.gz
  • 最后更改: 2021/04/27 08:36
  • oakfire