129 lines
4.1 KiB
CMake
129 lines
4.1 KiB
CMake
|
|
cmake_minimum_required(VERSION 2.6)
|
|||
|
|
project(logicserver)
|
|||
|
|
add_definitions(-std=c++11)
|
|||
|
|
# Avoid warnings in higher versions
|
|||
|
|
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.6)
|
|||
|
|
CMAKE_POLICY(VERSION 2.8)
|
|||
|
|
endif()
|
|||
|
|
MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}")
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
if( NOT CMAKE_BUILD_TYPE )
|
|||
|
|
set(CMAKE_BUILD_TYPE "Release")
|
|||
|
|
endif()
|
|||
|
|
|
|||
|
|
add_definitions(-D_GNU_SOURCE -D_REENTRANT)
|
|||
|
|
|
|||
|
|
|
|||
|
|
#is or not shared type
|
|||
|
|
if( BUILD_SHARED_LIBS )
|
|||
|
|
SET ( LIBS_TYPE SHARED)
|
|||
|
|
else()
|
|||
|
|
SET ( LIBS_TYPE STATIC)
|
|||
|
|
endif()
|
|||
|
|
|
|||
|
|
set( ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR} )
|
|||
|
|
set( CMAKE_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../common)
|
|||
|
|
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_MODULE_DIR}/cmake/modules)
|
|||
|
|
set( CMAKE_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../sdk) # include 文件夹
|
|||
|
|
|
|||
|
|
set(LIBRARY_OUTPUT_PATH ${ROOT_PATH}/libs)
|
|||
|
|
set(BINARY_OUTPUT_PATH ${ROOT_PATH}/libs)
|
|||
|
|
|
|||
|
|
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -w -g2 -ggdb -fPIC -z muldefs -lpthread -lrt -lz -ldl -lm -D_DEBUG")
|
|||
|
|
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O0 -w -g2 -ggdb -fPIC -z muldefs -lpthread -lrt -lz -ldl -lm")
|
|||
|
|
|
|||
|
|
#include_directories(
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/../srvlib/include
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/../../common/cpp/libs/src/wylib/include
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/../../common/cpp/libs/src/lua-5.1/src
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/../../common/cpp/libs/src/tolua++/src
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/../../common/cpp/libs/3rd/inc/mysql-5.2/include
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/../../common/cpp/libs/3rd/inc/breakpad/
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/../common/include
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/../common/def
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}
|
|||
|
|
#)
|
|||
|
|
|
|||
|
|
message( status "LogicServer ---- ROOT_PATH 1******************************-> ${ROOT_PATH}" )
|
|||
|
|
message( status "LogicServer ---- ROOT_PATH 2******************************-> ${CMAKE_INCLUDE_DIR}" )
|
|||
|
|
message( status "LogicServer ---- ROOT_PATH 3******************************-> ${CMAKE_INCLUDE_DIR}/commonLib/include" )
|
|||
|
|
message( status "LogicServer ---- ROOT_PATH 3******************************-> ${CMAKE_INCLUDE_DIR}/utils" )
|
|||
|
|
|
|||
|
|
include_directories(
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/src/wylib/include
|
|||
|
|
${CMAKE_INCLUDE_DIR}/public
|
|||
|
|
${CMAKE_INCLUDE_DIR}/system
|
|||
|
|
${CMAKE_INCLUDE_DIR}/utils
|
|||
|
|
|
|||
|
|
${CMAKE_INCLUDE_DIR}/lua-5.1/src
|
|||
|
|
${CMAKE_INCLUDE_DIR}/tolua++/src
|
|||
|
|
${CMAKE_INCLUDE_DIR}/mysql-5.2/include
|
|||
|
|
${CMAKE_INCLUDE_DIR}/breakpad/
|
|||
|
|
${CMAKE_INCLUDE_DIR}/commonLib/include
|
|||
|
|
${CMAKE_INCLUDE_DIR}/commonLib/def
|
|||
|
|
${CMAKE_INCLUDE_DIR}/srvlib/include
|
|||
|
|
${CMAKE_INCLUDE_DIR}/system
|
|||
|
|
${CMAKE_INCLUDE_DIR}
|
|||
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
|
|||
|
|
file(GLOB sources1 *.cpp)
|
|||
|
|
file(GLOB sources2 */*.cpp)
|
|||
|
|
file(GLOB sources3 */*/*.cpp)
|
|||
|
|
|
|||
|
|
if ( ${CMAKE_BUILD_TYPE} STREQUAL "Release" )
|
|||
|
|
set( _DEBUG 0 )
|
|||
|
|
else ()
|
|||
|
|
set( _DEBUG 1 )
|
|||
|
|
endif()
|
|||
|
|
|
|||
|
|
if ( _DEBUG )
|
|||
|
|
set( EXE_NAME logicserver_d )
|
|||
|
|
else()
|
|||
|
|
set( EXE_NAME logicserver_r )
|
|||
|
|
endif()
|
|||
|
|
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../../Exec/LogicServer)
|
|||
|
|
|
|||
|
|
add_executable(${EXE_NAME} ${sources1} ${sources2} ${sources3} )
|
|||
|
|
|
|||
|
|
#include(../common/cmake/libs.cmake)
|
|||
|
|
include(../../sdk/cmake/libs.cmake)#ccc
|
|||
|
|
|
|||
|
|
MESSAGE(${CMAKE_CURRENT_SOURCE_DIR})
|
|||
|
|
|
|||
|
|
add_custom_target(MakeServerInterface ALL)
|
|||
|
|
|
|||
|
|
#add_dependencies(${EXE_NAME} MakeServerInterface)
|
|||
|
|
|
|||
|
|
#add_custom_command(
|
|||
|
|
# TARGET MakeServerInterface PRE_BUILD
|
|||
|
|
# COMMAND echo -e "\t开始生成 serverInterface.cpp 文件!"
|
|||
|
|
# COMMAND rm -rf serverInterface.cpp
|
|||
|
|
# COMMAND ./../../../../common/cpp/libs/src/tolua++/tolua++ -n server -o serverInterface.cpp serverInterface.scp
|
|||
|
|
# WORKING_DIRECTORY
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/script/tolua++
|
|||
|
|
# DEPENDS
|
|||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/script/tolua++/serverInterface.scp
|
|||
|
|
# VERBATIM
|
|||
|
|
# )
|
|||
|
|
|
|||
|
|
# add_custom_target(CleanLog ALL)
|
|||
|
|
# add_custom_command(
|
|||
|
|
# TARGET CleanLog PRE_BUILD
|
|||
|
|
# COMMAND echo -e "\t开始生成清除日志文件!"
|
|||
|
|
# COMMAND find . -iname "*.txt*" -exec rm {} +;
|
|||
|
|
# WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/../log/
|
|||
|
|
# VERBATIM
|
|||
|
|
# )
|
|||
|
|
|
|||
|
|
add_custom_target(DOSOME
|
|||
|
|
WORKING_DIRECTORY
|
|||
|
|
${EXECUTABLE_OUTPUT_PATH}/script/tolua++
|
|||
|
|
COMMENT
|
|||
|
|
./../../../../common/cpp/libs/src/tolua++/tolua++ -n server -o serverInterface.cpp serverInterface.scp
|
|||
|
|
)
|
|||
|
|
ADD_DEPENDENCIES(DOSOME ${EXE_NAME})
|