Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
efd4873
[civetweb] download instead of bundle and define proper CMake target,…
ferdymercury Apr 17, 2026
cf1f190
[ci] explicit enable in alma10clang-ninja even if it was getting on i…
ferdymercury Apr 17, 2026
c7c0d98
todo list
ferdymercury Apr 17, 2026
121609e
fixes for SSL
ferdymercury Apr 20, 2026
9ff465c
fixes for SSL
ferdymercury Apr 20, 2026
4a93fad
cleanup
ferdymercury Apr 20, 2026
dea5093
simplify
ferdymercury Apr 20, 2026
10c4597
try with installDir
ferdymercury Apr 20, 2026
6392161
fix asan
ferdymercury Apr 20, 2026
b3e2192
fix default
ferdymercury Apr 20, 2026
0f6fcf7
mention deprecation
ferdymercury Apr 20, 2026
a61b567
try fix path
ferdymercury Apr 20, 2026
ccd8afe
disable SSL dynamic loading
ferdymercury Apr 20, 2026
bd278c2
Update CMakeLists.txt
ferdymercury Apr 20, 2026
3dc00cc
fix openssl include
ferdymercury Apr 21, 2026
f525ece
fix typo
ferdymercury Apr 21, 2026
6ea0fba
fix builtin ssl name
ferdymercury Apr 21, 2026
3386bb7
fix builtin name
ferdymercury Apr 21, 2026
298da91
rename builtin name
ferdymercury Apr 21, 2026
4956d2e
try fix openssl mac include not found
ferdymercury Apr 21, 2026
6b416b0
Update CMakeLists.txt
ferdymercury Apr 21, 2026
555122f
Update cmake/modules/SearchInstalledSoftware.cmake
ferdymercury Apr 21, 2026
ec00267
Apply suggestion from @ferdymercury
ferdymercury Apr 22, 2026
cac7bcb
print some debug info
ferdymercury Apr 22, 2026
1a28bd7
try more debugging
ferdymercury Apr 22, 2026
51ba508
another attempt
ferdymercury Apr 22, 2026
2c64c55
avoid cache vars
ferdymercury Apr 22, 2026
1b42435
fix typo
ferdymercury Apr 22, 2026
983e87d
more
ferdymercury Apr 22, 2026
6beef07
verbose
ferdymercury Apr 22, 2026
092898f
vninja
ferdymercury Apr 22, 2026
ed31ea9
crypto
ferdymercury Apr 22, 2026
df80456
more mssges
ferdymercury Apr 22, 2026
7462e8a
fix
ferdymercury Apr 22, 2026
52491df
Update CMakeLists.txt
ferdymercury Apr 22, 2026
0b4c568
Update CMakeLists.txt
ferdymercury Apr 23, 2026
f8a082e
Update CMakeLists.txt
ferdymercury Apr 23, 2026
58f5ca7
Update CMakeLists.txt
ferdymercury Apr 23, 2026
d41c730
print headers
ferdymercury Apr 23, 2026
8c2e48c
Update 0001-message-libs.patch
ferdymercury Apr 23, 2026
c5b859a
Update CMakeLists.txt
ferdymercury Apr 23, 2026
be0cde1
undo
ferdymercury Apr 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
CMAKE_C_COMPILER=clang
CMAKE_CXX_COMPILER=clang++
CMAKE_GENERATOR=Ninja
builtin_civetweb=ON
builtin_freetype=ON
builtin_gif=ON
builtin_gl2ps=ON
Expand Down
141 changes: 141 additions & 0 deletions builtins/civetweb/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# Copyright (C) 1995-2019, Rene Brun and Fons Rademakers.
# All rights reserved.
#
# For the licensing terms see $ROOTSYS/LICENSE.
# For the list of contributors see $ROOTSYS/README/CREDITS.

