SET(CMAKE_BUILE_TYPE RELEASE) #指定编译类型
DEBUG/RELESAE
#设置输出路径
#可执行文件的输出路径
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/exe)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/exe)
#生成静态链接库/动态链接库的输出路径
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
____________________________________________________________________________________________
只有一个源文件的情况
第一个程序:在文件名为“project”下只有一个文件first.cpp
<span style="font-size:18px;">#include<iostream> using namespace std; int main() { cout<< "hello World"<<endl; return 0; }</span>
在project文件夹下创建CMakeLists.txt:
注:用#在CMakeLists.txt文件中进行注释
第一种写法:
PROJECT(hello) #hello
ADD_EXECUTABLE(hello first.cpp)#生成hello的可执行文件
第二种写法:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(first)
SET(SRC_LIST first.cpp)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/exe)#
${PROJECT_SOURCE_DIR}代表工程的目录,可执行 文件被自动放置在工程目录下的exe文件夹下
ADD_EXECUTABLE(hello ${SRC_LIST})
然后在Ubuntu下,执行
cmake .
make
注:cmake .点代表当前目录,生成makefile文件,make命令,生成可执行文件hello
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
也可以在“projrct”文件夹下,建立build文件夹,在build文件夹下,执行
cmake ..
make
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
____________________________________________________________________________________________
第二个程序:在文件名“project”下有两个文件夹【工程存放目录】 :“include”和“src”文件夹。
注: "include" #在include文件夹下存放的是.h的头文件
"src" #在src文件夹下存放的是.cpp的
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(zhangping)
#head files,头文件的目录
INCLUDE_DIRECTORIES(include)
#source files,源文件目录
AUX_SOURCE_DIRECTORY(src DIR_SRCS)
SET(zhang
${DIR_SRCS}) #设置变量,把DIR_SRCS
#设置可执行文件的输出路径
SET(EXECUTABLE_OUTPUT_PATH
${PROJECT_SOURCE_DIR}/exe)
ADD_EXECUTABLE(a ${zhang})
———————————————————————————————————————————————————
第二个程序:在文件名“project”下有三个文件夹【工程存放目录】 :“include”、“src”文件夹、“test”文件夹。
其中:“include”文件夹下存放头文件,“src”文件夹下存放源文件,“test”文件夹下存放测试程序