From 5c691907ed69e5609baf875d507c776843f2996f Mon Sep 17 00:00:00 2001 From: Anatoly Baksheev Date: Mon, 8 Aug 2011 12:16:23 +0000 Subject: [PATCH] minor improvements in cmake-file for gpu samples --- samples/gpu/CMakeLists.txt | 75 ++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/samples/gpu/CMakeLists.txt b/samples/gpu/CMakeLists.txt index f84ae99353..e2cb1071ba 100644 --- a/samples/gpu/CMakeLists.txt +++ b/samples/gpu/CMakeLists.txt @@ -1,5 +1,8 @@ if (BUILD_EXAMPLES) - project(gpu_samples) + set(project "gpu") + string(TOUPPER "${project}" project_upper) + + project("${project}_samples") include_directories( "${CMAKE_SOURCE_DIR}/modules/core/include" @@ -14,10 +17,10 @@ if (BUILD_EXAMPLES) "${CMAKE_SOURCE_DIR}/modules/legacy/include" "${CMAKE_SOURCE_DIR}/modules/contrib/include" "${CMAKE_SOURCE_DIR}/modules/gpu/include" - "${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia" - "${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia/core" - ) - + "${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia" + "${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia/core" + ) + if(HAVE_CUDA) include_directories(${CUDA_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia ${CMAKE_SOURCE_DIR}/modules/gpu/src/nvidia/core) endif() @@ -25,50 +28,50 @@ if (BUILD_EXAMPLES) if(CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function") endif() - + # --------------------------------------------- # Define executable targets # --------------------------------------------- MACRO(MY_DEFINE_EXAMPLE name srcs) - set(the_target "example_gpu_${name}") - add_executable(${the_target} ${srcs}) - set_target_properties(${the_target} PROPERTIES - OUTPUT_NAME "${name}_gpu" - PROJECT_LABEL "(EXAMPLE_GPU) ${name}") - add_dependencies(${the_target} opencv_core opencv_flann opencv_imgproc opencv_highgui - opencv_ml opencv_video opencv_objdetect opencv_features2d - opencv_calib3d opencv_legacy opencv_contrib opencv_gpu) - target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} opencv_core - opencv_flann opencv_imgproc opencv_highgui opencv_ml opencv_video opencv_objdetect - opencv_features2d opencv_calib3d opencv_legacy opencv_contrib opencv_gpu) - - if(ENABLE_SOLUTION_FOLDERS) - set_target_properties(${the_target} PROPERTIES FOLDER "samples//gpu") - endif() + set(the_target "example_${project}_${name}") + add_executable(${the_target} ${srcs}) + set_target_properties(${the_target} PROPERTIES + OUTPUT_NAME "${name}_${project}" + PROJECT_LABEL "(EXAMPLE_${project_upper}) ${name}") + add_dependencies(${the_target} opencv_core opencv_flann opencv_imgproc opencv_highgui + opencv_ml opencv_video opencv_objdetect opencv_features2d + opencv_calib3d opencv_legacy opencv_contrib opencv_gpu) + target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} opencv_core + opencv_flann opencv_imgproc opencv_highgui opencv_ml opencv_video opencv_objdetect + opencv_features2d opencv_calib3d opencv_legacy opencv_contrib opencv_gpu) + + if(ENABLE_SOLUTION_FOLDERS) + set_target_properties(${the_target} PROPERTIES FOLDER "samples//${project}") + endif() if(WIN32) - if (MSVC AND NOT BUILD_SHARED_LIBS) - set_target_properties(${the_target} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:atlsd.lib /DEBUG") - endif() - install(TARGETS ${the_target} - RUNTIME DESTINATION "samples/gpu" COMPONENT main) + if (MSVC AND NOT BUILD_SHARED_LIBS) + set_target_properties(${the_target} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:atlsd.lib /DEBUG") + endif() + install(TARGETS ${the_target} RUNTIME DESTINATION "samples/${project}" COMPONENT main) endif() ENDMACRO(MY_DEFINE_EXAMPLE) - - file(GLOB gpu_samples RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp) - - foreach(sample_filename ${gpu_samples}) + + file(GLOB all_samples RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp) + + foreach(sample_filename ${all_samples}) get_filename_component(sample ${sample_filename} NAME_WE) - MY_DEFINE_EXAMPLE(${sample} ${sample_filename}) - endforeach() - + file(GLOB sample_srcs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${sample}.*) + MY_DEFINE_EXAMPLE(${sample} ${sample_srcs}) + endforeach() + include("performance/CMakeLists.txt") endif(BUILD_EXAMPLES) if (NOT WIN32) - file(GLOB GPU_FILES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd ) - install(FILES ${GPU_FILES} - DESTINATION share/opencv/samples/gpu + file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd ) + install(FILES ${install_list} + DESTINATION share/opencv/samples/${project} PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) endif ()