# **PLEASE UPDATE ALSO THE FOLLOWING LINE WHEN UPDATING THE VERSION**
# 10 Apr 2023, https://github.com/civetweb/civetweb/releases/tag/v1.16
set(ROOT_CIVETWEB_VERSION 1.16)
set(ROOT_CIVETWEB_HASH "f0e471c1bf4e7804a6cfb41ea9d13e7d623b2bcc7bc1e2a4dd54951a24d60285")
set(ROOT_CIVETWEB_PREFIX ${CMAKE_BINARY_DIR}/builtins/CIVETWEB-prefix)
set(ROOT_CIVETWEB_LIBRARY ${ROOT_CIVETWEB_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}civetweb${CMAKE_STATIC_LIBRARY_SUFFIX})

if (NOT DEFINED GIT_EXECUTABLE)
set(GIT_EXECUTABLE "git")
endif()

include(ExternalProject)

# Clear cache variables set by find_package(CIVETWEB)
# to ensure that we use the builtin version
foreach(var CIVETWEB_LIBRARIES CIVETWEB_LIBRARY CIVETWEB_LIBRARY_DEBUG CIVETWEB_LIBRARY_RELEASE CIVETWEB_FOUND CIVETWEB_VERSION CIVETWEB_INCLUDE_DIR CIVETWEB_LIBRARY CIVETWEB_LIBRARIES)
unset(${var})
unset(${var} CACHE)
endforeach()

if(WIN32 AND NOT CMAKE_GENERATOR MATCHES Ninja)
if(winrtdebug)
set(ROOT_CIVETWEB_BUILD_COMMAND_FLAGS "--config Debug")
else()
set(ROOT_CIVETWEB_BUILD_COMMAND_FLAGS "--config $<IF:$<CONFIG:Debug,RelWithDebInfo>,RelWithDebInfo,Release>")
endif()
endif()

if(ssl)
if(OPENSSL_VERSION)
string(REPLACE "." ";" lst ${OPENSSL_VERSION})
list(GET lst 0 ssl_major)
list(GET lst 1 ssl_minor)
else()
MESSAGE(SEND_ERROR "No openSSL version defined.")
endif()

