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) # LibBSD target_link_libraries(${PROJECT_NAME} bsd) # 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)