cmake_minimum_required(VERSION 3.8) project(game CXX) file(GLOB_RECURSE sources src/*.cpp src/*.h ) include_directories(${PROJECT_BINARY_DIR}/src/) 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) find_package(GTest 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}) 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) # Google test if (GTEST_FOUND) include_directories(${GTEST_INCLUDE_DIRS}) target_link_libraries (${PROJECT_NAME} ${GTEST_BOTH_LIBRARIES}) endif (GTEST_FOUND) target_link_libraries(${PROJECT_NAME} libgame libpoly libsql libthecore liblua)