Advance Wayland and KDE package bring-up
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
+47
@@ -0,0 +1,47 @@
|
||||
macro(add_version_test NAME COMMAND)
|
||||
string(REPLACE "." "/" dir "${NAME}")
|
||||
string(REGEX REPLACE "[^.]*\\." "" proj "${NAME}")
|
||||
add_test(ecm_setup_version-${NAME} ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/${dir}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${dir}"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_MAKE_PROGRAM}
|
||||
--build-project ${proj}
|
||||
${${NAME}_EXTRA_OPTIONS}
|
||||
--test-command ${COMMAND} ${ARGN})
|
||||
endmacro()
|
||||
|
||||
add_version_test(old_simple dummy)
|
||||
add_version_test(old_simple_no_version_string_vars dummy)
|
||||
add_version_test(old_soversion dummy)
|
||||
add_version_test(old_version_file dummy)
|
||||
add_version_test(old_version_file_abspath dummy)
|
||||
add_version_test(old_version_file_anynewer dummy)
|
||||
add_version_test(old_version_file_exact dummy)
|
||||
add_version_test(old_version_file_samemajor dummy)
|
||||
add_version_test(old_header check_header)
|
||||
add_version_test(old_header_abspath check_header)
|
||||
|
||||
if(CMAKE_MAJOR_VERSION GREATER 2)
|
||||
add_version_test(new_explicit_header check_header)
|
||||
add_version_test(new_explicit_header_abspath check_header)
|
||||
add_version_test(new_explicit_simple dummy)
|
||||
add_version_test(new_explicit_simple_no_version_string_vars dummy)
|
||||
add_version_test(new_explicit_soversion dummy)
|
||||
add_version_test(new_explicit_version_file dummy)
|
||||
add_version_test(new_explicit_version_file_abspath dummy)
|
||||
add_version_test(new_project_header check_header)
|
||||
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)
|
||||
add_version_test(new_project_soversion dummy)
|
||||
add_version_test(new_project_soversion_prefix dummy)
|
||||
add_version_test(new_project_version_file dummy)
|
||||
add_version_test(new_project_version_file_abspath dummy)
|
||||
endif()
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_explicit_header VERSION 1.5.6.7)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
VERSION_HEADER "ecm_new_explicit_header_version.h"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
project_version_var_checks(1.5.6.7)
|
||||
version_var_checks(Foo 2.3.4)
|
||||
assert_var_num_value(Foo_SOVERSION 2)
|
||||
|
||||
add_executable(check_header main.c)
|
||||
target_include_directories(check_header PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#include <ecm_new_explicit_header_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(Foo_VERSION_MAJOR,2)
|
||||
intcheck(Foo_VERSION_MINOR,3)
|
||||
intcheck(Foo_VERSION_PATCH,4)
|
||||
intcheck(Foo_VERSION,((2 << 16) + (3 << 8) + 4))
|
||||
strcheck(Foo_VERSION_STRING,"2.3.4")
|
||||
return 0;
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_explicit_header_abspath VERSION 1.5.6.7)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/../ecm_new_explicit_header_abspath_version.h"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
project_version_var_checks(1.5.6.7)
|
||||
version_var_checks(Foo 2.3.4)
|
||||
assert_var_num_value(Foo_SOVERSION 2)
|
||||
|
||||
add_executable(check_header main.c)
|
||||
target_include_directories(check_header PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/..")
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#include <ecm_new_explicit_header_abspath_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(Foo_VERSION_MAJOR,2)
|
||||
intcheck(Foo_VERSION_MINOR,3)
|
||||
intcheck(Foo_VERSION_PATCH,4)
|
||||
intcheck(Foo_VERSION,((2 << 16) + (3 << 8) + 4))
|
||||
strcheck(Foo_VERSION_STRING,"2.3.4")
|
||||
return 0;
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_explicit_simple VERSION 1.5.6.7)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4 VARIABLE_PREFIX Foo)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
project_version_var_checks(1.5.6.7)
|
||||
version_var_checks(Foo 2.3.4)
|
||||
assert_var_num_value(Foo_SOVERSION 2)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_explicit_simple VERSION 1.5.6.7)
|
||||
|
||||
# trigger *_VERSION_STRING vars no longer being set
|
||||
set(ECM_GLOBAL_FIND_VERSION 5.83)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4 VARIABLE_PREFIX Foo)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
project_version_var_checks(1.5.6.7)
|
||||
version_var_checks(Foo 2.3.4)
|
||||
assert_var_num_value(Foo_SOVERSION 2)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_explicit_soversion VERSION 1.5.6.7)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
SOVERSION 1
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
project_version_var_checks(1.5.6.7)
|
||||
version_var_checks(Foo 2.3.4)
|
||||
assert_var_num_value(Foo_SOVERSION 1)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_explicit_version_file VERSION 1.5.6.7)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
PACKAGE_VERSION_FILE FooVersion.cmake
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
project_version_var_checks(1.5.6.7)
|
||||
version_var_checks(Foo 2.3.4)
|
||||
assert_var_num_value(Foo_SOVERSION 2)
|
||||
|
||||
AnyNewer_2_3_4_checks("${CMAKE_CURRENT_BINARY_DIR}/FooVersion.cmake")
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_explicit_version_abspath VERSION 1.5.6.7)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/../NewExplicitVersionAbsPath.cmake"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
project_version_var_checks(1.5.6.7)
|
||||
version_var_checks(Foo 2.3.4)
|
||||
assert_var_num_value(Foo_SOVERSION 2)
|
||||
|
||||
AnyNewer_2_3_4_checks("${CMAKE_CURRENT_BINARY_DIR}/../NewExplicitVersionAbsPath.cmake")
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_project_header VERSION 2.3.4)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT
|
||||
VERSION_HEADER "ecm_new_project_header_version.h"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
# NB: name comes from project() command
|
||||
standard_version_var_checks(new_project_header 2.3.4)
|
||||
|
||||
add_executable(check_header main.c)
|
||||
target_include_directories(check_header PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#include <ecm_new_project_header_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_VERSION_MAJOR,2)
|
||||
intcheck(new_project_header_VERSION_MINOR,3)
|
||||
intcheck(new_project_header_VERSION_PATCH,4)
|
||||
intcheck(new_project_header_VERSION,((2 << 16) + (3 << 8) + 4))
|
||||
strcheck(new_project_header_VERSION_STRING,"2.3.4")
|
||||
return 0;
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_project_header_abspath VERSION 2.3.4)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT
|
||||
VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/../ecm_new_project_header_abspath_version.h"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
# NB: name comes from project() command
|
||||
standard_version_var_checks(new_project_header_abspath 2.3.4)
|
||||
|
||||
add_executable(check_header main.c)
|
||||
target_include_directories(check_header PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/..")
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#include <ecm_new_project_header_abspath_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_abspath_VERSION_MAJOR,2)
|
||||
intcheck(new_project_header_abspath_VERSION_MINOR,3)
|
||||
intcheck(new_project_header_abspath_VERSION_PATCH,4)
|
||||
intcheck(new_project_header_abspath_VERSION,((2 << 16) + (3 << 8) + 4))
|
||||
strcheck(new_project_header_abspath_VERSION_STRING,"2.3.4")
|
||||
return 0;
|
||||
}
|
||||
+18
@@ -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}")
|
||||
+24
@@ -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;
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_project_header_prefix VERSION 2.3.4)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT
|
||||
VARIABLE_PREFIX Foo
|
||||
VERSION_HEADER "ecm_new_project_header_version.h"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
|
||||
add_executable(check_header main.c)
|
||||
target_include_directories(check_header PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#include <ecm_new_project_header_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(Foo_VERSION_MAJOR,2)
|
||||
intcheck(Foo_VERSION_MINOR,3)
|
||||
intcheck(Foo_VERSION_PATCH,4)
|
||||
intcheck(Foo_VERSION,((2 << 16) + (3 << 8) + 4))
|
||||
strcheck(Foo_VERSION_STRING,"2.3.4")
|
||||
return 0;
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
cmake_minimum_required(VERSION 3.16.0)
|
||||
|
||||
project(new_project_header_zero_prefixed_version VERSION "08.09.07")
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT
|
||||
VERSION_HEADER "new_project_header_zero_prefixed_version.h"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
# NB: name comes from project() command
|
||||
standard_version_var_checks(new_project_header_zero_prefixed_version "08.09.07")
|
||||
|
||||
add_executable(check_header main.c)
|
||||
target_include_directories(check_header PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#include <new_project_header_zero_prefixed_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_zero_prefixed_version_VERSION_MAJOR,8)
|
||||
intcheck(new_project_header_zero_prefixed_version_VERSION_MINOR,9)
|
||||
intcheck(new_project_header_zero_prefixed_version_VERSION_PATCH,7)
|
||||
intcheck(new_project_header_zero_prefixed_version_VERSION,((8 << 16) + (9 << 8) + 7))
|
||||
strcheck(new_project_header_zero_prefixed_version_VERSION_STRING,"08.09.07")
|
||||
return 0;
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_project_simple VERSION 2.3.4)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
# NB: name comes from project() command
|
||||
standard_version_var_checks(new_project_simple 2.3.4)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_project_simple VERSION 2.3.4)
|
||||
|
||||
# trigger *_VERSION_STRING vars no longer being set
|
||||
set(ECM_GLOBAL_FIND_VERSION 5.83)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
# NB: name comes from project() command
|
||||
standard_version_var_checks(new_project_simple 2.3.4)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_project_simple_prefix VERSION 2.3.4)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT VARIABLE_PREFIX Foo)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_project_soversion VERSION 2.3.4)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT
|
||||
SOVERSION 1
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
# NB: name comes from project() command
|
||||
standard_version_var_checks(new_project_soversion 2.3.4 1)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_project_soversion_prefix VERSION 2.3.4)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT
|
||||
VARIABLE_PREFIX Foo
|
||||
SOVERSION 1
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
standard_version_var_checks(Foo 2.3.4 1)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_project_version_file VERSION 2.3.4)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT
|
||||
PACKAGE_VERSION_FILE FooVersion.cmake
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
# NB: name comes from project() command
|
||||
standard_version_var_checks(new_project_version_file 2.3.4)
|
||||
AnyNewer_2_3_4_checks("${CMAKE_CURRENT_BINARY_DIR}/FooVersion.cmake")
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
project(new_project_version_file_abspath VERSION 2.3.4)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(PROJECT
|
||||
PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/../NewProjectVersionAbsPath.cmake"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
|
||||
# NB: name comes from project() command
|
||||
standard_version_var_checks(new_project_version_file_abspath 2.3.4)
|
||||
AnyNewer_2_3_4_checks("${CMAKE_CURRENT_BINARY_DIR}/../NewProjectVersionAbsPath.cmake")
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
cmake_policy(SET CMP0048 OLD)
|
||||
project(old_header)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
VERSION_HEADER "ecm_old_header_version.h"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
|
||||
add_executable(check_header main.c)
|
||||
target_include_directories(check_header PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#include <ecm_old_header_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(Foo_VERSION_MAJOR,2)
|
||||
intcheck(Foo_VERSION_MINOR,3)
|
||||
intcheck(Foo_VERSION_PATCH,4)
|
||||
intcheck(Foo_VERSION,((2 << 16) + (3 << 8) + 4))
|
||||
strcheck(Foo_VERSION_STRING,"2.3.4")
|
||||
return 0;
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
cmake_policy(SET CMP0048 OLD)
|
||||
project(old_header_abspath)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/../ecm_old_header_abspath_version.h"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
|
||||
add_executable(check_header main.c)
|
||||
target_include_directories(check_header PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/..")
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#include <ecm_old_header_abspath_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(Foo_VERSION_MAJOR,2)
|
||||
intcheck(Foo_VERSION_MINOR,3)
|
||||
intcheck(Foo_VERSION_PATCH,4)
|
||||
intcheck(Foo_VERSION,((2 << 16) + (3 << 8) + 4))
|
||||
strcheck(Foo_VERSION_STRING,"2.3.4")
|
||||
return 0;
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
cmake_policy(SET CMP0048 OLD)
|
||||
project(old_simple)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4 VARIABLE_PREFIX Foo)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
cmake_policy(SET CMP0048 OLD)
|
||||
project(old_simple)
|
||||
|
||||
# trigger *_VERSION_STRING vars no longer being set
|
||||
set(ECM_GLOBAL_FIND_VERSION 5.83)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4 VARIABLE_PREFIX Foo)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
cmake_policy(SET CMP0048 OLD)
|
||||
project(old_soversion)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
SOVERSION 1
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
standard_version_var_checks(Foo 2.3.4 1)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
cmake_policy(SET CMP0048 OLD)
|
||||
project(old_version_file)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
PACKAGE_VERSION_FILE FooVersion.cmake
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
AnyNewer_2_3_4_checks("${CMAKE_CURRENT_BINARY_DIR}/FooVersion.cmake")
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
cmake_policy(SET CMP0048 OLD)
|
||||
project(old_version_file_abspath)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/../OldVersionAbsPath.cmake"
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
AnyNewer_2_3_4_checks("${CMAKE_CURRENT_BINARY_DIR}/../OldVersionAbsPath.cmake")
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
cmake_policy(SET CMP0048 OLD)
|
||||
project(old_version_file_anynewer)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
PACKAGE_VERSION_FILE FooVersion.cmake COMPATIBILITY AnyNewerVersion
|
||||
)
|
||||
|
||||
include(../version_helpers.cmake)
|
||||
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
AnyNewer_2_3_4_checks("${CMAKE_CURRENT_BINARY_DIR}/FooVersion.cmake")
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
cmake_policy(SET CMP0048 OLD)
|
||||
project(old_version_file_exact)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
PACKAGE_VERSION_FILE FooVersion.cmake COMPATIBILITY ExactVersion
|
||||
)
|
||||
|
||||
include(../../test_helpers.cmake)
|
||||
include(../version_helpers.cmake)
|
||||
|
||||
macro(find_foo version)
|
||||
test_version_file("${CMAKE_CURRENT_BINARY_DIR}/FooVersion.cmake" "${version}")
|
||||
assert_var_str_value(PACKAGE_VERSION "2.3.4")
|
||||
endmacro()
|
||||
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
|
||||
# too old - fails
|
||||
find_foo("3.1.1")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# wrong major version - fails
|
||||
find_foo("1.1.1")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# wrong minor - fails
|
||||
find_foo("2.1.1")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# wrong patch - fails
|
||||
find_foo("2.3.1")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# tweak doesn't matter (but prevents P_V_EXACT being set) - succeeds
|
||||
find_foo("2.3.4.3")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# exact - succeeds
|
||||
find_foo("2.3.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT TRUE)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
cmake_policy(SET CMP0048 OLD)
|
||||
project(old_version_file_samemajor)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
|
||||
include(ECMSetupVersion)
|
||||
|
||||
ecm_setup_version(2.3.4
|
||||
VARIABLE_PREFIX Foo
|
||||
PACKAGE_VERSION_FILE FooVersion.cmake COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
|
||||
include(../../test_helpers.cmake)
|
||||
include(../version_helpers.cmake)
|
||||
|
||||
macro(find_foo version)
|
||||
test_version_file("${CMAKE_CURRENT_BINARY_DIR}/FooVersion.cmake" "${version}")
|
||||
assert_var_str_value(PACKAGE_VERSION "2.3.4")
|
||||
endmacro()
|
||||
|
||||
standard_version_var_checks(Foo 2.3.4)
|
||||
|
||||
# too old - fails
|
||||
find_foo("3.1.1")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# wrong major version - fails
|
||||
find_foo("1.1.1")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# correct major version, more recent - succeeds
|
||||
find_foo("2.1.1")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# correct major version - succeeds
|
||||
find_foo("2")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# correct major version, but too old - fails
|
||||
find_foo("2.4.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# exact - succeeds
|
||||
find_foo("2.3.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT TRUE)
|
||||
|
||||
add_executable(dummy main.c)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
include(../../test_helpers.cmake)
|
||||
|
||||
macro(test_version_file filename version)
|
||||
unset(PACKAGE_VERSION)
|
||||
unset(PACKAGE_VERSION_COMPATIBLE)
|
||||
unset(PACKAGE_VERSION_EXACT)
|
||||
set(PACKAGE_FIND_VERSION "${version}")
|
||||
if(PACKAGE_FIND_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+)$")
|
||||
set(PACKAGE_FIND_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||
set(PACKAGE_FIND_VERSION_MINOR "${CMAKE_MATCH_2}")
|
||||
set(PACKAGE_FIND_VERSION_PATCH "${CMAKE_MATCH_3}")
|
||||
set(PACKAGE_FIND_VERSION_TWEAK "${CMAKE_MATCH_4}")
|
||||
set(PACKAGE_FIND_VERSION_COUNT 4)
|
||||
elseif(PACKAGE_FIND_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$")
|
||||
set(PACKAGE_FIND_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||
set(PACKAGE_FIND_VERSION_MINOR "${CMAKE_MATCH_2}")
|
||||
set(PACKAGE_FIND_VERSION_PATCH "${CMAKE_MATCH_3}")
|
||||
set(PACKAGE_FIND_VERSION_TWEAK)
|
||||
set(PACKAGE_FIND_VERSION_COUNT 3)
|
||||
elseif(PACKAGE_FIND_VERSION MATCHES "^([0-9]+)\\.([0-9]+)$")
|
||||
set(PACKAGE_FIND_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||
set(PACKAGE_FIND_VERSION_MINOR "${CMAKE_MATCH_2}")
|
||||
set(PACKAGE_FIND_VERSION_PATCH)
|
||||
set(PACKAGE_FIND_VERSION_TWEAK)
|
||||
set(PACKAGE_FIND_VERSION_COUNT 2)
|
||||
elseif(PACKAGE_FIND_VERSION MATCHES "^([0-9]+)$")
|
||||
set(PACKAGE_FIND_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||
set(PACKAGE_FIND_VERSION_MINOR)
|
||||
set(PACKAGE_FIND_VERSION_PATCH)
|
||||
set(PACKAGE_FIND_VERSION_TWEAK)
|
||||
set(PACKAGE_FIND_VERSION_COUNT 1)
|
||||
elseif(PACKAGE_FIND_VERSION STREQUAL "")
|
||||
set(PACKAGE_FIND_VERSION_MAJOR)
|
||||
set(PACKAGE_FIND_VERSION_MINOR)
|
||||
set(PACKAGE_FIND_VERSION_PATCH)
|
||||
set(PACKAGE_FIND_VERSION_TWEAK)
|
||||
set(PACKAGE_FIND_VERSION_COUNT 0)
|
||||
else()
|
||||
message(STATUS "Invalid version ${PACKAGE_FIND_VERSION}")
|
||||
endif()
|
||||
include("${filename}")
|
||||
endmacro()
|
||||
|
||||
macro(version_var_checks prefix version)
|
||||
assert_var_str_value(${prefix}_VERSION "${version}")
|
||||
if(ECM_GLOBAL_FIND_VERSION VERSION_LESS 5.83.0)
|
||||
assert_var_str_value(${prefix}_VERSION_STRING "${version}")
|
||||
endif()
|
||||
if("${version}" MATCHES "^([0-9]+)")
|
||||
assert_var_num_value(${prefix}_VERSION_MAJOR ${CMAKE_MATCH_1})
|
||||
endif()
|
||||
if("${version}" MATCHES "^[0-9]+\\.([0-9]+)")
|
||||
assert_var_num_value(${prefix}_VERSION_MINOR ${CMAKE_MATCH_1})
|
||||
endif()
|
||||
if("${version}" MATCHES "^[0-9]+\\.[0-9]+\\.([0-9]+)")
|
||||
assert_var_num_value(${prefix}_VERSION_PATCH ${CMAKE_MATCH_1})
|
||||
endif()
|
||||
if("${version}" MATCHES "^[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+)")
|
||||
assert_var_num_value(${prefix}_VERSION_TWEAK ${CMAKE_MATCH_1})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(project_version_var_checks version)
|
||||
version_var_checks(PROJECT "${version}")
|
||||
endmacro()
|
||||
|
||||
macro(standard_version_var_checks prefix version)
|
||||
version_var_checks(PROJECT "${version}")
|
||||
version_var_checks("${prefix}" "${version}")
|
||||
if(${ARGC} GREATER 2)
|
||||
assert_var_num_value(${prefix}_SOVERSION ${ARGV2})
|
||||
elseif(DEFINED ${prefix}_VERSION_MAJOR AND NOT ${prefix}_VERSION_MAJOR STREQUAL "")
|
||||
assert_var_num_value(${prefix}_SOVERSION "${${prefix}_VERSION_MAJOR}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(AnyNewer_2_3_4_checks filename)
|
||||
# too old - fails
|
||||
test_version_file("${filename}" "3.1.1")
|
||||
assert_var_str_value(PACKAGE_VERSION "2.3.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# too old - fails
|
||||
test_version_file("${filename}" "3")
|
||||
assert_var_str_value(PACKAGE_VERSION "2.3.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# too old - fails
|
||||
test_version_file("${filename}" "2.3.4.1")
|
||||
assert_var_str_value(PACKAGE_VERSION "2.3.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# newer - succeeds
|
||||
test_version_file("${filename}" "1.1.1")
|
||||
assert_var_str_value(PACKAGE_VERSION "2.3.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# newer - succeeds
|
||||
test_version_file("${filename}" "2.1.1")
|
||||
assert_var_str_value(PACKAGE_VERSION "2.3.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# newer - succeeds
|
||||
test_version_file("${filename}" "2")
|
||||
assert_var_str_value(PACKAGE_VERSION "2.3.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# unspecified - succeeds
|
||||
test_version_file("${filename}" "")
|
||||
assert_var_str_value(PACKAGE_VERSION "2.3.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
|
||||
|
||||
# exact - succeeds
|
||||
test_version_file("${filename}" "2.3.4")
|
||||
assert_var_str_value(PACKAGE_VERSION "2.3.4")
|
||||
assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
assert_var_bool_value(PACKAGE_VERSION_EXACT TRUE)
|
||||
endmacro()
|
||||
Reference in New Issue
Block a user