aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Giboudeaux <christophe@krop.fr>2021-08-06 08:43:29 +0200
committerChristophe Giboudeaux <christophe@krop.fr>2021-08-06 08:43:29 +0200
commitfcd003b8b672f5a162e682b17a72ed2564be23a8 (patch)
treeaa724c9f6964a85f28e34afb2f38f7f7ce5b8c56
parent602e48163b01db0bfcc909295e9a213d9b1b76da (diff)
downloadextra-cmake-modules-fcd003b8b672f5a162e682b17a72ed2564be23a8.tar.gz
extra-cmake-modules-fcd003b8b672f5a162e682b17a72ed2564be23a8.tar.bz2
Add another test for ECMSetupVersion
Amends: f0790f910 GIT_SILENT
-rw-r--r--tests/ECMSetupVersionTest/CMakeLists.txt1
-rw-r--r--tests/ECMSetupVersionTest/new_project_header_expected_zero_version/CMakeLists.txt18
-rw-r--r--tests/ECMSetupVersionTest/new_project_header_expected_zero_version/main.c24
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;
+}