Note that on standalone, json headers are installed in json/, no idea why in the packages this isn't the case... But anyway, it isn't used at all anymore now so it doesn't really matter. I didn't remove the json package for non-standalone and the downloading thereof... (I can't test non-standalone).
61 lines
1.9 KiB
CMake
61 lines
1.9 KiB
CMake
# -*- cmake -*-
|
|
|
|
# - Find JSONCpp
|
|
# Find the JSONCpp includes and library
|
|
# This module defines
|
|
# JSONCPP_INCLUDE_DIR, where to find json.h, etc.
|
|
# JSONCPP_LIBRARIES, the libraries needed to use jsoncpp.
|
|
# JSONCPP_FOUND, If false, do not try to use jsoncpp.
|
|
# also defined, but not for general use are
|
|
# JSONCPP_LIBRARY, where to find the jsoncpp library.
|
|
|
|
FIND_PATH(JSONCPP_INCLUDE_DIR json/json.h
|
|
/usr/local/include
|
|
/usr/include
|
|
)
|
|
|
|
# Get the GCC compiler version
|
|
EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
|
|
ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
|
|
OUTPUT_VARIABLE _gcc_COMPILER_VERSION
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
# Try to find a library that was compiled with the same compiler version as we currently use.
|
|
SET(JSONCPP_NAMES ${JSONCPP_NAMES} libjson_linux-gcc-${_gcc_COMPILER_VERSION}_libmt.so)
|
|
IF (STANDALONE)
|
|
# On standalone, assume that the system installed library was compiled with the used compiler.
|
|
SET(JSONCPP_NAMES ${JSONCPP_NAMES} libjson.so)
|
|
ENDIF (STANDALONE)
|
|
FIND_LIBRARY(JSONCPP_LIBRARY
|
|
NAMES ${JSONCPP_NAMES}
|
|
PATHS /usr/lib /usr/local/lib
|
|
)
|
|
|
|
IF (JSONCPP_LIBRARY AND JSONCPP_INCLUDE_DIR)
|
|
SET(JSONCPP_LIBRARIES ${JSONCPP_LIBRARY})
|
|
SET(JSONCPP_FOUND "YES")
|
|
ELSE (JSONCPP_LIBRARY AND JSONCPP_INCLUDE_DIR)
|
|
SET(JSONCPP_FOUND "NO")
|
|
ENDIF (JSONCPP_LIBRARY AND JSONCPP_INCLUDE_DIR)
|
|
|
|
|
|
IF (JSONCPP_FOUND)
|
|
IF (NOT JSONCPP_FIND_QUIETLY)
|
|
MESSAGE(STATUS "Found JSONCpp: ${JSONCPP_LIBRARIES}")
|
|
ENDIF (NOT JSONCPP_FIND_QUIETLY)
|
|
ELSE (JSONCPP_FOUND)
|
|
IF (JSONCPP_FIND_REQUIRED)
|
|
MESSAGE(FATAL_ERROR "Could not find JSONCpp library")
|
|
ENDIF (JSONCPP_FIND_REQUIRED)
|
|
ENDIF (JSONCPP_FOUND)
|
|
|
|
# Deprecated declarations.
|
|
SET (NATIVE_JSONCPP_INCLUDE_PATH ${JSONCPP_INCLUDE_DIR} )
|
|
GET_FILENAME_COMPONENT (NATIVE_JSONCPP_LIB_PATH ${JSONCPP_LIBRARY} PATH)
|
|
|
|
MARK_AS_ADVANCED(
|
|
JSONCPP_LIBRARY
|
|
JSONCPP_INCLUDE_DIR
|
|
)
|