2021-09-02 15:04:19 -07:00
|
|
|
cmake_minimum_required(VERSION 3.10)
|
2021-09-02 15:25:09 -07:00
|
|
|
set(CMAKE_C_STANDARD 99)
|
2021-09-08 12:12:11 -07:00
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
set(CMAKE_BUILD_TYPE Debug)
|
2021-09-02 15:04:19 -07:00
|
|
|
|
|
|
|
project(advent C)
|
|
|
|
|
2021-09-02 15:25:09 -07:00
|
|
|
add_subdirectory(lib/libflint)
|
|
|
|
|
2021-09-02 15:04:19 -07:00
|
|
|
file(GLOB SRC src/*.c)
|
|
|
|
file(GLOB SRC2015 src/2015/*.c)
|
|
|
|
file(GLOB SRC2016 src/2016/*.c)
|
|
|
|
file(GLOB SRC2017 src/2017/*.c)
|
|
|
|
file(GLOB SRC2018 src/2018/*.c)
|
|
|
|
file(GLOB SRC2019 src/2019/*.c)
|
|
|
|
file(GLOB SRC2020 src/2020/*.c)
|
2021-12-10 11:01:51 -08:00
|
|
|
file(GLOB SRC2021 src/2021/*.c)
|
2021-09-02 15:04:19 -07:00
|
|
|
|
|
|
|
file(COPY input DESTINATION ${CMAKE_BINARY_DIR})
|
|
|
|
|
2021-12-10 11:01:51 -08:00
|
|
|
add_executable(advent ${SRC} ${SRC2015} ${SRC2016} ${SRC2017} ${SRC2018} ${SRC2019} ${SRC2020} ${SRC2021})
|
2021-09-08 11:19:24 -07:00
|
|
|
|
2021-09-08 12:12:11 -07:00
|
|
|
if ((${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD"))
|
2021-09-08 11:19:24 -07:00
|
|
|
target_link_libraries(advent PRIVATE flint)
|
2021-12-21 07:58:03 -08:00
|
|
|
target_include_directories(advent PRIVATE include lib/libflint/include lib/uthash/src)
|
2021-09-08 11:19:24 -07:00
|
|
|
else()
|
2021-09-08 12:12:11 -07:00
|
|
|
find_package(OpenSSL REQUIRED)
|
|
|
|
target_link_libraries(advent PRIVATE bsd flint ${OPENSSL_LIBRARIES})
|
2021-12-21 07:58:03 -08:00
|
|
|
target_include_directories(advent PRIVATE include lib/libflint/include lib/uthash/src ${OpenSSL_INCLUDE_DIR})
|
2021-09-08 11:19:24 -07:00
|
|
|
endif()
|
|
|
|
|