cmake: fix ocv_target_compile_definitions() for world builds

fixes CUDA build
This commit is contained in:
Alexander Alekhin 2017-12-15 22:21:51 +03:00 committed by Alexander Alekhin
parent 8ed1a274e1
commit 0b33eb0929
2 changed files with 13 additions and 1 deletions

View File

@ -863,6 +863,11 @@ macro(_ocv_create_module)
ocv_target_link_libraries(${the_module} LINK_PRIVATE ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
endif()
if(OPENCV_MODULE_${the_module}_COMPILE_DEFINITIONS)
target_compile_definitions(${the_module} ${OPENCV_MODULE_${the_module}_COMPILE_DEFINITIONS})
unset(OPENCV_MODULE_${the_module}_COMPILE_DEFINITIONS CACHE)
endif()
add_dependencies(opencv_modules ${the_module})
if(ENABLE_SOLUTION_FOLDERS)

View File

@ -987,7 +987,14 @@ endfunction()
function(ocv_target_compile_definitions target)
_ocv_fix_target(target)
target_compile_definitions(${target} ${ARGN})
if(NOT TARGET ${target})
if(NOT DEFINED OPENCV_MODULE_${target}_LOCATION)
message(FATAL_ERROR "ocv_target_compile_definitions: invalid target: '${target}'")
endif()
set(OPENCV_MODULE_${target}_COMPILE_DEFINITIONS ${OPENCV_MODULE_${target}_COMPILE_DEFINITIONS} ${ARGN} CACHE INTERNAL "" FORCE)
else()
target_compile_definitions(${target} ${ARGN})
endif()
endfunction()