[Cmake-commits] CMake branch, master, updated. v3.12.0-322-g50e40b7

Kitware Robot kwrobot at kitware.com
Sun Jul 29 05:45:05 EDT 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
       via  50e40b7eecf2ca9aca73b6a907227e8191fffe56 (commit)
       via  ed015bde2b6fe526f5f840f43c1c12ba45d5663f (commit)
      from  7a7e4e9ea323839263dc75cb87e80502a5447d7f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=50e40b7eecf2ca9aca73b6a907227e8191fffe56
commit 50e40b7eecf2ca9aca73b6a907227e8191fffe56
Merge: 7a7e4e9 ed015bd
Author:     Craig Scott <craig.scott at crascit.com>
AuthorDate: Sun Jul 29 09:40:31 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Sun Jul 29 05:40:37 2018 -0400

    Merge topic 'cpack-default-package-version-zero'
    
    ed015bde2b CPack: Restore support for 0-valued version components
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2239


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed015bde2b6fe526f5f840f43c1c12ba45d5663f
commit ed015bde2b6fe526f5f840f43c1c12ba45d5663f
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Jul 26 10:28:54 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Jul 27 10:01:29 2018 -0400

    CPack: Restore support for 0-valued version components
    
    In commit v3.12.0-rc1~136^2 (CPack: Use project version as default for
    `CPACK_PACKAGE_VERSION`, 2018-04-29) we did not account for the value of
    `CMAKE_PROJECT_VERSION_{MAJOR,MINOR,PATCH}` having `0`.  Fix the logic
    to distinguish between unprovided version components and `0` components.
    
    While at it, add a test case covering the behavior described in the
    documentation by the original commit.  The number of version components
    in the package name should match those provided to the `project()`
    command `VERSION` option.
    
    Fixes: #18199

