cmake_minimum_required(VERSION 3.11) # Poco set(ENABLE_MONGODB OFF CACHE BOOL "Disable MongoDB support" FORCE) set(ENABLE_REDIS OFF CACHE BOOL "Disable Redis support" FORCE) set(ENABLE_DATA_SQLITE OFF CACHE BOOL "Disable SQLite support" FORCE) set(ENABLE_DATA_MYSQL OFF CACHE BOOL "Disable MySQL support" FORCE) set(ENABLE_DATA_ODBC OFF CACHE BOOL "Disable ODBC support" FORCE) set(ENABLE_ZIP OFF CACHE BOOL "Disable Zip support" FORCE) set(ENABLE_PAGECOMPILER OFF CACHE BOOL "Disable PageCompiler support" FORCE) set(ENABLE_PAGECOMPILER_FILE2PAGE OFF CACHE BOOL "Disable File2Page support" FORCE) set(POCO_STATIC ON CACHE BOOL "Build Poco as static libraries" FORCE) find_package(Poco QUIET) if (NOT Poco_FOUND) include(FetchContent) FetchContent_Declare( Poco DOWNLOAD_EXTRACT_TIMESTAMP OFF URL https://github.com/pocoproject/poco/archive/refs/tags/poco-1.9.4-release.tar.gz ) FetchContent_GetProperties(Poco) if (NOT Poco_POPULATED) set(FETCHCONTENT_QUIET NO) FetchContent_MakeAvailable(Poco) endif() set(Poco_INCLUDE_DIRS "${poco_SOURCE_DIR}/Foundation/include" "${poco_SOURCE_DIR}/Encodings/include" "${poco_SOURCE_DIR}/XML/include" "${poco_SOURCE_DIR}/JSON/include" "${poco_SOURCE_DIR}/Util/include" "${poco_SOURCE_DIR}/Net/include" "${poco_SOURCE_DIR}/Data/include" ) endif() # LibXML2 set(LIBXML2_WITH_PROGRAMS OFF) set(LIBXML2_WITH_TESTS OFF) # Disabling every dependencies to build libxml2 set(LIBXML2_WITH_PYTHON OFF) set(LIBXML2_WITH_ICONV OFF) set(LIBXML2_WITH_LZMA OFF) set(LIBXML2_WITH_ZLIB OFF) # Will maybe change later, for now we want the lib to be static. set(BUILD_SHARED_LIBS OFF) find_package(libxml2 QUIET) if (NOT libxml2_FOUND) include(FetchContent) FetchContent_Declare( libxml2 GIT_REPOSITORY https://gitlab.gnome.org/GNOME/libxml2.git GIT_TAG v2.12.6 ) FetchContent_GetProperties(libxml2) if (NOT libxml2_POPULATED) set(FETCHCONTENT_QUIET NO) FetchContent_MakeAvailable(libxml2) endif() set(LIBXML2_INCLUDE_DIR "${libxml2_SOURCE_DIR}/include" "${libxml2_BINARY_DIR}" ) endif()