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)