MakeFile的制作

利用cmake制作makefile

  1. 在源代码目录下新建CMakeLists.txt,同时支持windows和linux
cmake_minimum_required(VERSION 2.8)

if(${WIN} STREQUAL "OFF")
    SET(CMAKE_C_COMPILER   "/usr/bin/gcc")
    SET(CMAKE_CXX_COMPILER "/usr/bin/g++")
endif(${WIN} STREQUAL "OFF")

set(TARGET_NAME DpMoniter)
project(${TARGET_NAME})

源代码目录下新建build文件夹
#windows环境下:   cmake -DWIN=ON  -DCMAKE_BUILD_TYPE=Release/Debug  ..
#非windows环境下: cmake -DWIN=OFF -DCMAKE_BUILD_TYPE=Release/Debug ..


if(${WIN} STREQUAL "ON")
    add_definitions(-D  UNIT_TEST)
    add_definitions(-D _DEBUG)
    add_definitions(-D _USE_STATIC_LIB)
    add_definitions(-D THREADED)
    add_definitions(-D CONSOLE)
endif(${WIN} STREQUAL "ON")

#添加CPP文件
aux_source_directory(.  DIR_SRC)


#添加头文件
include_directories("./")

#设置编译参数
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread")

#设置执行文件输出目录,bin,提前创建bin文件夹
SET(EXECUTABLE_OUTPUT_PATH ../bin) 

#执行编译
add_executable(${TARGET_NAME} ${DIR_SRC} ${SRC_BLL} ${SRC_COM} ${SRC_NET} ${SRC_RTCM} ${SRC_UTIL})

#设置DEBUG版(g)和RELEASE版(r)的后缀
set_target_properties(${TARGET_NAME} PROPERTIES DEBUG_POSTFIX "_g")
set_target_properties(${TARGET_NAME} PROPERTIES RELEASE_POSTFIX "_r")

#windows和linux分别设置链接库位置
if(${WIN} STREQUAL "ON")
   
elseif(${WIN} STREQUAL "OFF")

endif(${WIN} STREQUAL "ON")

2.在build文件夹下

cmake  -DWIN=OFF ..

3.直接make

make

你可能感兴趣的:(MakeFile的制作)