Commit 5ac15f09 authored by Alexander Alekhin's avatar Alexander Alekhin Committed by Alexander Alekhin

cmake: add DEBUG_PRE/DEBUG_POST commands handling

Useful for debug purposes:
    cmake -DDEBUG_POST="ocv_cmake_dump_vars(CUDA)" .
    cmake -DCMAKE_PRE="ocv_cmake_dump_vars(\"OPENCL|opencl\")" .
parent 36d7712c
...@@ -73,6 +73,8 @@ endif() ...@@ -73,6 +73,8 @@ endif()
include(cmake/OpenCVUtils.cmake) include(cmake/OpenCVUtils.cmake)
ocv_cmake_eval(DEBUG_PRE ONCE)
ocv_clear_vars(OpenCVModules_TARGETS) ocv_clear_vars(OpenCVModules_TARGETS)
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
...@@ -1110,3 +1112,4 @@ include(cmake/OpenCVPackaging.cmake) ...@@ -1110,3 +1112,4 @@ include(cmake/OpenCVPackaging.cmake)
# This should be the last command # This should be the last command
ocv_cmake_dump_vars("" TOFILE "CMakeVars.txt") ocv_cmake_dump_vars("" TOFILE "CMakeVars.txt")
ocv_cmake_eval(DEBUG_POST ONCE)
...@@ -42,6 +42,16 @@ function(ocv_cmake_dump_vars) ...@@ -42,6 +42,16 @@ function(ocv_cmake_dump_vars)
endif() endif()
endfunction() endfunction()
function(ocv_cmake_eval var_name)
if(DEFINED ${var_name})
file(WRITE "${CMAKE_BINARY_DIR}/CMakeCommand-${var_name}.cmake" ${${var_name}})
include("${CMAKE_BINARY_DIR}/CMakeCommand-${var_name}.cmake")
endif()
if(";${ARGN};" MATCHES ";ONCE;")
unset(${var_name} CACHE)
endif()
endfunction()
# assert macro # assert macro
# Note: it doesn't support lists in arguments # Note: it doesn't support lists in arguments
# Usage samples: # Usage samples:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment