Mercurial > hg > orthanc-postgresql
changeset 174:db6cc80efed0
sync
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 17 Apr 2018 14:26:18 +0200 (2018-04-17) |
parents | 01c650c5aa18 |
children | 4ecd23ad4169 |
files | CMakeLists.txt Resources/Orthanc/DownloadOrthancFramework.cmake |
diffstat | 2 files changed, 35 insertions(+), 42 deletions(-) [+] |
line wrap: on
line diff
--- a/CMakeLists.txt Mon Apr 16 21:31:34 2018 +0200 +++ b/CMakeLists.txt Tue Apr 17 14:26:18 2018 +0200 @@ -46,6 +46,7 @@ # Initialize the Orthanc framework +set(ORTHANC_FRAMEWORK_PLUGIN ON) include(${ORTHANC_ROOT}/Resources/CMake/OrthancFrameworkParameters.cmake) set(ENABLE_LOCALE OFF) # Disable support for locales (notably in Boost)
--- a/Resources/Orthanc/DownloadOrthancFramework.cmake Mon Apr 16 21:31:34 2018 +0200 +++ b/Resources/Orthanc/DownloadOrthancFramework.cmake Tue Apr 17 14:26:18 2018 +0200 @@ -43,21 +43,12 @@ endif() -if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "hg" OR - ORTHANC_FRAMEWORK_SOURCE STREQUAL "web") - if (NOT STATIC_BUILD AND - NOT ALLOW_DOWNLOADS) - message(FATAL_ERROR "CMake is not allowed to download from Internet. Please set the ALLOW_DOWNLOADS option to ON") - endif() -endif() - - - ## ## Detection of the requested version ## if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "hg" OR + ORTHANC_FRAMEWORK_SOURCE STREQUAL "archive" OR ORTHANC_FRAMEWORK_SOURCE STREQUAL "web") if (NOT DEFINED ORTHANC_FRAMEWORK_VERSION) message(FATAL_ERROR "The variable ORTHANC_FRAMEWORK_VERSION must be set") @@ -65,10 +56,13 @@ if (DEFINED ORTHANC_FRAMEWORK_MAJOR OR DEFINED ORTHANC_FRAMEWORK_MINOR OR - DEFINED ORTHANC_FRAMEWORK_REVISION) + DEFINED ORTHANC_FRAMEWORK_REVISION OR + DEFINED ORTHANC_FRAMEWORK_MD5) message(FATAL_ERROR "Some internal variable has been set") endif() + set(ORTHANC_FRAMEWORK_MD5 "") + if (ORTHANC_FRAMEWORK_VERSION STREQUAL "mainline") set(ORTHANC_FRAMEWORK_BRANCH "default") @@ -85,6 +79,10 @@ NOT ORTHANC_FRAMEWORK_REVISION MATCHES "^[0-9]+$") message("Bad version of the Orthanc framework: ${ORTHANC_FRAMEWORK_VERSION}") endif() + + if (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.3.1") + set(ORTHANC_FRAMEWORK_MD5 "dac95bd6cf86fb19deaf4e612961f378") + endif() endif() endif() @@ -140,7 +138,7 @@ endif() if (NOT EXISTS ${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkParameters.cmake) - message(FATAL_ERROR "Directory not containing a version of Orthanc: ${ORTHANC_FRAMEWORK_ROOT}") + message(FATAL_ERROR "Directory not containing the source code of Orthanc: ${ORTHANC_FRAMEWORK_ROOT}") endif() set(ORTHANC_ROOT ${ORTHANC_FRAMEWORK_ROOT}) @@ -153,8 +151,12 @@ ## if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "hg") + if (NOT STATIC_BUILD AND NOT ALLOW_DOWNLOADS) + message(FATAL_ERROR "CMake is not allowed to download from Internet. Please set the ALLOW_DOWNLOADS option to ON") + endif() + set(ORTHANC_ROOT ${CMAKE_BINARY_DIR}/orthanc) - + if (NOT EXISTS ${ORTHANC_ROOT}) message("Forking the Orthanc source repository using Mercurial") @@ -193,20 +195,6 @@ if (NOT DEFINED ORTHANC_FRAMEWORK_ARCHIVE) message(FATAL_ERROR "The variable ORTHANC_FRAMEWORK_ARCHIVE must provide the path to the sources of Orthanc") endif() - - set(RE "^.*/Orthanc-([0-9]+)\\.([0-9]+)\\.([0-9]+).tar.gz$") - string(REGEX REPLACE ${RE} "\\1" ORTHANC_FRAMEWORK_MAJOR ${ORTHANC_FRAMEWORK_ARCHIVE}) - string(REGEX REPLACE ${RE} "\\2" ORTHANC_FRAMEWORK_MINOR ${ORTHANC_FRAMEWORK_ARCHIVE}) - string(REGEX REPLACE ${RE} "\\3" ORTHANC_FRAMEWORK_REVISION ${ORTHANC_FRAMEWORK_ARCHIVE}) - - if (NOT ORTHANC_FRAMEWORK_MAJOR MATCHES "^[0-9]+$" OR - NOT ORTHANC_FRAMEWORK_MINOR MATCHES "^[0-9]+$" OR - NOT ORTHANC_FRAMEWORK_REVISION MATCHES "^[0-9]+$") - message("Cannot detect the version of this release of Orthanc: ${ORTHANC_FRAMEWORK_ARCHIVE}") - endif() - - set(ORTHANC_FRAMEWORK_VERSION ${ORTHANC_FRAMEWORK_MAJOR}.${ORTHANC_FRAMEWORK_MINOR}.${ORTHANC_FRAMEWORK_REVISION}) - message("Detected version of Orthanc: ${ORTHANC_FRAMEWORK_VERSION}") endif() @@ -219,16 +207,14 @@ set(ORTHANC_FRAMEMORK_FILENAME Orthanc-${ORTHANC_FRAMEWORK_VERSION}.tar.gz) set(ORTHANC_FRAMEWORK_URL "https://www.orthanc-server.com/downloads/get.php?path=/orthanc/${ORTHANC_FRAMEMORK_FILENAME}") - if (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.3.1") - set(ORTHANC_FRAMEWORK_MD5 "dac95bd6cf86fb19deaf4e612961f378") - else() - message(FATAL_ERROR "Unknown release of Orthanc: ${ORTHANC_FRAMEWORK_VERSION}") - endif() - set(ORTHANC_FRAMEWORK_ARCHIVE "${CMAKE_SOURCE_DIR}/ThirdPartyDownloads/${ORTHANC_FRAMEMORK_FILENAME}") if (NOT EXISTS "${ORTHANC_FRAMEWORK_ARCHIVE}") - message("Downloading ${ORTHANC_FRAMEWORK_ARCHIVE}") + if (NOT STATIC_BUILD AND NOT ALLOW_DOWNLOADS) + message(FATAL_ERROR "CMake is not allowed to download from Internet. Please set the ALLOW_DOWNLOADS option to ON") + endif() + + message("Downloading: ${ORTHANC_FRAMEWORK_ARCHIVE}") file(DOWNLOAD "${ORTHANC_FRAMEWORK_URL}" "${ORTHANC_FRAMEWORK_ARCHIVE}" @@ -237,12 +223,7 @@ INACTIVITY_TIMEOUT 60 ) else() - message("Using local copy of ${ORTHANC_FRAMEWORK_URL}") - - file(MD5 ${ORTHANC_FRAMEWORK_ARCHIVE} ActualMD5) - if (NOT "${ActualMD5}" STREQUAL "${ORTHANC_FRAMEWORK_MD5}") - message(FATAL_ERROR "The MD5 hash of a previously download file is invalid: ${ORTHANC_FRAMEWORK_ARCHIVE}") - endif() + message("Using local copy of: ${ORTHANC_FRAMEWORK_URL}") endif() endif() @@ -258,10 +239,21 @@ ORTHANC_FRAMEWORK_SOURCE STREQUAL "web") if (NOT DEFINED ORTHANC_FRAMEWORK_ARCHIVE OR - NOT DEFINED ORTHANC_FRAMEWORK_VERSION) + NOT DEFINED ORTHANC_FRAMEWORK_VERSION OR + NOT DEFINED ORTHANC_FRAMEWORK_MD5) message(FATAL_ERROR "Internal error") endif() + if (ORTHANC_FRAMEWORK_MD5 STREQUAL "") + message(FATAL_ERROR "Unknown release of Orthanc: ${ORTHANC_FRAMEWORK_VERSION}") + endif() + + file(MD5 ${ORTHANC_FRAMEWORK_ARCHIVE} ActualMD5) + + if (NOT "${ActualMD5}" STREQUAL "${ORTHANC_FRAMEWORK_MD5}") + message(FATAL_ERROR "The MD5 hash of the Orthanc archive is invalid: ${ORTHANC_FRAMEWORK_ARCHIVE}") + endif() + set(ORTHANC_ROOT "${CMAKE_BINARY_DIR}/Orthanc-${ORTHANC_FRAMEWORK_VERSION}") if (NOT IS_DIRECTORY "${ORTHANC_ROOT}") @@ -269,7 +261,7 @@ message(FATAL_ERROR "Archive should have the \".tar.gz\" extension: ${ORTHANC_FRAMEWORK_ARCHIVE}") endif() - message("Uncompressing ${ORTHANC_FRAMEWORK_ARCHIVE}") + message("Uncompressing: ${ORTHANC_FRAMEWORK_ARCHIVE}") if ("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows") # How to silently extract files using 7-zip