Raw File
ninja-check.cmake
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()
back to top