119 lines
2.3 KiB
CMake
119 lines
2.3 KiB
CMake
project(wsproxy)
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
|
if (${GAME_ID})
|
|
message(GAME_ID: ${GAME_ID})
|
|
else()
|
|
message(FATAL_ERROR "GAME_ID error")
|
|
endif()
|
|
|
|
set(LIB_DIR "ubuntu20.04_g++-9")
|
|
message(LIB_DIR: ${LIB_DIR})
|
|
|
|
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++1z -DGAME_ID=${GAME_ID} -DNDEBUG")
|
|
if (${ASAN})
|
|
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DDEBUG -fsanitize=address -fno-omit-frame-pointer")
|
|
else()
|
|
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DDEBUG")
|
|
endif()
|
|
|
|
include_directories(
|
|
AFTER
|
|
../../third_party/a8
|
|
../../third_party/f8
|
|
/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/${LIB_DIR}
|
|
)
|
|
|
|
aux_source_directory(../../third_party/a8/a8
|
|
SRC_LIST
|
|
)
|
|
|
|
aux_source_directory(../../third_party/f8/f8
|
|
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(
|
|
wsproxy${GAME_ID} ${SRC_LIST}
|
|
)
|
|
|
|
add_custom_target(script_pb_protocol ALL)
|
|
add_custom_command(TARGET script_pb_protocol
|
|
PRE_BUILD
|
|
COMMAND python ../tools/scripts/construct/build_pb.py
|
|
)
|
|
add_dependencies(wsproxy${GAME_ID} script_pb_protocol)
|
|
|
|
target_link_libraries(
|
|
wsproxy${GAME_ID}
|
|
pthread
|
|
mysqlclient
|
|
protobuf
|
|
rt
|
|
dl
|
|
util
|
|
crypto
|
|
ssl
|
|
jsoncpp
|
|
curl
|
|
hiredis
|
|
tinyxml2
|
|
)
|
|
|
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
target_link_libraries(
|
|
wsproxy${GAME_ID}
|
|
behaviac_gcc_debug
|
|
)
|
|
else()
|
|
target_link_libraries(
|
|
wsproxy${GAME_ID}
|
|
tcmalloc
|
|
behaviac_gcc_release
|
|
)
|
|
endif()
|