if((${ssl_major} EQUAL "1") AND (${ssl_minor} EQUAL "1"))
MESSAGE(STATUS "Use SSL API VERSION 1.1 for civetweb")
set(ROOT_SSL_API "-DCIVETWEB_SSL_OPENSSL_API_1_1=ON" "-DCIVETWEB_SSL_OPENSSL_API_3_0=OFF" "-DCIVETWEB_SSL_OPENSSL_API_1_0=OFF" "-DCIVETWEB_ENABLE_SSL=ON")
elseif((${ssl_major} EQUAL "3"))
MESSAGE(STATUS "Use SSL API VERSION 3.${ssl_minor} for civetweb")
set(ROOT_SSL_API "-DCIVETWEB_SSL_OPENSSL_API_3_0=ON" "-DCIVETWEB_SSL_OPENSSL_API_1_1=OFF" "-DCIVETWEB_SSL_OPENSSL_API_1_0=OFF" "-DCIVETWEB_ENABLE_SSL=ON")
elseif((${ssl_major} EQUAL "1") AND (${ssl_minor} EQUAL "0"))
MESSAGE(STATUS "Use SSL API VERSION 1.0 for civetweb")
set(ROOT_SSL_API "-DCIVETWEB_SSL_OPENSSL_API_1_0=ON" "-DCIVETWEB_SSL_OPENSSL_API_3_0=OFF" "-DCIVETWEB_SSL_OPENSSL_API_1_1=OFF" "-DCIVETWEB_ENABLE_SSL=ON")
else()
MESSAGE(WARNING "Not able to recognize SSL version ${OPENSSL_VERSION}, disable SSL")
set(ROOT_SSL_API "-DCIVETWEB_ENABLE_SSL=OFF")
endif()
else()
set(ROOT_SSL_API "-DCIVETWEB_ENABLE_SSL=OFF")
endif()
if(NOT MSVC)
set(ROOT_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_X_DOM_SOCKET")
else()
set(ROOT_C_FLAGS ${CMAKE_C_FLAGS})
endif()
if (CMAKE_OSX_SYSROOT)
set(ROOT_C_FLAGS "${ROOT_C_FLAGS} -isysroot ${CMAKE_OSX_SYSROOT}")
endif()

ExternalProject_Add(BUILTIN_CIVETWEB
PREFIX ${ROOT_CIVETWEB_PREFIX}
# URL ${lcgpackages}/civetweb-${ROOT_CIVETWEB_VERSION}.tar.gz
URL https://github.com/civetweb/civetweb/archive/refs/tags/v${ROOT_CIVETWEB_VERSION}.tar.gz # TODO move to LCG
URL_HASH SHA256=${ROOT_CIVETWEB_HASH}

LOG_DOWNLOAD TRUE
LOG_CONFIGURE FALSE
LOG_BUILD FALSE
LOG_INSTALL FALSE
LOG_OUTPUT_ON_FAILURE FALSE
USES_TERMINAL_DOWNLOAD true
USES_TERMINAL_UPDATE true
USES_TERMINAL_BUILD true
USES_TERMINAL_INSTALL true
USES_TERMINAL_TEST true
INSTALL_DIR ${ROOT_CIVETWEB_PREFIX}
CMAKE_ARGS -G ${CMAKE_GENERATOR}
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_INSTALL_LIBDIR:PATH=<INSTALL_DIR>/lib
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_FLAGS=${ROOT_C_FLAGS}
-DCMAKE_CXX_FLAGS=${ROOT_EXTERNAL_CXX_FLAGS}
-DBUILD_SHARED_LIBS:BOOL=FALSE
-DBUILD_TESTING=FALSE
-DCIVETWEB_ENABLE_ASAN=OFF # If set to ON, you need to set below link_library interface to UBSAN libs
-DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=OFF # If set to ON, you need to set below link_library interface to CMAKE_DL_LIBS
-DCIVETWEB_BUILD_TESTING=FALSE
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=TRUE
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
-DCIVETWEB_ENABLE_WEBSOCKETS=ON
-DOPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR}
#-DOPENSSL_CRYPTO_LIBRARY=${OPENSSL_CRYPTO_LIBRARY}
#-DOPENSSL_SSL_LIBRARY=${OPENSSL_SSL_LIBRARY}
-DOPENSSL_LIBRARIES=${OPENSSL_LIBRARIES}
#-DCMAKE_PREFIX_PATH:STRING=${OPENSSL_PREFIX}
#-DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR}
#-DOPENSSL_FOUND=TRUE
#-DOpenSSL_FOUND=TRUE
#-DOpenSSL_ROOT=${OPENSSL_ROOT} #For CMake <3.27
#-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
#-DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
# -DCMAKE_INSTALL_RPATH:STRING=${rpath_origin}
${ROOT_SSL_API}
BUILD_COMMAND ${CMAKE_COMMAND} --build . ${ROOT_CIVETWEB_BUILD_COMMAND_FLAGS}
INSTALL_COMMAND ${CMAKE_COMMAND} --build . ${ROOT_CIVETWEB_BUILD_COMMAND_FLAGS} --target install
BUILD_BYPRODUCTS
${ROOT_CIVETWEB_LIBRARY}
TIMEOUT 600
)

file(MAKE_DIRECTORY ${ROOT_CIVETWEB_PREFIX}/include)
add_library(civetweb::civetweb IMPORTED STATIC GLOBAL)
add_dependencies(civetweb::civetweb BUILTIN_CIVETWEB)
if(builtin_openssl)
add_dependencies(BUILTIN_CIVETWEB BUILTIN_OPENSSL)
endif()
set_target_properties(civetweb::civetweb PROPERTIES
IMPORTED_LOCATION ${ROOT_CIVETWEB_LIBRARY}
INTERFACE_INCLUDE_DIRECTORIES ${ROOT_CIVETWEB_PREFIX}/include)
target_compile_definitions(civetweb::civetweb INTERFACE CIVETWEB_LIBRARY_STATIC) # needed for Win32 since public flag is not correctly propagated to parent scope (BUILD_SHARED_LIBS works fine for building but when installing, flag info is lost)
if (ssl)
target_link_libraries(civetweb::civetweb INTERFACE OpenSSL::SSL)
endif()

