126 lines
2.6 KiB
CMake
126 lines
2.6 KiB
CMake
project(gameserver)
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
|
set(GAME_ID 2005)
|
|
|
|
if (${RELEASE})
|
|
set(CMAKE_BUILD_TYPE "Release")
|
|
message("release mode")
|
|
else()
|
|
set(CMAKE_BUILD_TYPE "Debug")
|
|
message("debug mode")
|
|
endif()
|
|
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g -std=gnu++11 -DGAME_ID=${GAME_ID} -DNDEBUG")
|
|
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++11 -DGAME_ID=${GAME_ID} -DDEBUG")
|
|
|
|
include_directories(
|
|
AFTER
|
|
../../third_party/a8engine
|
|
/usr/include/mysql
|
|
/usr/include/jsoncpp
|
|
/usr/include/hiredis
|
|
/usr/include/eigen3
|
|
/usr/include/glm
|
|
../../third_party
|
|
../../third_party/behaviac/inc
|
|
../../third_party/recastnavigation/Recast/Include
|
|
../../third_party/recastnavigation/Detour/Include
|
|
../../third_party/recastnavigation/DetourTileCache/Include
|
|
.
|
|
)
|
|
|
|
link_directories(
|
|
/usr/lib64/mysql
|
|
/usr/local/lib
|
|
../../third_party/behaviac/lib
|
|
)
|
|
|
|
aux_source_directory(../../third_party/a8engine/a8
|
|
SRC_LIST
|
|
)
|
|
|
|
aux_source_directory(../../third_party/framework/cpp
|
|
SRC_LIST
|
|
)
|
|
|
|
aux_source_directory(../../third_party/recastnavigation/Recast/Source
|
|
SRC_LIST
|
|
)
|
|
|
|
aux_source_directory(../../third_party/recastnavigation/Detour/Source
|
|
SRC_LIST
|
|
)
|
|
|
|
aux_source_directory(../../third_party/recastnavigation/DetourTileCache/Source
|
|
SRC_LIST
|
|
)
|
|
|
|
execute_process(
|
|
COMMAND touch -a cs_proto.pb.h
|
|
COMMAND touch -a cs_proto.pb.cc
|
|
COMMAND touch -a cs_msgid.pb.h
|
|
COMMAND touch -a cs_msgid.pb.cc
|
|
COMMAND touch -a ss_proto.pb.h
|
|
COMMAND touch -a ss_proto.pb.cc
|
|
COMMAND touch -a ss_msgid.pb.h
|
|
COMMAND touch -a ss_msgid.pb.cc
|
|
COMMAND touch -a metatable.pb.h
|
|
COMMAND touch -a metatable.pb.cc
|
|
)
|
|
aux_source_directory(.
|
|
SRC_LIST
|
|
)
|
|
|
|
set(EXECUTABLE_OUTPUT_PATH
|
|
${PROJECT_BINARY_DIR}/../bin
|
|
)
|
|
|
|
add_executable(
|
|
gameserver${GAME_ID} ${SRC_LIST}
|
|
)
|
|
|
|
add_custom_target(script_pb_protocol ALL)
|
|
add_custom_command(TARGET script_pb_protocol
|
|
PRE_BUILD
|
|
COMMAND python ../../third_party/tools/scripts/construct/build_pb.py --cpp_out=. --pb_files=cs_proto,cs_msgid,ss_proto,ss_msgid,metatable --python_out=../tools/robot/virtualclient
|
|
)
|
|
add_dependencies(gameserver${GAME_ID} script_pb_protocol)
|
|
|
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
target_link_libraries(
|
|
gameserver${GAME_ID}
|
|
pthread
|
|
mysqlclient
|
|
protobuf
|
|
rt
|
|
dl
|
|
util
|
|
crypto
|
|
ssl
|
|
jsoncpp
|
|
curl
|
|
hiredis
|
|
tinyxml2
|
|
# tcmalloc
|
|
behaviac_gcc_debug
|
|
)
|
|
else()
|
|
target_link_libraries(
|
|
gameserver${GAME_ID}
|
|
pthread
|
|
mysqlclient
|
|
protobuf
|
|
rt
|
|
dl
|
|
util
|
|
crypto
|
|
ssl
|
|
jsoncpp
|
|
curl
|
|
hiredis
|
|
tinyxml2
|
|
tcmalloc
|
|
behaviac_gcc_release
|
|
)
|
|
endif()
|