CMakeList 編寫和debug release區分

cmake_minimum_required(VERSION 2.6)

PROJECT(active_service)
EXECUTE_PROCESS(COMMAND git log -1 --pretty=format:%h  OUTPUT_VARIABLE version)
add_definitions(-DACTIVE_GIT_VERSION=${version})

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -Wall")

AUX_SOURCE_DIRECTORY(. main)
AUX_SOURCE_DIRECTORY(./common common)
AUX_SOURCE_DIRECTORY(./network network)
AUX_SOURCE_DIRECTORY(./service service)

LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/../3rdparty/mysql64/lib/mysql ${PROJECT_SOURCE_DIR}/../3rdparty/jsoncpp/lib
                 ${PROJECT_SOURCE_DIR}/../3rdparty/mxml-2.9  ${PROJECT_SOURCE_DIR}/../common
                 ${PROJECT_SOURCE_DIR}/../common/newdbhelper
        ${PROJECT_SOURCE_DIR}/../3rdparty/dtc/lib 
${PROJECT_SOURCE_DIR}/../3rdparty/JMA/lib ${PROJECT_SOURCE_DIR}/stat )

ADD_EXECUTABLE(active_service ${main} ${common} ${network} ${service})


target_include_directories(active_service PUBLIC
../3rdparty/mysql64/include/mysql  ../3rdparty/jsoncpp/include
../3rdparty/mxml-2.9 ../common ../common/newdbhelper ../3rdparty/dtc/include
../3rdparty/JMA/include stat/)
target_link_libraries(active_service dtc jma dbproxy jsoncpp pthread mxml
common libmysqlclient.a stat)
#add_library(active_service STATIC dbproxy jsoncpp mysqlclient mxml common)
#add_library(active_service SHARED pthread)

#add link library

區分debug和release

mkdir Debug
cd Debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
mkdir Release
cd Release
cmake -DCMAKE_BUILD_TYPE=Release ..
make
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章