Files
mir_server/server/LogicServer/CMakeLists.txt

129 lines
4.1 KiB
CMake
Raw Normal View History

2025-01-09 17:45:40 +08:00
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})