diff options
3 files changed, 43 insertions, 0 deletions
diff --git a/tests/ECMSetupVersionTest/CMakeLists.txt b/tests/ECMSetupVersionTest/CMakeLists.txt index 242543e1..d757b75f 100644 --- a/tests/ECMSetupVersionTest/CMakeLists.txt +++ b/tests/ECMSetupVersionTest/CMakeLists.txt @@ -36,6 +36,7 @@ if(CMAKE_MAJOR_VERSION GREATER 2) add_version_test(new_project_header_abspath check_header) add_version_test(new_project_header_prefix check_header) add_version_test(new_project_header_zero_prefixed_version check_header) + add_version_test(new_project_header_expected_zero_version check_header) add_version_test(new_project_simple dummy) add_version_test(new_project_simple_no_version_string_vars dummy) add_version_test(new_project_simple_prefix dummy) diff --git a/tests/ECMSetupVersionTest/new_project_header_expected_zero_version/CMakeLists.txt b/tests/ECMSetupVersionTest/new_project_header_expected_zero_version/CMakeLists.txt new file mode 100644 index 00000000..d6d4565b --- /dev/null +++ b/tests/ECMSetupVersionTest/new_project_header_expected_zero_version/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required(VERSION 3.16.0) + +project(new_project_header_expected_zero_version VERSION "08.00.0") + +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules) + +include(ECMSetupVersion) + +ecm_setup_version(PROJECT + VERSION_HEADER "new_project_header_expected_zero_version.h" +) + +include(../version_helpers.cmake) +# NB: name comes from project() command +standard_version_var_checks(new_project_header_expected_zero_version "08.00.0") + +add_executable(check_header main.c) +target_include_directories(check_header PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") diff --git a/tests/ECMSetupVersionTest/new_project_header_expected_zero_version/main.c b/tests/ECMSetupVersionTest/new_project_header_expected_zero_version/main.c new file mode 100644 index 00000000..9ffc180b --- /dev/null +++ b/tests/ECMSetupVersionTest/new_project_header_expected_zero_version/main.c @@ -0,0 +1,24 @@ +#include <new_project_header_expected_zero_version.h> +#include <string.h> +#include <stdio.h> + +#define intcheck(macro,val) \ + if (macro != val) { \ + printf(#macro " was %d instead of %d", macro, val); \ + return 1; \ + } +#define strcheck(macro,val) \ + if (strcmp(macro,val) != 0) { \ + printf(#macro " was %s instead of %s", macro, val); \ + return 1; \ + } + +int main() +{ + intcheck(new_project_header_expected_zero_version_VERSION_MAJOR,8) + intcheck(new_project_header_expected_zero_version_VERSION_MINOR,0) + intcheck(new_project_header_expected_zero_version_VERSION_PATCH,0) + intcheck(new_project_header_expected_zero_version_VERSION,((8 << 16) + (0 << 8) + 0)) + strcheck(new_project_header_expected_zero_version_VERSION_STRING,"08.00.0") + return 0; +} |