# Set the canonical output of find_package according to
# https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#standard-variable-names
set(civetweb_INCLUDE_DIRS ${ROOT_CIVETWEB_PREFIX}/include PARENT_SCOPE)
set(civetweb_LIBRARIES ${ROOT_CIVETWEB_LIBRARY} PARENT_SCOPE)
set(civetweb_FOUND TRUE PARENT_SCOPE)
set(civetweb_VERSION ${ROOT_CIVETWEB_VERSION} PARENT_SCOPE)
36 changes: 22 additions & 14 deletions builtins/openssl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,38 +37,35 @@ else()
set(OPENSSL_CONFIG_CMD ./config)
endif()

ExternalProject_Add(OPENSSL
ExternalProject_Add(BUILTIN_OPENSSL
URL ${OPENSSL_URL} URL_HASH ${OPENSSL_URLHASH}
CONFIGURE_COMMAND ${OPENSSL_CONFIG_CMD} no-shared --prefix=<INSTALL_DIR>
INSTALL_DIR ${OPENSSL_PREFIX}
CONFIGURE_COMMAND ${OPENSSL_CONFIG_CMD} no-shared --prefix=<INSTALL_DIR> --openssldir=<INSTALL_DIR>
BUILD_COMMAND make -j1 CC=${CMAKE_C_COMPILER}\ -fPIC\ ${OSX_SYSROOT}
INSTALL_COMMAND make install_sw
BUILD_IN_SOURCE 1
LOG_BUILD 1 LOG_CONFIGURE 1 LOG_DOWNLOAD 1 LOG_INSTALL 1
BUILD_BYPRODUCTS ${OPENSSL_CRYPTO_LIBRARY} ${OPENSSL_SSL_LIBRARY}
TIMEOUT 600)

set(OPENSSL_FOUND TRUE CACHE BOOL "" FORCE)
set(OPENSSL_VERSION ${OPENSSL_VERSION} CACHE INTERNAL "" FORCE)
set(OPENSSL_VERSION_STRING "${OPENSSL_VERSION}" CACHE INTERNAL "" FORCE)
set(OPENSSL_INCLUDE_DIR ${OPENSSL_PREFIX}/include CACHE INTERNAL "" FORCE)
set(OPENSSL_INCLUDE_DIRS ${OPENSSL_PREFIX}/include CACHE INTERNAL "" FORCE)
set(OPENSSL_CRYPTO_LIBRARY ${OPENSSL_CRYPTO_LIBRARY} CACHE INTERNAL "" FORCE)
set(OPENSSL_SSL_LIBRARY ${OPENSSL_SSL_LIBRARY} CACHE INTERNAL "" FORCE)
set(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS} CACHE INTERNAL "" FORCE)
set(OPENSSL_ROOT ${OPENSSL_PREFIX} CACHE INTERNAL "Location of the builtin OpenSSL installation" FORCE)
set(OPENSSL_FOUND TRUE)
set(OPENSSL_INCLUDE_DIR ${OPENSSL_PREFIX}/include)
set(OPENSSL_INCLUDE_DIRS ${OPENSSL_PREFIX}/include)
set(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS})
set(OPENSSL_ROOT ${OPENSSL_PREFIX})

# Dependent libraries might check for the existence of the include directories
file(MAKE_DIRECTORY ${OPENSSL_INCLUDE_DIR})

add_library(builtin_crypto INTERFACE)
target_include_directories(builtin_crypto INTERFACE $<BUILD_INTERFACE:${OPENSSL_INCLUDE_DIR}>)
target_link_libraries(builtin_crypto INTERFACE $<BUILD_INTERFACE:${OPENSSL_CRYPTO_LIBRARY}>)
add_dependencies(builtin_crypto OPENSSL)
add_dependencies(builtin_crypto BUILTIN_OPENSSL)

