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