cmake实战第二篇:让我们的代码更像个工程

为工程添加以下文件夹:

   bin 用来放编译好的可执行二进制文件。
   src 用来放源代码。
   lib 用来放编译好的库文件。
   include 用来放头文件。
sudo mkdir -p /code_test/cmake
cd  /code_test/cmake
sudo mkdir p2
cd p2
sudo mkdir bin src lib include
touch CMakeLists.txt  //要把目录结构告诉cmake。所以在代码根目录下写一个CMakeLists.txt。cmake在生成代码时,会读这个文件,并按照它来编译你的代码。
 

 

在src目录下建个main.cpp文件

//main.cpp文件

#include <iostream>
using namespace std;  
int main(int argc, char**argv)
{
    cout<<"Hello Cmake!"<<endl;
    return 0;
}

 

//src目录下的CMakeLists.txt: 

ADD_EXECUTABLE( main main.cpp )

 

//根目录下的CMakeLists.txt:

CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) #设定版本
PROJECT( HELLO) 
SET( CMAKE_CXX_COMPILER "g++") #设定编译器    
SET( EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)     

#设定存放编译出来的库文件的目录
SET( LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 

#并且把该目录设为连接目录
LINK_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib)
    
#设定头文件目录
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/include)
    
#增加子文件夹,也就是进入源代码文件夹继续构建
ADD_SUBDIRECTORY( ${PROJECT_SOURCE_DIR}/src)

 

编译:

mkdir build
cd build
cmake ..
make

到bin文件夹下
cd ..
cd bin
运行:
./main

 

 

 

posted @ 2016-06-03 21:23  jason来自星星  阅读(1489)  评论(0编辑  收藏  举报