CMake基本语法

  1. CMake和autotools是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量;
  2. cmake可以生成跨平台的编译配置文件,包括windows和mac;
  3. 建议统一使用外部编译,即新建build文件夹,不对原有工程有任何文件改动、新增或删减文件等;
  4. 隐式声明的两个变量:PROJECT_SOURCE_DIR源码目录和PROJECT_BINARY_DIR编译目录
  5. 自定义变量:SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/BIN)
  6. 编译动态库ADD_LIBRARY(hello SHARED $(LIBHELLO_SRC}),静态库是STATIC;
  7. 如何给编译好的动态库加版本号?
  8. 如何通过SET_TARGET_PROPERTIES同时构建同名的动态库和静态库;
  9. 添加头文件目录INCLUDE_DIRECTORIES(directory1 directory2 ...)
  10. TARGET_LINK_LIBRARIES(main libhello.a),编译main的target需要链接的静态库;
  11. 如何打印输出信息MESSAGE(STATUS "Home dir:$ENV{HOME}");
  12. 向C++编译器添加-D定义:ADD_DEFINITIONS(-DENABLE_DEBUG);
  13. FILE指令可以进行文件操作;
  14. IF WHILE FOREACH等语句的使用
原文地址:https://www.cnblogs.com/jiayayao/p/13899602.html