-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
82 lines (68 loc) · 2.21 KB
/
CMakeLists.txt
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
cmake_minimum_required(VERSION 3.10)
project(AgentTown)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-std=c++20")
set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std=c++20")
set(CMAKE_THREAD_LIBS_INIT "-lpthread")
sET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
set(CMAKE_HAVE_THREADS_LIBRARY 1)
set(CMAKE_USE_WIN32_THREADS_INIT 0)
set(CMAKE_USE_PTHREADS_INIT 1)
set(THREADS_PREFER_PTHREAD_FLAG ON)
#if(WIN32)
# set(CMAKE_C_COMPILER "cl.exe")
# set(CMAKE_CXX_COMPILER "cl.exe")
#else()
# set(CMAKE_C_COMPILER "/usr/bin/gcc")
# set(CMAKE_CXX_COMPILER "/usr/bin/g++")
#endif()
add_subdirectory(Interfaces)
add_subdirectory(Message_System)
add_subdirectory(AI_Elements)
add_subdirectory(Network_Representation)
add_subdirectory(Server_Communications)
add_subdirectory(Message_Interpreting_System)
add_subdirectory(CAI)
# Add the source files for the Framework_exe
add_executable(Framework_exe
Framework/Source.cpp
Framework/Framework.cpp
Framework/Framework.h
Framework/Concrete_Mediator.h
)
set(BOOST_ROOT "/home/runner/work/AgentTown/boost")
set(SFML_DIR "$ENV{GITHUB_WORKSPACE}/sfml_install/usr/local/lib/cmake/SFML")
# Include directories for the Framework_exe project
target_include_directories(Framework_exe PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/Interfaces
${CMAKE_CURRENT_SOURCE_DIR}/Message_System
${CMAKE_CURRENT_SOURCE_DIR}/AI_Elements
${CMAKE_CURRENT_SOURCE_DIR}/Message_Interpreting_System
${CMAKE_CURRENT_SOURCE_DIR}/Network_Representation
${CMAKE_CURRENT_SOURCE_DIR}/Server_Communications
${CMAKE_CURRENT_SOURCE_DIR}/CAI
${Boost_INCLUDE_DIRS}
)
ADD_DEFINITIONS(-DBOOST_LOG_DYN_LINK)
#set(Boost_USE_STATIC_LIBS OFF)
find_package(SFML 2.5.1 COMPONENTS graphics window system audio REQUIRED)
find_package(Boost 1.81.0 EXACT COMPONENTS log)
find_package(Boost 1.81.0 EXACT COMPONENTS log_setup)
# Link the libraries
target_link_libraries(Framework_exe PRIVATE
AI_Elements
Interfaces
Message_System
Message_Interpreting_System
Network_Representation
Server_Communications
CAI
sfml-graphics
sfml-window
sfml-system
sfml-audio
${Boost_LIBRARIES}
Boost::log
Boost::log_setup
)