diff --git a/.gitignore b/.gitignore index 60c4a0b..aa5d4c6 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,3 @@ /libs/ /doc/doxyfile /dist/ -/include/json/version.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 088bcba..85e954e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,38 +30,6 @@ FUNCTION(set_using_dynamic_name VAR_NAME VALUE) SET( "${VAR_NAME}" "${VALUE}" PARENT_SCOPE) ENDFUNCTION(set_using_dynamic_name) -# Extract major, minor, patch and qualifier from version text -# Parse a version string "X.Y.Z[-qualifier]" and outputs -# version parts in ${OUPUT_PREFIX}_MAJOR, _MINOR, _PATCH, _QUALIFIER. -# If parse succed then ${OUPUT_PREFIX}_FOUND is TRUE. -MACRO(jsoncpp_parse_version VERSION_TEXT OUPUT_PREFIX) - SET(VERSION_REGEX "[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9_]+)?") - IF( ${VERSION_TEXT} MATCHES ${VERSION_REGEX} ) - STRING(REGEX MATCHALL "[0-9]+|-([A-Za-z0-9_]+)" VERSION_PARTS ${VERSION_TEXT}) - list(APPEND VERSION_PARTS "") # empty qualifier to handle no qualifier case - LIST(GET VERSION_PARTS 0 ${OUPUT_PREFIX}_MAJOR) - LIST(GET VERSION_PARTS 1 ${OUPUT_PREFIX}_MINOR) - LIST(GET VERSION_PARTS 2 ${OUPUT_PREFIX}_PATCH) - LIST(GET VERSION_PARTS 3 ${OUPUT_PREFIX}_QUALIFIER) - set_using_dynamic_name( "${OUPUT_PREFIX}_FOUND" TRUE ) - ELSE( ${VERSION_TEXT} MATCHES ${VERSION_REGEX} ) - set_using_dynamic_name( "${OUPUT_PREFIX}_FOUND" FALSE ) - ENDIF( ${VERSION_TEXT} MATCHES ${VERSION_REGEX} ) -ENDMACRO(jsoncpp_parse_version) - -# Read out version from "version" file -FILE(STRINGS "version" JSONCPP_VERSION) - -jsoncpp_parse_version( ${JSONCPP_VERSION} JSONCPP_VERSION ) -IF(NOT JSONCPP_VERSION_FOUND) - MESSAGE(FATAL_ERROR "Failed to parse version string properly. Expect X.Y.Z[-qualifier]") -ENDIF(NOT JSONCPP_VERSION_FOUND) - -MESSAGE(STATUS "JsonCpp Version: ${JSONCPP_VERSION_MAJOR}.${JSONCPP_VERSION_MINOR}.${JSONCPP_VERSION_PATCH}${JSONCPP_VERSION_QUALIFIER}") -# File version.h is only regenerated on CMake configure step -CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/src/lib_json/version.h.in" - "${PROJECT_SOURCE_DIR}/include/json/version.h" ) - macro(UseCompilationWarningAsError) if ( MSVC ) # Only enabled in debug because some old versions of VS STL generate diff --git a/include/json/version.h b/include/json/version.h new file mode 100644 index 0000000..d3466c0 --- /dev/null +++ b/include/json/version.h @@ -0,0 +1,14 @@ +// DO NOT EDIT. This file is generated by CMake from "version" +// and "version.h.in" files. +// Run CMake configure step to update it. +#ifndef JSON_VERSION_H_INCLUDED +# define JSON_VERSION_H_INCLUDED + +# define JSONCPP_VERSION_STRING "0.6.0-dev" +# define JSONCPP_VERSION_MAJOR 0 +# define JSONCPP_VERSION_MINOR 6 +# define JSONCPP_VERSION_PATCH 0 +# define JSONCPP_VERSION_QUALIFIER -dev +# define JSONCPP_VERSION_HEXA ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | (JSONCPP_VERSION_PATCH << 8)) + +#endif // JSON_VERSION_H_INCLUDED diff --git a/src/lib_json/CMakeLists.txt b/src/lib_json/CMakeLists.txt index dc3d977..91e1806 100644 --- a/src/lib_json/CMakeLists.txt +++ b/src/lib_json/CMakeLists.txt @@ -34,7 +34,6 @@ ADD_LIBRARY( jsoncpp_lib ${JSONCPP_LIB_TYPE} json_valueiterator.inl json_value.cpp json_writer.cpp - version.h.in ) SET_TARGET_PROPERTIES( jsoncpp_lib PROPERTIES OUTPUT_NAME jsoncpp ) SET_TARGET_PROPERTIES( jsoncpp_lib PROPERTIES VERSION ${JSON_CPP_VERSION} SOVERSION ${JSON_CPP_VERSION} )