endmacro()
endif()
+# assert macro
+# Note: it doesn't support lists in arguments
+# Usage samples:
+# ocv_assert(MyLib_FOUND)
+# ocv_assert(DEFINED MyLib_INCLUDE_DIRS)
+macro(ocv_assert)
+ if(NOT (${ARGN}))
+ string(REPLACE ";" " " __assert_msg "${ARGN}")
+ message(AUTHOR_WARNING "Assertion failed: ${__assert_msg}")
+ endif()
+endmacro()
+
+macro(ocv_check_environment_variables)
+ foreach(_var ${ARGN})
+ if(NOT DEFINED ${_var} AND DEFINED ENV{${_var}})
+ set(__value "$ENV{${_var}}")
+ file(TO_CMAKE_PATH "${__value}" __value) # Assume that we receive paths
+ set(${_var} "${__value}")
+ message(STATUS "Update variable ${_var} from environment: ${${_var}}")
+ endif()
+ endforeach()
+endmacro()
+
# adds include directories in such way that directories from the OpenCV source tree go first
function(ocv_include_directories)
set(__add_before "")
if(_fname)
MESSAGE(STATUS "Performing Test ${RESULT}")
TRY_COMPILE(${RESULT}
- ${CMAKE_BINARY_DIR}
+ "${CMAKE_BINARY_DIR}"
"${_fname}"
COMPILE_DEFINITIONS "${FLAG}"
OUTPUT_VARIABLE OUTPUT)
endmacro()
+# add install command
+function(ocv_install_target)
+ install(TARGETS ${ARGN})
+
+ set(isPackage 0)
+ unset(__package)
+ unset(__target)
+ foreach(e ${ARGN})
+ if(NOT DEFINED __target)
+ set(__target "${e}")
+ endif()
+ if(isPackage EQUAL 1)
+ set(__package "${e}")
+ break()
+ endif()
+ if(e STREQUAL "EXPORT")
+ set(isPackage 1)
+ endif()
+ endforeach()
+
+ if(DEFINED __package)
+ list(APPEND ${__package}_TARGETS ${__target})
+ set(${__package}_TARGETS "${${__package}_TARGETS}" CACHE INTERNAL "List of ${__package} targets")
+ endif()
+
+ if(INSTALL_CREATE_DISTRIB)
+ if(MSVC AND NOT BUILD_SHARED_LIBS)
+ set(__target "${ARGV0}")
+
+ set(isArchive 0)
+ set(isDst 0)
+ unset(__dst)
+ foreach(e ${ARGN})
+ if(isDst EQUAL 1)
+ set(__dst "${e}")
+ break()
+ endif()
+ if(isArchive EQUAL 1 AND e STREQUAL "DESTINATION")
+ set(isDst 1)
+ endif()
+ if(e STREQUAL "ARCHIVE")
+ set(isArchive 1)
+ else()
+ set(isArchive 0)
+ endif()
+ endforeach()
+
+# message(STATUS "Process ${__target} dst=${__dst}...")
+ if(DEFINED __dst)
+ get_target_property(fname ${__target} LOCATION_DEBUG)
+ if(fname MATCHES "\\.lib$")
+ string(REGEX REPLACE "\\.lib$" ".pdb" fname "${fname}")
+ install(FILES ${fname} DESTINATION ${__dst} CONFIGURATIONS Debug)
+ endif()
+
+ get_target_property(fname ${__target} LOCATION_RELEASE)
+ if(fname MATCHES "\\.lib$")
+ string(REGEX REPLACE "\\.lib$" ".pdb" fname "${fname}")
+ install(FILES ${fname} DESTINATION ${__dst} CONFIGURATIONS Release)
+ endif()
+ endif()
+ endif()
+ endif()
+endfunction()
+
+
# read set of version defines from the header file
macro(ocv_parse_header FILENAME FILE_VAR)
set(vars_regex "")
cmake_parse_arguments(OCV_SOURCE_GROUP "" "" "GLOB" ${ARGN})
file(GLOB srcs ${OCV_SOURCE_GROUP_GLOB})
source_group(${group} FILES ${srcs})
-endfunction()
\ No newline at end of file
+endfunction()