Mercurial > hg > orthanc
comparison OrthancFramework/Resources/CMake/CivetwebConfiguration.cmake @ 4044:d25f4c0fa160 framework
splitting code into OrthancFramework and OrthancServer
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 10 Jun 2020 20:30:34 +0200 |
parents | Resources/CMake/CivetwebConfiguration.cmake@2f28c7eb2776 |
children | 05b8fd21089c |
comparison
equal
deleted
inserted
replaced
4043:6c6239aec462 | 4044:d25f4c0fa160 |
---|---|
1 if (STATIC_BUILD OR NOT USE_SYSTEM_CIVETWEB) | |
2 | |
3 ## WARNING: "civetweb-1.12.tar.gz" comes with a subfolder | |
4 ## "civetweb-1.12/test/nonlatin" that cannot be removed by "hg purge | |
5 ## --all" on Windows hosts. We thus created a custom | |
6 ## "civetweb-1.12-fixed.tar.gz" as follows: | |
7 ## | |
8 ## $ cd /tmp | |
9 ## $ wget http://orthanc.osimis.io/ThirdPartyDownloads/civetweb-1.12.tar.gz | |
10 ## $ tar xvf civetweb-1.12.tar.gz | |
11 ## $ rm -rf civetweb-1.12/src/third_party/ civetweb-1.12/test/ | |
12 ## $ tar cvfz civetweb-1.12-fixed.tar.gz civetweb-1.12 | |
13 ## | |
14 | |
15 set(CIVETWEB_SOURCES_DIR ${CMAKE_BINARY_DIR}/civetweb-1.12) | |
16 set(CIVETWEB_URL "http://orthanc.osimis.io/ThirdPartyDownloads/civetweb-1.12-fixed.tar.gz") | |
17 set(CIVETWEB_MD5 "016ed7cd26cbc46b5941f0cbfb2e4ac8") | |
18 | |
19 if (IS_DIRECTORY "${CIVETWEB_SOURCES_DIR}") | |
20 set(FirstRun OFF) | |
21 else() | |
22 set(FirstRun ON) | |
23 endif() | |
24 | |
25 DownloadPackage(${CIVETWEB_MD5} ${CIVETWEB_URL} "${CIVETWEB_SOURCES_DIR}") | |
26 | |
27 execute_process( | |
28 COMMAND ${PATCH_EXECUTABLE} -p0 -N -i | |
29 ${ORTHANC_ROOT}/Resources/Patches/civetweb-1.12.patch | |
30 WORKING_DIRECTORY ${CMAKE_BINARY_DIR} | |
31 RESULT_VARIABLE Failure | |
32 ) | |
33 | |
34 if (FirstRun AND Failure) | |
35 message(FATAL_ERROR "Error while patching a file") | |
36 endif() | |
37 | |
38 include_directories( | |
39 ${CIVETWEB_SOURCES_DIR}/include | |
40 ) | |
41 | |
42 set(CIVETWEB_SOURCES | |
43 ${CIVETWEB_SOURCES_DIR}/src/civetweb.c | |
44 ) | |
45 | |
46 # New in Orthanc 1.6.0: Enable support of compression in civetweb | |
47 set_source_files_properties( | |
48 ${CIVETWEB_SOURCES} | |
49 PROPERTIES COMPILE_DEFINITIONS | |
50 "USE_ZLIB=1") | |
51 | |
52 if (ENABLE_SSL) | |
53 add_definitions( | |
54 -DNO_SSL_DL=1 | |
55 ) | |
56 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR | |
57 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD") | |
58 link_libraries(dl) | |
59 endif() | |
60 | |
61 else() | |
62 add_definitions( | |
63 -DNO_SSL=1 # Remove SSL support from civetweb | |
64 ) | |
65 endif() | |
66 | |
67 source_group(ThirdParty\\Civetweb REGULAR_EXPRESSION ${CIVETWEB_SOURCES_DIR}/.*) | |
68 | |
69 add_definitions( | |
70 -DCIVETWEB_HAS_DISABLE_KEEP_ALIVE=1 | |
71 ) | |
72 | |
73 else() | |
74 CHECK_INCLUDE_FILE_CXX(civetweb.h HAVE_CIVETWEB_H) | |
75 if (NOT HAVE_CIVETWEB_H) | |
76 message(FATAL_ERROR "Please install the libcivetweb-devel package") | |
77 endif() | |
78 | |
79 cmake_reset_check_state() | |
80 set(CMAKE_REQUIRED_LIBRARIES dl pthread) | |
81 CHECK_LIBRARY_EXISTS(civetweb mg_start "" HAVE_CIVETWEB_LIB) | |
82 if (NOT HAVE_CIVETWEB_LIB) | |
83 message(FATAL_ERROR "Please install the libcivetweb-devel package") | |
84 endif() | |
85 | |
86 link_libraries(civetweb) | |
87 | |
88 add_definitions( | |
89 -DCIVETWEB_HAS_DISABLE_KEEP_ALIVE=0 | |
90 ) | |
91 endif() |