Warning, /frameworks/extra-cmake-modules/tests/ECMSetupVersionTest/old_version_file_exact/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.5)
0002 
0003 cmake_policy(SET CMP0048 OLD)
0004 project(old_version_file_exact)
0005 
0006 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
0007 include(ECMSetupVersion)
0008 
0009 ecm_setup_version(2.3.4
0010     VARIABLE_PREFIX Foo
0011     PACKAGE_VERSION_FILE FooVersion.cmake COMPATIBILITY ExactVersion
0012 )
0013 
0014 include(../../test_helpers.cmake)
0015 include(../version_helpers.cmake)
0016 
0017 macro(find_foo version)
0018     test_version_file("${CMAKE_CURRENT_BINARY_DIR}/FooVersion.cmake" "${version}")
0019     assert_var_str_value(PACKAGE_VERSION "2.3.4")
0020 endmacro()
0021 
0022 standard_version_var_checks(Foo 2.3.4)
0023 
0024 # too old - fails
0025 find_foo("3.1.1")
0026 assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
0027 assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
0028 
0029 # wrong major version - fails
0030 find_foo("1.1.1")
0031 assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
0032 assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
0033 
0034 # wrong minor - fails
0035 find_foo("2.1.1")
0036 assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
0037 assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
0038 
0039 # wrong patch - fails
0040 find_foo("2.3.1")
0041 assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED)
0042 assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
0043 
0044 # tweak doesn't matter (but prevents P_V_EXACT being set) - succeeds
0045 find_foo("2.3.4.3")
0046 assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
0047 assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)
0048 
0049 # exact - succeeds
0050 find_foo("2.3.4")
0051 assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE)
0052 assert_var_bool_value(PACKAGE_VERSION_EXACT TRUE)
0053 
0054 add_executable(dummy main.c)