add_library(builtin_ssl INTERFACE)
target_include_directories(builtin_ssl INTERFACE $<BUILD_INTERFACE:${OPENSSL_INCLUDE_DIR}>)
target_link_libraries(builtin_ssl INTERFACE $<BUILD_INTERFACE:${OPENSSL_LIBRARIES}>)
add_dependencies(builtin_ssl OPENSSL)
add_dependencies(builtin_ssl BUILTIN_OPENSSL)

add_library(OpenSSL::Crypto ALIAS builtin_crypto)
add_library(OpenSSL::SSL ALIAS builtin_ssl)
Expand All @@ -85,4 +82,15 @@ find_package_handle_standard_args(OpenSSL
OPENSSL_VERSION_STRING
)

set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS OPENSSL)
set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS BUILTIN_OPENSSL)

set(OPENSSL_FOUND TRUE)
set(OPENSSL_VERSION ${OPENSSL_VERSION} PARENT_SCOPE) # CMake 4.2 changes to small case
set(OPENSSL_VERSION_STRING ${OPENSSL_VERSION_STRING} PARENT_SCOPE)
set(OPENSSL_INCLUDE_DIR ${OPENSSL_INCLUDE_DIR} PARENT_SCOPE)
set(OPENSSL_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIRS} PARENT_SCOPE)
set(OPENSSL_CRYPTO_LIBRARY ${OPENSSL_CRYPTO_LIBRARY} PARENT_SCOPE)
set(OPENSSL_SSL_LIBRARY ${OPENSSL_SSL_LIBRARY} PARENT_SCOPE)
set(OPENSSL_LIBRARIES ${OPENSSL_LIBRARIES} PARENT_SCOPE)
set(OPENSSL_ROOT ${OPENSSL_ROOT})
set(OPENSSL_ROOT_DIR ${OPENSSL_ROOT} PARENT_SCOPE)
15 changes: 10 additions & 5 deletions builtins/xrootd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ set(XROOTD_PREFIX ${CMAKE_BINARY_DIR}/XROOTD-prefix)

message(STATUS "Downloading and building XROOTD version ${XROOTD_VERSION}")

set(XROOTD_INCLUDE_DIRS ${XROOTD_PREFIX}/include/xrootd CACHE INTERNAL "" FORCE)
set(XROOTD_INCLUDE_DIRS ${XROOTD_PREFIX}/include/xrootd)
set(XRDCL_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}XrdCl${CMAKE_SHARED_LIBRARY_SUFFIX})
set(XRDUTILS_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}XrdUtils${CMAKE_SHARED_LIBRARY_SUFFIX})
set(XROOTD_CLIENT_LIBRARIES ${XROOTD_PREFIX}/lib/${XRDCL_NAME} CACHE INTERNAL "" FORCE)
set(XROOTD_UTILS_LIBRARIES ${XROOTD_PREFIX}/lib/${XRDUTILS_NAME} CACHE INTERNAL "" FORCE)
set(XROOTD_LIBRARIES ${XROOTD_PREFIX}/lib/${XRDCL_NAME} CACHE INTERNAL "" FORCE)
set(XROOTD_CLIENT_LIBRARIES ${XROOTD_PREFIX}/lib/${XRDCL_NAME})
set(XROOTD_UTILS_LIBRARIES ${XROOTD_PREFIX}/lib/${XRDUTILS_NAME})
set(XROOTD_LIBRARIES ${XROOTD_PREFIX}/lib/${XRDCL_NAME})

if(APPLE)
set(rpath_origin "@loader_path")
Expand Down Expand Up @@ -57,11 +57,16 @@ ExternalProject_Add(
file(MAKE_DIRECTORY ${XROOTD_PREFIX}/include/xrootd)

if(builtin_openssl)
add_dependencies(BUILTIN_XROOTD OPENSSL)
add_dependencies(BUILTIN_XROOTD BUILTIN_OPENSSL)
endif()

install(DIRECTORY ${XROOTD_PREFIX}/lib/ DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries FILES_MATCHING PATTERN "libXrd*")
install(DIRECTORY ${XROOTD_PREFIX}/include/xrootd/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/xrootd COMPONENT headers)
set(CMAKE_BUILD_RPATH ${CMAKE_BUILD_RPATH} ${XROOTD_PREFIX}/lib PARENT_SCOPE)

set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS BUILTIN_XROOTD)

