71 lines
2.3 KiB
CMake
71 lines
2.3 KiB
CMake
cmake_minimum_required(VERSION 3.25)
|
|
project(M2-PT-DRP LANGUAGES CXX)
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
include(FetchContent)
|
|
find_package(PkgConfig REQUIRED)
|
|
|
|
|
|
FetchContent_Declare(argparse GIT_REPOSITORY https://github.com/p-ranav/argparse.git)
|
|
FetchContent_MakeAvailable(argparse)
|
|
pkg_check_modules(MPG123 REQUIRED libmpg123)
|
|
pkg_check_modules(PORTAUDIO REQUIRED portaudio-2.0)
|
|
pkg_check_modules(OpenSSL REQUIRED openssl)
|
|
|
|
|
|
|
|
add_executable(M2-PT-DRP
|
|
source/main.cpp
|
|
source/packets/audio/AudioPacketData.hpp
|
|
source/utils/audio.cpp
|
|
source/utils/audio.hpp
|
|
source/EventManager.cpp
|
|
source/EventManager.hpp
|
|
source/packets/base/Packet.hpp
|
|
source/events/types.hpp
|
|
source/packets/base/Packet.cpp
|
|
source/RemotePeer.hpp
|
|
source/events/base/BaseEvent.hpp
|
|
source/events/base/BaseEvent.hpp
|
|
source/events/audio/AudioPacketsComparator.cpp
|
|
source/events/audio/AudioPacketsComparator.hpp
|
|
source/events/audio/AudioEvent.hpp
|
|
source/events/audio/AudioEvent.cpp
|
|
source/events/pong/PongEvent.cpp
|
|
source/events/pong/PongEvent.hpp
|
|
source/events/search/SearchEvent.cpp
|
|
source/events/search/SearchEvent.hpp
|
|
source/events/info/InfoEvent.cpp
|
|
source/events/info/InfoEvent.hpp
|
|
source/tasks/types.hpp
|
|
source/tasks/base/BaseTask.hpp
|
|
source/tasks/server/ServerTask.cpp
|
|
source/tasks/server/ServerTask.hpp
|
|
source/tasks/undefined/UndefinedTask.cpp
|
|
source/tasks/undefined/UndefinedTask.hpp
|
|
source/tasks/client/ClientTask.cpp
|
|
source/tasks/client/ClientTask.hpp
|
|
source/Context.hpp
|
|
source/utils/CacheMap.hpp
|
|
source/packets/search/SearchPacketData.hpp
|
|
source/packets/base/PacketContent.cpp
|
|
source/packets/base/PacketContent.hpp
|
|
source/packets/base/SecurityMode.hpp
|
|
source/packets/base/PacketData.hpp
|
|
source/packets/info/InfoPacketData.hpp
|
|
)
|
|
target_include_directories(M2-PT-DRP PRIVATE
|
|
${MPG123_INCLUDE_DIRS}
|
|
${PORTAUDIO_INCLUDE_DIRS}
|
|
${OPENSSL_INCLUDE_DIRS}
|
|
)
|
|
target_link_libraries(M2-PT-DRP PRIVATE
|
|
argparse
|
|
${MPG123_LIBRARIES}
|
|
${PORTAUDIO_LIBRARIES}
|
|
${OPENSSL_LIBRARIES}
|
|
)
|