forked from metin2/server
55 lines
1.4 KiB
CMake
55 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.8)
|
|
|
|
project(game CXX)
|
|
|
|
file(GLOB_RECURSE sources
|
|
src/*.cpp src/*.h
|
|
)
|
|
|
|
# Add the src directory to the include path
|
|
include_directories(src/)
|
|
|
|
# Find dependencies
|
|
find_package(libmysql REQUIRED)
|
|
find_package(Boost COMPONENTS system REQUIRED)
|
|
find_package(DevIL REQUIRED)
|
|
find_package(LZO REQUIRED)
|
|
find_package(cryptopp CONFIG REQUIRED)
|
|
|
|
add_executable(${PROJECT_NAME} ${sources})
|
|
|
|
# Link dependencies if found
|
|
target_link_libraries (${PROJECT_NAME} ${MYSQL_LIBRARIES})
|
|
|
|
# Crypto++
|
|
target_link_libraries (${PROJECT_NAME} cryptopp-static)
|
|
|
|
# Boost
|
|
include_directories(${Boost_INCLUDE_DIR})
|
|
target_link_libraries (${PROJECT_NAME} ${Boost_LIBRARIES})
|
|
|
|
# Libevent
|
|
find_package(Libevent CONFIG REQUIRED)
|
|
target_link_libraries(${PROJECT_NAME} libevent::core libevent::extra libevent::pthreads)
|
|
|
|
if (IL_FOUND)
|
|
include_directories(${IL_INCLUDE_DIR})
|
|
target_link_libraries (${PROJECT_NAME} ${IL_LIBRARIES})
|
|
endif (IL_FOUND)
|
|
|
|
if (LZO_FOUND)
|
|
include_directories(${LZO_INCLUDE_DIR})
|
|
target_link_libraries (${PROJECT_NAME} ${LZO_LIBRARIES})
|
|
endif (LZO_FOUND)
|
|
|
|
# Pthreads
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
find_package (Threads REQUIRED)
|
|
target_link_libraries (${PROJECT_NAME} Threads::Threads)
|
|
|
|
# effolkronium/random
|
|
find_package(effolkronium_random CONFIG REQUIRED)
|
|
target_link_libraries(${PROJECT_NAME} effolkronium_random)
|
|
|
|
target_link_libraries(${PROJECT_NAME} libgame libpoly libsql libthecore liblua)
|