Mercurial > hg > orthanc-wsi
comparison Resources/Orthanc/CMake/DownloadOrthancFramework.cmake @ 247:ad51ab8e1b2f
stop forcing C++11 in CMake
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 07 Dec 2021 12:41:52 +0100 |
parents | 5ed8d1cee52d |
children | 07e849ede9af |
comparison
equal
deleted
inserted
replaced
246:793b8f9c9d52 | 247:ad51ab8e1b2f |
---|---|
499 CHECK_INCLUDE_FILE_CXX(${JSONCPP_INCLUDE_DIR}/json/reader.h HAVE_JSONCPP_H) | 499 CHECK_INCLUDE_FILE_CXX(${JSONCPP_INCLUDE_DIR}/json/reader.h HAVE_JSONCPP_H) |
500 if (NOT HAVE_JSONCPP_H) | 500 if (NOT HAVE_JSONCPP_H) |
501 message(FATAL_ERROR "Please install the libjsoncpp-dev package") | 501 message(FATAL_ERROR "Please install the libjsoncpp-dev package") |
502 endif() | 502 endif() |
503 | 503 |
504 # Switch to the C++11 standard if the version of JsonCpp is 1.y.z | |
505 # (same as variable JSONCPP_CXX11 in the source code of Orthanc) | |
506 if (EXISTS ${JSONCPP_INCLUDE_DIR}/json/version.h) | |
507 file(STRINGS | |
508 "${JSONCPP_INCLUDE_DIR}/json/version.h" | |
509 JSONCPP_VERSION_MAJOR1 REGEX | |
510 ".*define JSONCPP_VERSION_MAJOR.*") | |
511 | |
512 if (NOT JSONCPP_VERSION_MAJOR1) | |
513 message(FATAL_ERROR "Unable to extract the major version of JsonCpp") | |
514 endif() | |
515 | |
516 string(REGEX REPLACE | |
517 ".*JSONCPP_VERSION_MAJOR.*([0-9]+)$" "\\1" | |
518 JSONCPP_VERSION_MAJOR ${JSONCPP_VERSION_MAJOR1}) | |
519 message("JsonCpp major version: ${JSONCPP_VERSION_MAJOR}") | |
520 | |
521 if (JSONCPP_VERSION_MAJOR GREATER 0) | |
522 message("Switching to C++11 standard, as version of JsonCpp is >= 1.0.0") | |
523 if (CMAKE_COMPILER_IS_GNUCXX) | |
524 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") | |
525 elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | |
526 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") | |
527 endif() | |
528 endif() | |
529 else() | |
530 message("Unable to detect the major version of JsonCpp, assuming < 1.0.0") | |
531 endif() | |
532 | |
533 # Look for Orthanc framework shared library | 504 # Look for Orthanc framework shared library |
534 include(CheckCXXSymbolExists) | 505 include(CheckCXXSymbolExists) |
535 | 506 |
536 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") | 507 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") |
537 set(ORTHANC_FRAMEWORK_INCLUDE_DIR ${ORTHANC_FRAMEWORK_ROOT}) | 508 set(ORTHANC_FRAMEWORK_INCLUDE_DIR ${ORTHANC_FRAMEWORK_ROOT}) |