45 lines
898 B
CMake
45 lines
898 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
|
|
)
|
|
|
|
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 ()
|
|
|
|
|