2012/6/26 Bill Hoffman <[email protected]>:
> So, this code here:
>
> 2a34b579 Tests/CMakeLists.txt  (Eric NOULARD                  2012-03-30
> 17:07:06 +0200  720)     # Analyze 'cpack --help' output for list of
> available generators:
> 2a34b579 Tests/CMakeLists.txt  (Eric NOULARD                  2012-03-30
> 17:07:06 +0200  721)     execute_process(COMMAND ${CMAKE_CPACK_COMMAND}
> --help
>
>
> The trouble is the cpack that is being tested is the one from the build
> tree.  If you have a very old CMake build tree, and you do a git pull and
> gets lots of new cmake code.  Then when you re-run cmake on the build tree,
> the cpack --help might crash.   I am not sure how this works on a fresh
> build tree either as cpack won't even exist.

You are right this kind of tests may not be safely done at CMake time.
I did that in order to avoid to replicate the code inside CPack factory
(have a look at cmCPackDebGenerator::CanGenerate()
 and  cmCPackRPMGenerator::CanGenerate())
which checks whether if a generator may be instantiated or not.
This was done for conditionnally enabling RPM or DEB generator on MacOS
see http://public.kitware.com/Bug/view.php?id=13064

This is was mistake to do that in Tests/CMakeLists.txt.
This should be harmless since it will probably "only" prevent RPM and DEB
CPack tests to be run (ACTIVE_CPACK_GENERATORS will be empty)
but this is a mistake.

I shall implement proper CMake-time check in Tests/CMakeLists.txt.
Unfortunately I may not be able to do that until sunday 1rst of July...

Is this blocking 2.8.9 ?

I'll try tomorrow night but I cannot ensure I'll have time to do it.

Basically this would be something like:
set(ACTIVE_CPACK_GENERATORS)
then
find_program(RPMBUILD_EXECUTABLE NAMES rpmbuild)
if (RPMBUILD_EXECUTABLE)
   list(APPEND ACTIVE_CPACK_GENERATORS "RPM")
endif()

find_program(DPKG_EXECUTABLE NAMES dpkg)
if (DPKG_EXECUTABLE)
   list(APPEND ACTIVE_CPACK_GENERATORS "DEB")
endif()


-- 
Erk
Le gouvernement représentatif n'est pas la démocratie --
http://www.le-message.org
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to