about summary refs log tree commit diff stats
path: root/CMakeLists.txt
blob: fd943b36bc8484996728271cfe4bdd31ce42dc45 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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}/$<CONFIG>/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)