Mercurial > hg > orthanc
diff Resources/CMake/CivetwebConfiguration.cmake @ 2377:32bea64e070b
Experimental support of actively maintained Civetweb to replace Mongoose 3.8
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 28 Aug 2017 14:09:24 +0200 |
parents | |
children | 116ade1eff82 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Resources/CMake/CivetwebConfiguration.cmake Mon Aug 28 14:09:24 2017 +0200 @@ -0,0 +1,57 @@ +if (STATIC_BUILD OR NOT USE_SYSTEM_CIVETWEB) + set(CIVETWEB_SOURCES_DIR ${CMAKE_BINARY_DIR}/civetweb-1.9.1) + set(CIVETWEB_URL "http://www.orthanc-server.com/downloads/third-party/civetweb-1.9.1.tar.gz") + set(CIVETWEB_MD5 "c713f7336582d1a78897971260c67c2a") + + DownloadPackage(${CIVETWEB_MD5} ${CIVETWEB_URL} "${CIVETWEB_SOURCES_DIR}") + + include_directories( + ${CIVETWEB_SOURCES_DIR}/src + ) + + set(CIVETWEB_SOURCES + ${CIVETWEB_SOURCES_DIR}/src/civetweb.c + ) + + + if (ENABLE_SSL) + add_definitions( + -DNO_SSL_DL=1 + ) + if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR + ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD") + link_libraries(dl) + endif() + + else() + add_definitions( + -DNO_SSL=1 # Remove SSL support from civetweb + ) + endif() + + + if (CMAKE_SYSTEM_NAME STREQUAL "Windows" AND + CMAKE_COMPILER_IS_GNUCXX) + # This is a patch for MinGW64 + add_definitions(-D_TIMESPEC_DEFINED=1) + endif() + + source_group(ThirdParty\\Civetweb REGULAR_EXPRESSION ${CIVETWEB_SOURCES_DIR}/.*) + +else() + include(CMakePushCheckState) + + CHECK_INCLUDE_FILE_CXX(civetweb.h HAVE_CIVETWEB_H) + if (NOT HAVE_CIVETWEB_H) + message(FATAL_ERROR "Please install the libcivetweb-devel package") + endif() + + cmake_reset_check_state() + set(CMAKE_REQUIRED_LIBRARIES dl pthread) + CHECK_LIBRARY_EXISTS(civetweb mg_start "" HAVE_CIVETWEB_LIB) + if (NOT HAVE_CIVETWEB_LIB) + message(FATAL_ERROR "Please install the libcivetweb-devel package") + endif() + + link_libraries(civetweb) +endif()