project(ghost++) cmake_minimum_required(VERSION 2.6) set(SRC_FILES ghost/bncsutilinterface.cpp ghost/bnet.cpp ghost/bnetprotocol.cpp ghost/bnlsclient.cpp ghost/bnlsprotocol.cpp ghost/commandpacket.cpp ghost/config.cpp ghost/crc32.cpp ghost/csvparser.cpp ghost/game.cpp ghost/gameplayer.cpp ghost/gameprotocol.cpp ghost/gameslot.cpp ghost/game_admin.cpp ghost/game_base.cpp ghost/ghost.cpp ghost/ghostdb.cpp ghost/ghostdbmysql.cpp ghost/ghostdbsqlite.cpp ghost/gpsprotocol.cpp ghost/language.cpp ghost/map.cpp ghost/packed.cpp ghost/replay.cpp ghost/savegame.cpp ghost/sha1.cpp ghost/socket.cpp ghost/stats.cpp ghost/statsdota.cpp ghost/statsw3mmd.cpp ghost/util.cpp ) set(DOTA_ELO_SRC_FILES update_dota_elo/elo.cpp update_dota_elo/update_dota_elo.cpp ) set(W3MMD_ELO_SRC_FILES update_w3mmd_elo/elo.cpp update_w3mmd_elo/update_w3mmd_elo.cpp ) # Check modules first in local dir set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules) find_package(bncsutil REQUIRED) set(Boost_USE_MULTITHREADED ON) find_package(Boost COMPONENTS date_time filesystem system thread REQUIRED) find_package(StormLib REQUIRED) find_package(Sqlite REQUIRED) set(LINK_LIBS ${bncsutil_LIBRARY} ${Boost_LIBRARIES} ${StormLib_LIBRARY} ${SQLITE_LIBRARIES}) if(WITH_MYSQL) find_package(MySQL REQUIRED) add_definitions(-DGHOST_MYSQL) LIST(APPEND LINK_LIBS ${MYSQL_CLIENT_LIBS}) endif() add_executable(ghost++ ${SRC_FILES}) target_link_libraries(ghost++ ${LINK_LIBS}) install(TARGETS ghost++ RUNTIME DESTINATION bin) install(FILES ghost++.cfg default.cfg language.cfg DESTINATION ${CONFIGPATH})