diff options
author | Brad King <brad.king@kitware.com> | 2016-12-08 13:51:11 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2016-12-08 13:51:11 (GMT) |
commit | e9286c9e0f7b059cd2ba3da1bf392ab5cc70e4e3 (patch) | |
tree | cfa1195ace65531870f5bcc688efdff40d0e2d6e | |
parent | ba9fcedf6a66e524416d8822fe8873e88fac5ab6 (diff) | |
parent | e326d8cf3eb2ac3f98fe5b4783b35c6141c006a9 (diff) | |
download | CMake-e9286c9e0f7b059cd2ba3da1bf392ab5cc70e4e3.zip CMake-e9286c9e0f7b059cd2ba3da1bf392ab5cc70e4e3.tar.gz CMake-e9286c9e0f7b059cd2ba3da1bf392ab5cc70e4e3.tar.bz2 |
Merge topic 'cpack-deb-missing-file-utility-error'
e326d8cf CPack/DEB shlibdep options depend on file utility
-rw-r--r-- | Modules/CPackDeb.cmake | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 909a12b..bee69d9 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -587,12 +587,21 @@ function(cpack_deb_prepare_package_vars) file(GLOB_RECURSE FILE_PATHS_ LIST_DIRECTORIES false RELATIVE "${WDIR}" "${WDIR}/*") cmake_policy(POP) + find_program(FILE_EXECUTABLE file) + if(NOT FILE_EXECUTABLE) + message(FATAL_ERROR "CPackDeb: file utility is not available. CPACK_DEBIAN_PACKAGE_SHLIBDEPS and CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS options are not available.") + endif() + # get file info so that we can determine if file is executable or not unset(CPACK_DEB_INSTALL_FILES) foreach(FILE_ IN LISTS FILE_PATHS_) - execute_process(COMMAND file "./${FILE_}" + execute_process(COMMAND env LC_ALL=C ${FILE_EXECUTABLE} "./${FILE_}" WORKING_DIRECTORY "${WDIR}" + RESULT_VARIABLE FILE_RESULT_ OUTPUT_VARIABLE INSTALL_FILE_) + if(NOT FILE_RESULT_ EQUAL 0) + message (FATAL_ERROR "CPackDeb: execution of command: '${FILE_EXECUTABLE} ./${FILE_}' failed with exit code: ${FILE_RESULT_}") + endif() list(APPEND CPACK_DEB_INSTALL_FILES "${INSTALL_FILE_}") endforeach() |