diff options
| -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} | 
