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

target_link_libraries(YTMusicDL26 PUBLIC
  nlohmann_json::nlohmann_json
)

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


