diff options
author | Friedrich W. H. Kossebau <kossebau@kde.org> | 2019-10-30 01:52:08 +0100 |
---|---|---|
committer | Friedrich W. H. Kossebau <kossebau@kde.org> | 2019-10-30 01:52:08 +0100 |
commit | bebafb8a2d0030120f8028eae0206c1bf1ba208d (patch) | |
tree | d56c927b2b074568941b8479d2fabb5dd0db9a97 | |
parent | fd6e98ba6de89a7f08364bb2ec096a5310c1cde8 (diff) | |
download | extra-cmake-modules-5.64.0-rc1.tar.gz extra-cmake-modules-5.64.0-rc1.tar.bz2 |
ECMGenerateExportHeader: allow ecm_[..]_format_version wo/ CURRENT_VERSIONv5.64.0-rc1v5.64.0
GIT_SILENT
-rw-r--r-- | modules/ECMGenerateExportHeader.cmake | 6 | ||||
-rw-r--r-- | tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt | 26 |
2 files changed, 27 insertions, 5 deletions
diff --git a/modules/ECMGenerateExportHeader.cmake b/modules/ECMGenerateExportHeader.cmake index 96c1f696..81bf33e3 100644 --- a/modules/ECMGenerateExportHeader.cmake +++ b/modules/ECMGenerateExportHeader.cmake @@ -383,14 +383,14 @@ function(ecm_export_header_format_version _version) ) cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - if (NOT ARGS_CURRENT_VERSION) - message(FATAL_ERROR "No CURRENT_VERSION passed when calling ecm_export_header_format_version().") - endif() if (NOT ARGS_STRING_VAR AND NOT ARGS_HEXNUMBER_VAR) message(FATAL_ERROR "No STRING_VAR or HEXNUMBER_VAR passed when calling ecm_export_header_format_version().") endif() if(_version STREQUAL "CURRENT") + if (NOT ARGS_CURRENT_VERSION ) + message(FATAL_ERROR "\"CURRENT\" as version value not supported when CURRENT_VERSION not passed on calling ecm_export_header_format_version().") + endif() set(_version ${ARGS_CURRENT_VERSION}) endif() diff --git a/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt b/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt index b46719c2..bcb681d2 100644 --- a/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt +++ b/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt @@ -9,7 +9,7 @@ include(../../test_helpers.cmake) set(_current_version "4.5.6") -# check 0 +# check 0: with CURRENT_VERSION ecm_export_header_format_version(0 CURRENT_VERSION ${_current_version} STRING_VAR _versionstring @@ -19,7 +19,16 @@ ecm_export_header_format_version(0 assert_var_str_value(_versionstring "0") assert_var_str_value(_hexnumber "0") -# check other +# check 0: no CURRENT_VERSION +ecm_export_header_format_version(0 + STRING_VAR _versionstring + HEXNUMBER_VAR _hexnumber +) + +assert_var_str_value(_versionstring "0") +assert_var_str_value(_hexnumber "0") + +# check some version: with CURRENT_VERSION ecm_export_header_format_version(1.2.3 CURRENT_VERSION ${_current_version} STRING_VAR _versionstring @@ -33,6 +42,19 @@ else() assert_var_str_value(_hexnumber "66051") endif() +# check some version: no CURRENT_VERSION +ecm_export_header_format_version(1.2.3 + STRING_VAR _versionstring + HEXNUMBER_VAR _hexnumber +) + +assert_var_str_value(_versionstring "1.2.3") +if (NOT CMAKE_VERSION VERSION_LESS 3.13) + assert_var_str_value(_hexnumber "0x10203") +else() + assert_var_str_value(_hexnumber "66051") +endif() + # check CURRENT ecm_export_header_format_version(CURRENT CURRENT_VERSION ${_current_version} |