diff options
author | Friedrich W. H. Kossebau <kossebau@kde.org> | 2019-09-04 19:19:27 +0200 |
---|---|---|
committer | Friedrich W. H. Kossebau <kossebau@kde.org> | 2019-10-10 22:50:03 +0200 |
commit | 7b15c20dafc9133f93bbc65354ec3a36af168fd3 (patch) | |
tree | b61228f0bfb4cc4a50c70ccce67a69b273dc8d10 /tests/ECMGenerateExportHeaderTest/format_version | |
parent | f3f4893b5bd20a32dd48b147fdd243c3226a06f3 (diff) | |
download | extra-cmake-modules-7b15c20dafc9133f93bbc65354ec3a36af168fd3.tar.gz extra-cmake-modules-7b15c20dafc9133f93bbc65354ec3a36af168fd3.tar.bz2 |
Add ECMGenerateExportHeader, for improved handling of deprecated API
Summary:
Generates additional macros in the export header which can be used for
fine-grained disabling of warnings & visibility as well as excluding from
the build.
Reviewers: #frameworks, #build_system
Subscribers: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D23789
Diffstat (limited to 'tests/ECMGenerateExportHeaderTest/format_version')
-rw-r--r-- | tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt | 50 | ||||
-rw-r--r-- | tests/ECMGenerateExportHeaderTest/format_version/main.cpp | 4 |
2 files changed, 54 insertions, 0 deletions
diff --git a/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt b/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt new file mode 100644 index 00000000..b46719c2 --- /dev/null +++ b/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt @@ -0,0 +1,50 @@ +cmake_minimum_required(VERSION 3.0.0) + +project(format_version) + +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules) +include(ECMGenerateExportHeader) + +include(../../test_helpers.cmake) + +set(_current_version "4.5.6") + +# check 0 +ecm_export_header_format_version(0 + CURRENT_VERSION ${_current_version} + STRING_VAR _versionstring + HEXNUMBER_VAR _hexnumber +) + +assert_var_str_value(_versionstring "0") +assert_var_str_value(_hexnumber "0") + +# check other +ecm_export_header_format_version(1.2.3 + CURRENT_VERSION ${_current_version} + STRING_VAR _versionstring + HEXNUMBER_VAR _hexnumber +) + +assert_var_str_value(_versionstring "1.2.3") +if (NOT CMAKE_VERSION VERSION_LESS 3.13) + assert_var_str_value(_hexnumber "0x10203") +else() + assert_var_str_value(_hexnumber "66051") +endif() + +# check CURRENT +ecm_export_header_format_version(CURRENT + CURRENT_VERSION ${_current_version} + STRING_VAR _versionstring + HEXNUMBER_VAR _hexnumber +) + +assert_var_str_value(_versionstring "4.5.6") +if (NOT CMAKE_VERSION VERSION_LESS 3.13) + assert_var_str_value(_hexnumber "0x40506") +else() + assert_var_str_value(_hexnumber "263430") +endif() + +add_executable(dummy main.cpp) diff --git a/tests/ECMGenerateExportHeaderTest/format_version/main.cpp b/tests/ECMGenerateExportHeaderTest/format_version/main.cpp new file mode 100644 index 00000000..0f45ea60 --- /dev/null +++ b/tests/ECMGenerateExportHeaderTest/format_version/main.cpp @@ -0,0 +1,4 @@ +int main(int, char**) +{ + return 0; +} |