122 lines
2.2 KiB
CMake
122 lines
2.2 KiB
CMake
project(masterserver)
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
|
if (${GAME_ID})
|
|
message(GAME_ID: ${GAME_ID})
|
|
else()
|
|
set(GAME_ID 2001)
|
|
message(GAME_ID: ${GAME_ID})
|
|
endif()
|
|
|
|
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/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/Detour/Source
|
|
SRC_LIST
|
|
)
|
|
|
|
aux_source_directory(../../third_party/recastnavigation/DetourTileCache/Source
|
|
SRC_LIST
|
|
)
|
|
|
|
execute_process(
|
|
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
|
|
)
|
|
aux_source_directory(.
|
|
SRC_LIST
|
|
)
|
|
|
|
set(EXECUTABLE_OUTPUT_PATH
|
|
${PROJECT_BINARY_DIR}/../bin
|
|
)
|
|
|
|
add_executable(
|
|
masterserver ${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=ss_proto,ss_msgid --nohooks 1
|
|
)
|
|
add_dependencies(masterserver script_pb_protocol)
|
|
|
|
|
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
target_link_libraries(
|
|
masterserver
|
|
pthread
|
|
mysqlclient
|
|
protobuf
|
|
rt
|
|
dl
|
|
util
|
|
crypto
|
|
ssl
|
|
jsoncpp
|
|
curl
|
|
hiredis
|
|
tinyxml2
|
|
tcmalloc
|
|
behaviac_gcc_debug
|
|
)
|
|
else()
|
|
target_link_libraries(
|
|
masterserver
|
|
pthread
|
|
mysqlclient
|
|
protobuf
|
|
rt
|
|
dl
|
|
util
|
|
crypto
|
|
ssl
|
|
jsoncpp
|
|
curl
|
|
hiredis
|
|
tinyxml2
|
|
tcmalloc
|
|
behaviac_gcc_release
|
|
)
|
|
endif()
|
|
|