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
原文地址:https://www.cnblogs.com/zzyoucan/p/7529338.html