[Cmake-commits] CMake branch, next, updated. v3.2.2-2459-gebcfc6f
Domen Vrankar
domen.vrankar at gmail.com
Sun May 3 17:51:50 EDT 2015
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, next has been updated
via ebcfc6f5e941872f18addf2d7d8f8e9f825a8f15 (commit)
via 94f5fc39185102389f719d703906f08c1015c2f7 (commit)
from 7629a8ccab28ee6d6a60e5fb8c89d1e2eb8fc024 (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 -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ebcfc6f5e941872f18addf2d7d8f8e9f825a8f15
commit ebcfc6f5e941872f18addf2d7d8f8e9f825a8f15
Merge: 7629a8c 94f5fc3
Author: Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Sun May 3 17:51:50 2015 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sun May 3 17:51:50 2015 -0400
Merge topic 'cpack-deb-component-auto-discovery' into next
94f5fc39 fixup! CPack/DEB component dependency auto-discovery
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=94f5fc39185102389f719d703906f08c1015c2f7
commit 94f5fc39185102389f719d703906f08c1015c2f7
Author: Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Sun May 3 23:49:14 2015 +0200
Commit: Domen Vrankar <domen.vrankar at gmail.com>
CommitDate: Sun May 3 23:49:14 2015 +0200
fixup! CPack/DEB component dependency auto-discovery
Attempt at fixing dependency auto detection for
older versions of dpkg-shlibdeps
diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake
index 69bb302..7fce49b 100644
--- a/Modules/CPackDeb.cmake
+++ b/Modules/CPackDeb.cmake
@@ -271,18 +271,20 @@ function(cpack_deb_prepare_package_vars)
# dpkg-shlibdeps is a Debian utility for generating dependency list
find_program(SHLIBDEPS_EXECUTABLE dpkg-shlibdeps)
- # Check version of the dpkg-shlibdeps tool using CPackRPM method
if(SHLIBDEPS_EXECUTABLE)
+ # Check version of the dpkg-shlibdeps tool using CPackRPM method
execute_process(COMMAND env LC_ALL=C ${SHLIBDEPS_EXECUTABLE} --version
OUTPUT_VARIABLE _TMP_VERSION
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX MATCH "dpkg-shlibdeps version ([0-9]+\\.[0-9]+\\.[0-9]+)"
SHLIBDEPS_EXECUTABLE_VERSION
- ${_TMP_VERSION})
+ "${_TMP_VERSION}")
set(SHLIBDEPS_EXECUTABLE_VERSION "${CMAKE_MATCH_1}")
+
if(CPACK_DEBIAN_PACKAGE_DEBUG)
- message( "CPackDeb Debug: dpkg-shlibdeps version is <${SHLIBDEPS_EXECUTABLE_VERSION}>")
+ message("CPackDeb Debug: dpkg-shlibdeps --version output is '${_TMP_VERSION}'")
+ message("CPackDeb Debug: dpkg-shlibdeps version is <${SHLIBDEPS_EXECUTABLE_VERSION}>")
endif()
# Generating binary list - Get type of all install files
@@ -292,14 +294,14 @@ function(cpack_deb_prepare_package_vars)
OUTPUT_VARIABLE CPACK_DEB_INSTALL_FILES)
# Convert to CMake list
- string(REPLACE "\n" ";" CPACK_DEB_INSTALL_FILES ${CPACK_DEB_INSTALL_FILES})
+ string(REPLACE "\n" ";" CPACK_DEB_INSTALL_FILES "${CPACK_DEB_INSTALL_FILES}")
# Only dynamically linked ELF files are included
# Extract only file name infront of ":"
- foreach ( _FILE ${CPACK_DEB_INSTALL_FILES})
- if ( ${_FILE} MATCHES "ELF.*dynamically linked")
- string(REGEX MATCH "(^.*):" _FILE_NAME ${_FILE})
- list(APPEND CPACK_DEB_BINARY_FILES ${CMAKE_MATCH_1})
+ foreach( _FILE ${CPACK_DEB_INSTALL_FILES})
+ if( ${_FILE} MATCHES "ELF.*dynamically linked")
+ string(REGEX MATCH "(^.*):" _FILE_NAME "${_FILE}")
+ list(APPEND CPACK_DEB_BINARY_FILES "${CMAKE_MATCH_1}")
endif()
endforeach()
@@ -311,10 +313,16 @@ function(cpack_deb_prepare_package_vars)
file(MAKE_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}/debian)
file(WRITE ${CPACK_TEMPORARY_DIRECTORY}/debian/control "")
+ # only set ignore-missing-info flag for dpkg-shlibdeps that have --version option
+ # (those are newer and also have --ignore-missing-info flag)
+ if(SHLIBDEPS_EXECUTABLE_VERSION)
+ set(IGNORE_MISSING_INFO_FLAG "--ignore-missing-info")
+ endif()
+
# Execute dpkg-shlibdeps
# --ignore-missing-info : allow dpkg-shlibdeps to run even if some libs do not belong to a package
# -O : print to STDOUT
- execute_process(COMMAND ${SHLIBDEPS_EXECUTABLE} --ignore-missing-info -O ${CPACK_DEB_BINARY_FILES}
+ execute_process(COMMAND ${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES}
WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
OUTPUT_VARIABLE SHLIBDEPS_OUTPUT
RESULT_VARIABLE SHLIBDEPS_RESULT
@@ -324,12 +332,12 @@ function(cpack_deb_prepare_package_vars)
# dpkg-shlibdeps will throw some warnings if some input files are not binary
message( "CPackDeb Debug: dpkg-shlibdeps warnings \n${SHLIBDEPS_ERROR}")
endif()
- if (NOT SHLIBDEPS_RESULT EQUAL 0)
+ if(NOT SHLIBDEPS_RESULT EQUAL 0)
message (FATAL_ERROR "CPackDeb: dpkg-shlibdeps: ${SHLIBDEPS_ERROR}")
- endif ()
+ endif()
#Get rid of prefix generated by dpkg-shlibdeps
- string (REGEX REPLACE "^.*Depends=" "" CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS ${SHLIBDEPS_OUTPUT})
+ string(REGEX REPLACE "^.*Depends=" "" CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS "${SHLIBDEPS_OUTPUT}")
if(CPACK_DEBIAN_PACKAGE_DEBUG)
message( "CPackDeb Debug: Found dependency: ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
@@ -340,19 +348,19 @@ function(cpack_deb_prepare_package_vars)
file(REMOVE_RECURSE "${CPACK_TEMPORARY_DIRECTORY}/debian")
# Append user depend if set
- if (CPACK_DEBIAN_PACKAGE_DEPENDS)
- set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
- else ()
- set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
- endif ()
+ if(CPACK_DEBIAN_PACKAGE_DEPENDS)
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
+ else()
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
+ endif()
- else ()
+ else()
if(CPACK_DEBIAN_PACKAGE_DEBUG)
message( "CPackDeb Debug: Using only user-provided depends because dpkg-shlibdeps is not found.")
endif()
endif()
- else ()
+ else()
if(CPACK_DEBIAN_PACKAGE_DEBUG)
message( "CPackDeb Debug: Using only user-provided depends")
endif()
-----------------------------------------------------------------------
Summary of changes:
Modules/CPackDeb.cmake | 46 +++++++++++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 19 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list