Mercurial > hg > orthanc-webviewer
diff Orthanc/Resources/CMake/JsonCppConfiguration.cmake @ 128:e8cfda4c8a2f
Sync + support of JPEG2000 lossless images with YBR_RCT photometric interpretation
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 15 Apr 2016 21:44:03 +0200 |
parents | d6da56f86e5a |
children | 08f30c8962a7 |
line wrap: on
line diff
--- a/Orthanc/Resources/CMake/JsonCppConfiguration.cmake Fri Mar 25 17:38:34 2016 +0100 +++ b/Orthanc/Resources/CMake/JsonCppConfiguration.cmake Fri Apr 15 21:44:03 2016 +0200 @@ -32,4 +32,29 @@ message(FATAL_ERROR "Please install the libjsoncpp-dev package") endif() + # Switch to the C++11 standard if the version of JsonCpp is 1.y.z + if (EXISTS ${JSONCPP_INCLUDE_DIR}/json/version.h) + file(STRINGS + "${JSONCPP_INCLUDE_DIR}/json/version.h" + JSONCPP_VERSION_MAJOR1 REGEX + ".*define JSONCPP_VERSION_MAJOR.*") + + if (NOT JSONCPP_VERSION_MAJOR1) + message(FATAL_ERROR "Unable to extract the major version of JsonCpp") + endif() + + string(REGEX REPLACE + ".*JSONCPP_VERSION_MAJOR.*([0-9]+)$" "\\1" + JSONCPP_VERSION_MAJOR ${JSONCPP_VERSION_MAJOR1}) + message("JsonCpp major version: ${JSONCPP_VERSION_MAJOR}") + + if (CMAKE_COMPILER_IS_GNUCXX AND + JSONCPP_VERSION_MAJOR GREATER 0) + message("Switching to C++11 standard, as version of JsonCpp is >= 1.0.0") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-deprecated-declarations") + endif() + else() + message("Unable to detect the major version of JsonCpp, assuming < 1.0.0") + endif() + endif()