zoukankan      html  css  js  c++  java
  • 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等语句的使用
  • 相关阅读:
    JavaScript对象继承的实现
    Redis资料
    Difference between LINQ to SQL and the Entity Framework
    闭包,懂不懂由你,反正我是懂了
    Castle资料
    csu 1242 碱基配对
    csu 1242 碱基配对——一个错误的解答
    [转载]zoj 分类
    计算素数
    魔方阵
  • 原文地址:https://www.cnblogs.com/jiayayao/p/13899602.html
Copyright © 2011-2022 走看看