Files
mir_server/server/LogicServer/CMakeLists.txt
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

129 lines
4.1 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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})