78 lines
1.5 KiB
CMake
78 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.23)
|
|
project(dropout-dl)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
|
|
IF(DROPOUT_DL_BUILD_ALL)
|
|
add_executable(dropout-dl-minimal
|
|
src/login.cpp
|
|
src/episode.cpp
|
|
src/season.cpp
|
|
src/series.cpp
|
|
src/util.cpp
|
|
src/main.cpp)
|
|
|
|
target_link_libraries(dropout-dl-minimal curl)
|
|
|
|
|
|
add_executable(dropout-dl-sqlite
|
|
src/cookie.cpp
|
|
src/login.cpp
|
|
src/episode.cpp
|
|
src/season.cpp
|
|
src/series.cpp
|
|
src/util.cpp
|
|
src/main.cpp)
|
|
|
|
target_link_libraries(dropout-dl-sqlite curl sqlite3)
|
|
|
|
target_compile_definitions(dropout-dl-sqlite PUBLIC DROPOUT_DL_SQLITE)
|
|
|
|
|
|
add_executable(dropout-dl-full
|
|
src/cookie.cpp
|
|
src/login.cpp
|
|
src/episode.cpp
|
|
src/season.cpp
|
|
src/series.cpp
|
|
src/util.cpp
|
|
src/main.cpp)
|
|
|
|
target_link_libraries(dropout-dl-full curl gcrypt sqlite3)
|
|
|
|
target_compile_definitions(dropout-dl-full PUBLIC DROPOUT_DL_SQLITE DROPOUT_DL_GCRYPT)
|
|
|
|
|
|
add_subdirectory(tests)
|
|
ELSE()
|
|
|
|
add_executable(dropout-dl
|
|
src/cookie.cpp
|
|
src/login.cpp
|
|
src/episode.cpp
|
|
src/season.cpp
|
|
src/series.cpp
|
|
src/util.cpp
|
|
src/main.cpp)
|
|
|
|
target_link_libraries(dropout-dl curl)
|
|
|
|
find_library(SQLITE3_FOUND sqlite3)
|
|
find_library(GCRYPT_FOUND gcrypt)
|
|
IF (SQLITE3_FOUND)
|
|
message(STATUS "sqlite3 found")
|
|
target_link_libraries(dropout-dl sqlite3)
|
|
add_compile_definitions(DROPOUT_DL_SQLITE)
|
|
ENDIF()
|
|
IF(GCRYPT_FOUND)
|
|
message(STATUS "libgcrypt found")
|
|
target_link_libraries(dropout-dl gcrypt)
|
|
add_compile_definitions(DROPOUT_DL_GCRYPT)
|
|
ENDIF()
|
|
IF(DROPOUT_DL_TESTS)
|
|
add_subdirectory(tests)
|
|
ENDIF()
|
|
|
|
ENDIF()
|