set(XROOTD_INCLUDE_DIRS ${XROOTD_INCLUDE_DIRS} PARENT_SCOPE)
set(XROOTD_CLIENT_LIBRARIES ${XROOTD_CLIENT_LIBRARIES} PARENT_SCOPE)
set(XROOTD_UTILS_LIBRARIES ${XROOTD_UTILS_LIBRARIES} PARENT_SCOPE)
set(XROOTD_LIBRARIES ${XROOTD_LIBRARIES} PARENT_SCOPE)
7 changes: 7 additions & 0 deletions cmake/modules/FindFastCGI.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,11 @@ if(FASTCGI_FOUND)
if(NOT FASTCGI_LIBRARIES)
set(FASTCGI_LIBRARIES ${FASTCGI_LIBRARY})
endif()

if(NOT TARGET FastCGI::FastCGI)
add_library(FastCGI::FastCGI UNKNOWN IMPORTED)
set_target_properties(FastCGI::FastCGI PROPERTIES
IMPORTED_LOCATION "${FASTCGI_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${FASTCGI_INCLUDE_DIR}")
endif()
endif()
45 changes: 23 additions & 22 deletions cmake/modules/SearchInstalledSoftware.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -208,28 +208,6 @@ if(builtin_nlohmannjson)
add_subdirectory(builtins/nlohmann)
endif()

#--- Check for civetweb ---------------------------------------------------------
if(http AND NOT builtin_civetweb)
message(STATUS "Looking for civetweb")
if(NOT "$ENV{CIVETWEB_BUILD}" STREQUAL "" AND NOT "$ENV{CIVETWEB_SRC}" STREQUAL "")
set(civetweb_LIBRARIES $ENV{CIVETWEB_BUILD}/src/libcivetweb.so)
set(civetweb_INCLUDE_DIR $ENV{CIVETWEB_SRC}/include)
message(STATUS "Use civetweb ${civetweb_LIBRARIES} and ${civetweb_INCLUDE_DIR}")
else()
if(fail-on-missing)
find_package(civetweb 1.15 REQUIRED)
else()
find_package(civetweb 1.15 QUIET)
if(civetweb_FOUND)
message(STATUS "Found civetweb version ${civetweb_VERSION}")
else()
message(STATUS "civetweb not found. Switching on builtin_civetweb option")
set(builtin_civetweb ON CACHE BOOL "Enabled because civetweb not found" FORCE)
endif()
endif()
endif()
endif()

#---Check for Unuran ------------------------------------------------------------------
if(unuran AND NOT builtin_unuran)
message(STATUS "Looking for Unuran")
Expand Down Expand Up @@ -604,6 +582,29 @@ if(fcgi)
endif()
endif()

#--- Check for civetweb - (has to go after SSL) ---------------------------------------
if(http AND NOT builtin_civetweb)
message(STATUS "Looking for civetweb")
if(fail-on-missing)
find_package(civetweb 1.15 REQUIRED)
else()
find_package(civetweb 1.15 QUIET)
if(civetweb_FOUND)
message(STATUS "Found civetweb version ${civetweb_VERSION}")
else()
message(STATUS "civetweb not found. Switching on builtin_civetweb option")
set(builtin_civetweb ON CACHE BOOL "Enabled because civetweb not found" FORCE)
endif()
endif()
if (NOT builtin_civetweb)
target_compile_definitions(civetweb::civetweb INTERFACE _EXTERNAL_CIVETWEB) # temporary hack for: with external civetweb one gets failure R__memcompress
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TO-DO investigate

endif()
endif()
if(http AND builtin_civetweb)
list(APPEND ROOT_BUILTINS BUILTIN_CIVETWEB)
add_subdirectory(builtins/civetweb)
endif()

#---Check for SQLite-------------------------------------------------------------------
if(sqlite)
message(STATUS "Looking for SQLite")
Expand Down
Loading
Loading