Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Bård Skaflestad 2013-08-02 19:33:28 +02:00
commit 0dadf45dc9
3 changed files with 47 additions and 0 deletions

View File

@ -49,3 +49,42 @@ else ()
add_dependencies (${${project}_TARGET} update-version) add_dependencies (${${project}_TARGET} update-version)
endif () endif ()
endif () endif ()
# safety precaution: check that we don't have version number mismatch.
# first get the name of the module (e.g. "core")
set (_module_regexp "([^-]+)-(.*)")
string (REGEX REPLACE "${_module_regexp}" "\\1" _suite_name "${project}")
string (REGEX REPLACE "${_module_regexp}" "\\2" _module_name "${project}")
# if we have a version number it must be in this file, e.g. opm/core/version.h
set (_rel_ver_h "${${project}_DIR}/${_module_name}/version.h")
set (_version_h "${PROJECT_SOURCE_DIR}/${_rel_ver_h}")
# not all modules have version files, so only check if they do
if (EXISTS "${_version_h}")
# uppercase versions which is used in the file
string (TOUPPER "${_suite_name}" _suite_upper)
string (TOUPPER "${_module_name}" _module_upper)
# scan the files for version define for major version
set (_major_regexp "#define[ ]+${_suite_upper}_${_module_upper}_VERSION_MAJOR[ ]+([0-9]*)")
file (STRINGS "${_version_h}" _version_h_major REGEX "${_major_regexp}")
string (REGEX REPLACE "${_major_regexp}" "\\1" _version_h_major "${_version_h_major}")
# exactly the same, but minor version (making a macro is more lines...)
set (_minor_regexp "#define[ ]+${_suite_upper}_${_module_upper}_VERSION_MINOR[ ]+([0-9]*)")
file (STRINGS "${_version_h}" _version_h_minor REGEX "${_minor_regexp}")
string (REGEX REPLACE "${_minor_regexp}" "\\1" _version_h_minor "${_version_h_minor}")
# compare what we got from the file with what we have defined here
if (NOT (("${_version_h_major}" EQUAL "${${project}_VERSION_MAJOR}")
AND ("${_version_h_minor}" EQUAL "${${project}_VERSION_MINOR}")))
set (_proj_ver "${${project}_VERSION_MAJOR}.${${project}_VERSION_MINOR}")
set (_file_ver "${_version_h_major}.${_version_h_minor}")
message (AUTHOR_WARNING
"Version in build system (dune.module) is \"${_proj_ver}\", "
"but version in source (${_rel_ver_h}) is \"${_file_ver}\""
)
endif ()
endif ()

View File

@ -1,5 +1,6 @@
Module: opm-core Module: opm-core
Description: Open Porous Media Initiative Core Library Description: Open Porous Media Initiative Core Library
# if you change this, make sure to also change opm/core/version.h
Version: 1.0 Version: 1.0
Label: 2013.03 Label: 2013.03
Maintainer: atgeirr@sintef.no Maintainer: atgeirr@sintef.no

View File

@ -2,3 +2,10 @@
* This symbol is initialized with the built version of the library. * This symbol is initialized with the built version of the library.
*/ */
extern const char* const opm_core_version; extern const char* const opm_core_version;
/**
* Current API level (for use with DUNE_VERSION_xxx):
*/
#define OPM_CORE_VERSION_MAJOR 1
#define OPM_CORE_VERSION_MINOR 0
#define OPM_CORE_VERSION_REVISION 0