comparison Resources/CMake/JsonCppConfiguration.cmake @ 1948:326fdda31b42

fix
author jodogne
date Tue, 05 Apr 2016 10:22:19 +0200
parents c1053112b323
children 8b51b133bb8b
comparison
equal deleted inserted replaced
1947:c1053112b323 1948:326fdda31b42
31 if (NOT HAVE_JSONCPP_H) 31 if (NOT HAVE_JSONCPP_H)
32 message(FATAL_ERROR "Please install the libjsoncpp-dev package") 32 message(FATAL_ERROR "Please install the libjsoncpp-dev package")
33 endif() 33 endif()
34 34
35 # Switch to the C++11 standard if the version of JsonCpp is 1.y.z 35 # Switch to the C++11 standard if the version of JsonCpp is 1.y.z
36 message(${JSONCPP_INCLUDE_DIR}/json/version.h)
37 if (EXISTS ${JSONCPP_INCLUDE_DIR}/json/version.h) 36 if (EXISTS ${JSONCPP_INCLUDE_DIR}/json/version.h)
38 file(STRINGS 37 file(STRINGS
39 "${JSONCPP_INCLUDE_DIR}/json/version.h" 38 "${JSONCPP_INCLUDE_DIR}/json/version.h"
40 JSONCPP_VERSION_MAJOR1 REGEX 39 JSONCPP_VERSION_MAJOR1 REGEX
41 ".*JSONCPP_VERSION_MAJOR .*") 40 ".*define JSONCPP_VERSION_MAJOR.*")
41
42 if (NOT JSONCPP_VERSION_MAJOR1)
43 message(FATAL_ERROR "Unable to extract the major version of JsonCpp")
44 endif()
45
42 string(REGEX REPLACE 46 string(REGEX REPLACE
43 ".*JSONCPP_VERSION_MAJOR ([0-9]+)\\s*$" "\\1" 47 ".*JSONCPP_VERSION_MAJOR.*([0-9]+)$" "\\1"
44 JSONCPP_VERSION_MAJOR ${JSONCPP_VERSION_MAJOR1}) 48 JSONCPP_VERSION_MAJOR ${JSONCPP_VERSION_MAJOR1})
45 message("JsonCpp major version: ${JSONCPP_VERSION_MAJOR}") 49 message("JsonCpp major version: ${JSONCPP_VERSION_MAJOR}")
46 50
47 if (CMAKE_COMPILER_IS_GNUCXX AND 51 if (CMAKE_COMPILER_IS_GNUCXX AND
48 JSONCPP_VERSION_MAJOR GREATER 0) 52 JSONCPP_VERSION_MAJOR GREATER 0)
49 message("Switching to C++11 standard, as version of JsonCpp is >= 1.0.0") 53 message("Switching to C++11 standard, as version of JsonCpp is >= 1.0.0")
50 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 54 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-deprecated-declarations")
51 endif() 55 endif()
52 else() 56 else()
53 message("Unable to detect the major version of JsonCpp, assuming < 1.0.0") 57 message("Unable to detect the major version of JsonCpp, assuming < 1.0.0")
54 endif() 58 endif()
55 59