cmake_minimum_required (VERSION 3.1) project (lingo_ap_tracker) if (MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") set(CMAKE_WIN32_EXECUTABLE true) endif(MSVC) find_package(wxWidgets CONFIG REQUIRED) find_package(OpenSSL REQUIRED) find_package(yaml-cpp REQUIRED) find_package(websocketpp REQUIRED) find_package(fmt REQUIRED) include_directories( vendor/hkutil vendor/apclientpp vendor/asio/asio/include vendor/nlohmann vendor/valijson/include ${websocketpp_INCLUDE_DIRS} vendor/wswrap/include ${yaml-cpp_INCLUDE_DIRS} ${OpenSSL_INCLUDE_DIRS} vendor/whereami ${fmt_INCLUDE_DIRS} vendor ) find_path(SYSTEM_INCLUDE_DIR zlib.h) include_directories(${SYSTEM_INCLUDE_DIR}) link_directories(${openssl_LIBRARY_DIRS}) add_executable(lingo_ap_tracker "src/main.cpp" "src/tracker_frame.cpp" "src/tracker_panel.cpp" "src/game_data.cpp" "src/area_popup.cpp" "src/ap_state.cpp" "src/connection_dialog.cpp" "src/tracker_state.cpp" "src/tracker_config.cpp" "src/achievements_pane.cpp" "src/settings_dialog.cpp" "src/global.cpp" "src/subway_map.cpp" "src/network_set.cpp" "src/logger.cpp" "src/godot_variant.cpp" "src/ipc_state.cpp" "vendor/whereami/whereami.c" ) set_property(TARGET lingo_ap_tracker PROPERTY CXX_STANDARD 20) set_property(TARGET lingo_ap_tracker PROPERTY CXX_STANDARD_REQUIRED ON) target_link_libraries(lingo_ap_tracker PRIVATE fmt::fmt OpenSSL::SSL OpenSSL::Crypto websocketpp::websocketpp wx::core wx::base wx::net yaml-cpp::yaml-cpp) set(SRC_DIR "${CMAKE_SOURCE_DIR}/assets") set(DST_DIR "${CMAKE_BINARY_DIR}/$/assets") add_custom_target(copy_assets ALL COMMAND ${CMAKE_COMMAND} -E copy_directory ${SRC_DIR} ${DST_DIR} COMMENT "Copying folder from ${SRC_DIR} to ${DST_DIR}" ) add_dependencies(lingo_ap_tracker copy_assets)