zoukankan      html  css  js  c++  java
  • cmake学习

    cmake是个很好的编译工具,自己写makefile这个太麻烦,不可取

    cmake学习
    
    PROJECT(projectname) //指定工程的名字,之后会自动定义两个变量
    projectname_BINARY_DIR //编译目录
    projectname_SOURCE_DIR //工程目录
    
    MESSAGE:打印变量语句
    SET(ALL_CODE_LIST hello.cpp,hello.h) //指定所有源文件
    SET(LIBRIES /usr/lib/....so) //指定链接库
    ADD_EXECUTABLE:添加可执行文件
    ADD_EXECUTABLE(hello ${ALL_CODE_LIST}) //hello 可执行文件名 ALL_CODE_LIST需要链接的源文件
    TARGET_LINK_LIBRARIES(hello ${LIBRIES})//可执行文件需要的链接库
    SET(EXECUTABLE_OUTPUT_PATH, "${CMAKE_BINARY_DIR}/bin") //更改可执行文件的输出目录,CMAKE_BINARY_DIR就是编译目录projectname_BINARY_DIR
    AUX_SOURCE_DIRECTORY(directory VAR)//将指定directory目录下的所有源文件保存到VAR变量中
    AUX_SOURCE_DIRECTORY(.DIR_SRCS)//将当前目录下的所有源文件保存到DIR_SRCS中
    AUX_SOURCE_DIRECTORY(./hello/src HELLO_LIB_CPP)
    
    cmake_minimum_required(VERSION 2.6)
    IF(WIN32)
        MESSAGE(FATAL_ERROR "windows is stupid")
    ELSEIF(UNIX)
        MESSAGE(STATUS "This is Linux")
    ENDIF(WIND32)
    
    PROJECT(demoB)    
    INCLUDE_DIRECTORIES(./include) //将指定的路径添加到编译器搜索include文件(.h文件)的路径列表中
    AUX_SOURCE_DIRECTORY(./src CPP_FILES)//将src目录下的源文件保存到 CPP_FILES中
    ADD_SUBDIRECTORY://打开子目录,执行子目录下的CMkaeList.txt
  • 相关阅读:
    谈谈Nginx有哪些特点
    网站嵌入百度地图制作
    8张图理解Java
    linux问题-easy_install安装bpython时报错
    linux问题-Centos 安装Sublime text 3
    python例子-Nmap扫描IP并更新
    python例子-PyQuery抓取信息.
    python例子-MySQLdb和练习题
    python例子-线程和队列
    mysql问题-centos7中mysql远程连接问题
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/7529338.html
Copyright © 2011-2022 走看看