summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/CPack/cmCPackDebGenerator.h5
-rw-r--r--Source/CPack/cmCPackRPMGenerator.h3
-rw-r--r--Tests/CMakeLists.txt36
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