Commit 5c691907 authored by Anatoly Baksheev's avatar Anatoly Baksheev

minor improvements in cmake-file for gpu samples

parent 42ced17c
if (BUILD_EXAMPLES) if (BUILD_EXAMPLES)
project(gpu_samples) set(project "gpu")
string(TOUPPER "${project}" project_upper)
project("${project}_samples")
include_directories( include_directories(
"${CMAKE_SOURCE_DIR}/modules/core/include" "${CMAKE_SOURCE_DIR}/modules/core/include"
...@@ -14,10 +17,10 @@ if (BUILD_EXAMPLES) ...@@ -14,10 +17,10 @@ if (BUILD_EXAMPLES)
"${CMAKE_SOURCE_DIR}/modules/legacy/include" "${CMAKE_SOURCE_DIR}/modules/legacy/include"
"${CMAKE_SOURCE_DIR}/modules/contrib/include" "${CMAKE_SOURCE_DIR}/modules/contrib/include"
"${CMAKE_SOURCE_DIR}/modules/gpu/include" "${CMAKE_SOURCE_DIR}/modules/gpu/include"
"${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia" "${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia"
"${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia/core" "${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia/core"
) )
if(HAVE_CUDA) if(HAVE_CUDA)
include_directories(${CUDA_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia ${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia/core) include_directories(${CUDA_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia ${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia/core)
endif() endif()
...@@ -25,50 +28,50 @@ if (BUILD_EXAMPLES) ...@@ -25,50 +28,50 @@ if (BUILD_EXAMPLES)
if(CMAKE_COMPILER_IS_GNUCXX) if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function")
endif() endif()
# --------------------------------------------- # ---------------------------------------------
# Define executable targets # Define executable targets
# --------------------------------------------- # ---------------------------------------------
MACRO(MY_DEFINE_EXAMPLE name srcs) MACRO(MY_DEFINE_EXAMPLE name srcs)
set(the_target "example_gpu_${name}") set(the_target "example_${project}_${name}")
add_executable(${the_target} ${srcs}) add_executable(${the_target} ${srcs})
set_target_properties(${the_target} PROPERTIES set_target_properties(${the_target} PROPERTIES
OUTPUT_NAME "${name}_gpu" OUTPUT_NAME "${name}_${project}"
PROJECT_LABEL "(EXAMPLE_GPU) ${name}") PROJECT_LABEL "(EXAMPLE_${project_upper}) ${name}")
add_dependencies(${the_target} opencv_core opencv_flann opencv_imgproc opencv_highgui add_dependencies(${the_target} opencv_core opencv_flann opencv_imgproc opencv_highgui
opencv_ml opencv_video opencv_objdetect opencv_features2d opencv_ml opencv_video opencv_objdetect opencv_features2d
opencv_calib3d opencv_legacy opencv_contrib opencv_gpu) opencv_calib3d opencv_legacy opencv_contrib opencv_gpu)
target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} opencv_core target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} opencv_core
opencv_flann opencv_imgproc opencv_highgui opencv_ml opencv_video opencv_objdetect opencv_flann opencv_imgproc opencv_highgui opencv_ml opencv_video opencv_objdetect
opencv_features2d opencv_calib3d opencv_legacy opencv_contrib opencv_gpu) opencv_features2d opencv_calib3d opencv_legacy opencv_contrib opencv_gpu)
if(ENABLE_SOLUTION_FOLDERS) if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${the_target} PROPERTIES FOLDER "samples//gpu") set_target_properties(${the_target} PROPERTIES FOLDER "samples//${project}")
endif() endif()
if(WIN32) if(WIN32)
if (MSVC AND NOT BUILD_SHARED_LIBS) if (MSVC AND NOT BUILD_SHARED_LIBS)
set_target_properties(${the_target} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:atlsd.lib /DEBUG") set_target_properties(${the_target} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:atlsd.lib /DEBUG")
endif() endif()
install(TARGETS ${the_target} install(TARGETS ${the_target} RUNTIME DESTINATION "samples/${project}" COMPONENT main)
RUNTIME DESTINATION "samples/gpu" COMPONENT main)
endif() endif()
ENDMACRO(MY_DEFINE_EXAMPLE) ENDMACRO(MY_DEFINE_EXAMPLE)
file(GLOB gpu_samples RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp) file(GLOB all_samples RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp)
foreach(sample_filename ${gpu_samples}) foreach(sample_filename ${all_samples})
get_filename_component(sample ${sample_filename} NAME_WE) get_filename_component(sample ${sample_filename} NAME_WE)
MY_DEFINE_EXAMPLE(${sample} ${sample_filename}) file(GLOB sample_srcs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${sample}.*)
endforeach() MY_DEFINE_EXAMPLE(${sample} ${sample_srcs})
endforeach()
include("performance/CMakeLists.txt") include("performance/CMakeLists.txt")
endif(BUILD_EXAMPLES) endif(BUILD_EXAMPLES)
if (NOT WIN32) if (NOT WIN32)
file(GLOB GPU_FILES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd ) file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
install(FILES ${GPU_FILES} install(FILES ${install_list}
DESTINATION share/opencv/samples/gpu DESTINATION share/opencv/samples/${project}
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
endif () endif ()
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