Files
YTMusicDL26/CMakeLists.txt
T

48 lines
949 B
CMake

cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
project(YTMusicDL26)
add_executable(YTMusicDL26
src/main.cpp
src/playlist.cpp
src/video.cpp
src/utils.cpp
)
target_include_directories(YTMusicDL26 PUBLIC
src/
include/
)
include(cmake/CPM.cmake)
CPMAddPackage("gh:nlohmann/json#v3.12.0")
CPMAddPackage("gh:curl/curl#curl-8_21_0")
target_link_libraries(YTMusicDL26 PUBLIC
nlohmann_json::nlohmann_json
CURL::libcurl
)
file(COPY ${CMAKE_SOURCE_DIR}/bin DESTINATION ${CMAKE_BINARY_DIR})
if (WIN32)
target_link_options(YTMusicDL26 PRIVATE
-static-libgcc
-static-libstdc++
-static
)
add_custom_command(TARGET YTMusicDL26 POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_RUNTIME_DLLS:YTMusicDL26>
$<TARGET_FILE_DIR:YTMusicDL26>
COMMAND_EXPAND_LISTS
)
endif ()