File: BuildPackage.cmake.in

package info (click to toggle)
molequeue 0.9.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,924 kB
  • sloc: cpp: 22,039; python: 478; xml: 364; sh: 59; makefile: 14
file content (50 lines) | stat: -rw-r--r-- 1,361 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#
# Script used by the BuildPackageTest.cmake module.
#

message(STATUS "Running script '${CMAKE_CURRENT_LIST_FILE}'")
message(STATUS "  executing command '\"${CMAKE_COMMAND}\" --build . --config \"${config}\" --target package'")
message(STATUS "  in binary_dir='@binary_dir@'")
message(STATUS "")

set(results_script "@binary_dir@/BuildPackageTestResults.cmake")
file(REMOVE "${results_script}")

execute_process(
  COMMAND ${CMAKE_COMMAND} --build . --config "${config}" --target package
  WORKING_DIRECTORY "@binary_dir@"
  OUTPUT_VARIABLE output
  RESULT_VARIABLE result
  )

message(STATUS "output:")
message(STATUS "${output}")
message(STATUS "")

if(NOT "${result}" STREQUAL "0")
  message(FATAL_ERROR "error: --build package call returned '${result}'")
endif()


#
# Construct a list of package files by scraping individual file names from
# the 'make package' output:
#
set(packages)
set(regex "package: ([^\n]+) generated")

string(REGEX MATCHALL "${regex}" package_lines "${output}")
foreach(line ${package_lines})
  string(REGEX REPLACE "${regex}" "\\1" package "${line}")
  list(APPEND packages "${package}")
endforeach()


#
# Write out a helper script that can be used later to upload these:
#
file(WRITE "${results_script}" "# BuildPackageTestResults.cmake
#   generated by \"${CMAKE_CURRENT_LIST_FILE}\"
#
set(package_files \"${packages}\")
")