M2-PT-DRP/CMakeLists.txt

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}
)