diff --git a/Modules/CPack.cmake b/Modules/CPack.cmake
index 8070869..cdc38a6 100644
--- a/Modules/CPack.cmake
+++ b/Modules/CPack.cmake
@@ -403,28 +403,31 @@ endfunction()
 
 # Set the package name
 _cpack_set_default(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
-if(CMAKE_PROJECT_VERSION_MAJOR)
+
+# Set the package version
+if(CMAKE_PROJECT_VERSION_MAJOR GREATER_EQUAL 0)
   _cpack_set_default(CPACK_PACKAGE_VERSION_MAJOR "${CMAKE_PROJECT_VERSION_MAJOR}")
-  if(CMAKE_PROJECT_VERSION_MINOR)
+  if(CMAKE_PROJECT_VERSION_MINOR GREATER_EQUAL 0)
     _cpack_set_default(CPACK_PACKAGE_VERSION_MINOR "${CMAKE_PROJECT_VERSION_MINOR}")
-    if(CMAKE_PROJECT_VERSION_PATCH)
+    if(CMAKE_PROJECT_VERSION_PATCH GREATER_EQUAL 0)
       _cpack_set_default(CPACK_PACKAGE_VERSION_PATCH "${CMAKE_PROJECT_VERSION_PATCH}")
-      _cpack_set_default(CPACK_PACKAGE_VERSION
-        "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
-    else()
-      _cpack_set_default(CPACK_PACKAGE_VERSION
-      "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
     endif()
-  else()
-    _cpack_set_default(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}")
   endif()
 else()
   _cpack_set_default(CPACK_PACKAGE_VERSION_MAJOR "0")
   _cpack_set_default(CPACK_PACKAGE_VERSION_MINOR "1")
   _cpack_set_default(CPACK_PACKAGE_VERSION_PATCH "1")
-  _cpack_set_default(CPACK_PACKAGE_VERSION
-    "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
 endif()
+if(NOT DEFINED CPACK_PACKAGE_VERSION)
+  set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}")
+  if(CPACK_PACKAGE_VERSION_MINOR GREATER_EQUAL 0)
+    string(APPEND CPACK_PACKAGE_VERSION ".${CPACK_PACKAGE_VERSION_MINOR}")
+    if(CPACK_PACKAGE_VERSION_PATCH GREATER_EQUAL 0)
+      string(APPEND CPACK_PACKAGE_VERSION ".${CPACK_PACKAGE_VERSION_PATCH}")
+    endif()
+  endif()
+endif()
+
 _cpack_set_default(CPACK_PACKAGE_VENDOR "Humanity")
 if(CMAKE_PROJECT_DESCRIPTION)
   _cpack_set_default(CPACK_PACKAGE_DESCRIPTION_SUMMARY
diff --git a/Tests/RunCMake/CPackConfig/RunCMakeTest.cmake b/Tests/RunCMake/CPackConfig/RunCMakeTest.cmake
index 16d2cf3..8f2196d 100644
--- a/Tests/RunCMake/CPackConfig/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPackConfig/RunCMakeTest.cmake
@@ -4,3 +4,6 @@ run_cmake(Simple)
 run_cmake(Default)
 run_cmake(Special)
 run_cmake(Verbatim)
+run_cmake(Version1)
+run_cmake(Version2)
+run_cmake(Version3)
diff --git a/Tests/RunCMake/CPackConfig/Version1-check.cmake b/Tests/RunCMake/CPackConfig/Version1-check.cmake
new file mode 100644
index 0000000..0f5347f
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/Version1-check.cmake
@@ -0,0 +1,6 @@
+include(${RunCMake_SOURCE_DIR}/check.cmake)
+
+test_variable(CPACK_PACKAGE_VERSION "0")
+test_variable(CPACK_PACKAGE_VERSION_MAJOR "0")
+test_variable(CPACK_PACKAGE_VERSION_MINOR "")
+test_variable(CPACK_PACKAGE_VERSION_PATCH "")
diff --git a/Tests/RunCMake/CPackConfig/Version1.cmake b/Tests/RunCMake/CPackConfig/Version1.cmake
new file mode 100644
index 0000000..703485c
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/Version1.cmake
@@ -0,0 +1 @@
+project(Version LANGUAGES NONE VERSION 0)
diff --git a/Tests/RunCMake/CPackConfig/Version2-check.cmake b/Tests/RunCMake/CPackConfig/Version2-check.cmake
new file mode 100644
index 0000000..3a2d572
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/Version2-check.cmake
@@ -0,0 +1,6 @@
+include(${RunCMake_SOURCE_DIR}/check.cmake)
+
+test_variable(CPACK_PACKAGE_VERSION "1.0")
+test_variable(CPACK_PACKAGE_VERSION_MAJOR "1")
+test_variable(CPACK_PACKAGE_VERSION_MINOR "0")
+test_variable(CPACK_PACKAGE_VERSION_PATCH "")
diff --git a/Tests/RunCMake/CPackConfig/Version2.cmake b/Tests/RunCMake/CPackConfig/Version2.cmake
new file mode 100644
index 0000000..c084137
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/Version2.cmake
@@ -0,0 +1 @@
+project(Version LANGUAGES NONE VERSION 1.0)
diff --git a/Tests/RunCMake/CPackConfig/Version3-check.cmake b/Tests/RunCMake/CPackConfig/Version3-check.cmake
new file mode 100644
index 0000000..d4a3983
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/Version3-check.cmake
@@ -0,0 +1,6 @@
+include(${RunCMake_SOURCE_DIR}/check.cmake)
+
+test_variable(CPACK_PACKAGE_VERSION "1.1.0")
+test_variable(CPACK_PACKAGE_VERSION_MAJOR "1")
+test_variable(CPACK_PACKAGE_VERSION_MINOR "1")
+test_variable(CPACK_PACKAGE_VERSION_PATCH "0")
diff --git a/Tests/RunCMake/CPackConfig/Version3.cmake b/Tests/RunCMake/CPackConfig/Version3.cmake
new file mode 100644
index 0000000..4df28bb
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/Version3.cmake
@@ -0,0 +1 @@
+project(Version LANGUAGES NONE VERSION 1.1.0)

-----------------------------------------------------------------------

Summary of changes:
 Modules/CPack.cmake                             | 27 ++++++++++++++-----------
 Tests/RunCMake/CPackConfig/RunCMakeTest.cmake   |  3 +++
 Tests/RunCMake/CPackConfig/Version1-check.cmake |  6 ++++++
 Tests/RunCMake/CPackConfig/Version1.cmake       |  1 +
 Tests/RunCMake/CPackConfig/Version2-check.cmake |  6 ++++++
 Tests/RunCMake/CPackConfig/Version2.cmake       |  1 +
 Tests/RunCMake/CPackConfig/Version3-check.cmake |  6 ++++++
 Tests/RunCMake/CPackConfig/Version3.cmake       |  1 +
 8 files changed, 39 insertions(+), 12 deletions(-)
 create mode 100644 Tests/RunCMake/CPackConfig/Version1-check.cmake
 create mode 100644 Tests/RunCMake/CPackConfig/Version1.cmake
 create mode 100644 Tests/RunCMake/CPackConfig/Version2-check.cmake
 create mode 100644 Tests/RunCMake/CPackConfig/Version2.cmake
 create mode 100644 Tests/RunCMake/CPackConfig/Version3-check.cmake
 create mode 100644 Tests/RunCMake/CPackConfig/Version3.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list