diff options
-rw-r--r-- | Source/CPack/cmCPackDebGenerator.h | 5 | ||||
-rw-r--r-- | Source/CPack/cmCPackRPMGenerator.h | 3 | ||||
-rw-r--r-- | Tests/CMakeLists.txt | 36 |
3 files changed, 20 insertions, 24 deletions
diff --git a/Source/CPack/cmCPackDebGenerator.h b/Source/CPack/cmCPackDebGenerator.h index 7f2352f..d678cfa 100644 --- a/Source/CPack/cmCPackDebGenerator.h +++ b/Source/CPack/cmCPackDebGenerator.h @@ -35,7 +35,10 @@ public: { #ifdef __APPLE__ // on MacOS enable CPackDeb iff dpkg is found - return cmSystemTools::FindProgram("dpkg") != "" ? true : false; + std::vector<std::string> locations; + locations.push_back("/sw/bin"); // Fink + locations.push_back("/opt/local/bin"); // MacPorts + return cmSystemTools::FindProgram("dpkg",locations) != "" ? true : false; #else // legacy behavior on other systems return true; diff --git a/Source/CPack/cmCPackRPMGenerator.h b/Source/CPack/cmCPackRPMGenerator.h index eec8204..a7722bc 100644 --- a/Source/CPack/cmCPackRPMGenerator.h +++ b/Source/CPack/cmCPackRPMGenerator.h @@ -39,6 +39,9 @@ public: { #ifdef __APPLE__ // on MacOS enable CPackRPM iff rpmbuild is found + std::vector<std::string> locations; + locations.push_back("/sw/bin"); // Fink + locations.push_back("/opt/local/bin"); // MacPorts return cmSystemTools::FindProgram("rpmbuild") != "" ? true : false; #else // legacy behavior on other systems diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 300ab09..80ab362 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -717,31 +717,21 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/ ENDIF(CTEST_RUN_CPackComponents) IF(CTEST_RUN_CPackComponentsForAll) - # Analyze 'cpack --help' output for list of available generators: - execute_process(COMMAND ${CMAKE_CPACK_COMMAND} --help - RESULT_VARIABLE result - OUTPUT_VARIABLE stdout - ERROR_VARIABLE stderr) - - string(REPLACE ";" "\\;" stdout "${stdout}") - string(REPLACE "\n" "E;" stdout "${stdout}") - - set(collecting 0) - set(ACTIVE_CPACK_GENERATORS) - foreach(eline ${stdout}) - string(REGEX REPLACE "^(.*)E$" "\\1" line "${eline}") - if(collecting AND NOT line STREQUAL "") - string(REGEX REPLACE "^ ([^ ]+) += (.*)$" "\\1" gen "${line}") - string(REGEX REPLACE "^ ([^ ]+) += (.*)$" "\\2" doc "${line}") - list(APPEND ACTIVE_CPACK_GENERATORS ${gen}) - endif() - if(line STREQUAL "Generators") - set(collecting 1) - endif() - endforeach() + # Check whether if rpmbuild command is found + # before adding RPM tests + find_program(RPMBUILD_EXECUTABLE NAMES rpmbuild) + if(RPMBUILD_EXECUTABLE) + list(APPEND ACTIVE_CPACK_GENERATORS RPM) + endif(RPMBUILD_EXECUTABLE) + # Check whether if dpkg command is found + # before adding DEB tests + find_program(DPKG_EXECUTABLE NAMES dpkg) + if(DPKG_EXECUTABLE) + list(APPEND ACTIVE_CPACK_GENERATORS DEB) + endif(DPKG_EXECUTABLE) + # ACTIVE_CPACK_GENERATORS variable # now contains the list of 'active generators' - set(CPackComponentsForAll_EXTRA_OPTIONS) set(CPackRun_CPackCommand "-DCPackCommand=${CMAKE_CPACK_COMMAND}") # set up list of CPack generators |