add_subdirectory(common)

file(GLOB SOURCES
        src/*.cpp
        src/core/*.cpp
        src/core/extension/*.cpp
        src/io/*.cpp
        src/http/*.cpp
        src/utils/*.cpp
        src/utils/crypto/*.cpp
        src/utils/crypto/ciphers/*.cpp
        src/utils/crypto/property_encryption/*.cpp
        src/utils/net/*.cpp
        src/utils/file/*.cpp)

add_minifi_library(minifi-core-framework STATIC ${SOURCES})
target_compile_definitions(minifi-core-framework PRIVATE "MINIFI_EXTENSION_GROUP_NAME=org.apache.nifi.minifi")
target_include_directories(minifi-core-framework PUBLIC include)
target_link_libraries(minifi-core-framework PUBLIC minifi-api minifi-core-framework-common ZLIB::ZLIB concurrentqueue RapidJSON spdlog Threads::Threads gsl-lite::gsl-lite libsodium::libsodium range-v3::range-v3 date::date date::tz asio::asio magic_enum::magic_enum OpenSSL::Crypto OpenSSL::SSL CURL::libcurl RapidJSON)
if(NOT WIN32)
    target_link_libraries(minifi-core-framework PUBLIC OSSP::libuuid++)
endif()
