cmake_minimum_required(VERSION 3.8) project(game CXX) file(GLOB_RECURSE sources src/*.cpp src/*.h ) include_directories(${PROJECT_BINARY_DIR}/src/system/) include_directories(src/) # Find dependencies find_package(libmysql REQUIRED) find_package(Boost COMPONENTS system REQUIRED) find_package(DevIL REQUIRED) find_package(LZO REQUIRED) add_executable(${PROJECT_NAME} ${sources}) # Link dependencies if found if (libmysql_FOUND) target_link_libraries (${PROJECT_NAME} ${MYSQL_LIBRARIES}) endif (libmysql_FOUND) if (Boost_FOUND) include_directories(${Boost_INCLUDE_DIRS}) target_link_libraries (${PROJECT_NAME} ${Boost_LIBRARIES} ${Boost_SYSTEM_LIBRARY}) endif (Boost_FOUND) 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) target_link_libraries(${PROJECT_NAME} md) # Pthreads set(THREADS_PREFER_PTHREAD_FLAG ON) find_package (Threads REQUIRED) target_link_libraries (${PROJECT_NAME} Threads::Threads) find_package(GTest REQUIRED) 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)