123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- if(NOT DEFINED dir)
- message(FATAL_ERROR "dir not defined")
- endif()
- # 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
- WORKING_DIRECTORY ${dir})
- string(REPLACE ";" "\\;" stdout "${stdout}")
- string(REPLACE "\n" "E;" stdout "${stdout}")
- set(collecting 0)
- set(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}")
- set(generators ${generators} ${gen})
- endif()
- if(line STREQUAL "Generators")
- set(collecting 1)
- endif()
- endforeach()
- # Call cpack with -G on each available generator. We do not care if this
- # succeeds or not. We expect it *not* to succeed if the underlying packaging
- # tools are not installed on the system... This test is here simply to add
- # coverage for the various cpack generators, even/especially to test ones
- # where the tools are not installed.
- #
- message(STATUS "CTEST_FULL_OUTPUT (Avoid ctest truncation of output)")
- message(STATUS "CPack generators='${generators}'")
- foreach(g ${generators})
- message(STATUS "Calling cpack -G ${g}...")
- execute_process(COMMAND ${CMAKE_CPACK_COMMAND} -G ${g}
- RESULT_VARIABLE result
- OUTPUT_VARIABLE stdout
- ERROR_VARIABLE stderr
- WORKING_DIRECTORY ${dir})
- message(STATUS "result='${result}'")
- message(STATUS "stdout='${stdout}'")
- message(STATUS "stderr='${stderr}'")
- message(STATUS "")
- endforeach()
|