68 lines
2.1 KiB
CMake
68 lines
2.1 KiB
CMake
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()
|