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)