summaryrefslogtreecommitdiffstats
path: root/Tests/CustomCommandByproducts/ninja-check.cmake
blob: 2fc3cc217bdce9e23a991c96ac1b59f6891dba54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
file(READ build.ninja build_ninja)
if("${build_ninja}" MATCHES [====[
# Unknown Build Time Dependencies.
# Tell Ninja that they may appear as side effects of build rules
# otherwise ordered by order-only dependencies.

((build [^:]*: phony [^\n]*
)*)# ========]====])
  set(phony "${CMAKE_MATCH_1}")
  if(NOT phony)
    message(STATUS "build.ninja correctly does not have extra phony rules")
  else()
    string(REGEX REPLACE "\n+$" "" phony "${phony}")
    string(REGEX REPLACE "\n" "\n  " phony "  ${phony}")
    message(FATAL_ERROR "build.ninja incorrectly has extra phony rules:\n"
      "${phony}")
  endif()
else()
  message(FATAL_ERROR "build.ninja is incorrectly missing expected block")
endif()