mirror of https://github.com/emgucv/emgucv.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
5.5 KiB
147 lines
5.5 KiB
# --------------------------------------------------------
|
|
# Copyright (C) 2004-2020 by EMGU Corporation. All rights reserved.
|
|
#
|
|
# CMake file for cvextern_test. See root CMakeLists.txt
|
|
# --------------------------------------------------------
|
|
|
|
project(cvextern_test)
|
|
|
|
SET(OPENCV_MODULES_DIR "${OPENCV_SUBFOLDER}/modules")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/core/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/imgproc/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/video/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/ml/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/calib3d/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/objdetect/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/features2d/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/hal/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/flann/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/highgui/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/imgcodecs/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/videoio/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/photo/include")
|
|
INCLUDE_DIRECTORIES("${OPENCV_MODULES_DIR}/dnn/include")
|
|
|
|
INCLUDE_DIRECTORIES("${OPENCV_SUBFOLDER}/include/opencv")
|
|
INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/../../Emgu.CV.Extern/")
|
|
INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/../../")
|
|
|
|
INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}")
|
|
#INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
|
|
#INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
|
|
#INCLUDE_DIRECTORIES(${GEOTIFF_INCLUDE_DIR})
|
|
|
|
############################### IPP START ##############################
|
|
#IF(WITH_IPP)
|
|
#include(${OPENCV_SUBFOLDER}/cmake/OpenCVFindIPP.cmake)
|
|
# IF (IPP_FOUND)
|
|
# message(STATUS "CVEXTERN: USING IPP: ${IPP_LIBRARY_DIRS} ")
|
|
# add_definitions(-DHAVE_IPP)
|
|
# include_directories(${IPP_INCLUDE_DIRS})
|
|
# LINK_DIRECTORIES(${IPP_LIBRARY_DIRS})
|
|
# ENDIF()
|
|
#ENDIF()
|
|
############################### IPP END ################################
|
|
|
|
############################### TBB START ##############################
|
|
if (WITH_TBB AND TBB_INCLUDE_DIR AND TBB_LIB_DIR)
|
|
add_definitions(-DHAVE_TBB)
|
|
include_directories(${TBB_INCLUDE_DIR})
|
|
link_directories(${TBB_LIB_DIR})
|
|
endif()
|
|
############################### TBB END ################################
|
|
|
|
############################### GPU START ##############################
|
|
IF(WIN32 AND WITH_CUDA)
|
|
IF(TARGET_ARCH_64)
|
|
LINK_DIRECTORIES(${CUDA_TOOLKIT_ROOT_DIR}/lib/x64)
|
|
ELSE()
|
|
LINK_DIRECTORIES(${CUDA_TOOLKIT_ROOT_DIR}/lib/Win32)
|
|
ENDIF()
|
|
ENDIF()
|
|
############################### GPU END ################################
|
|
|
|
IF(WITH_INF_ENGINE)
|
|
#SET(INF_ENGINE_LIB_DIRS )
|
|
#link_directories("${INF_ENGINE_LIB_DIRS}/Release")
|
|
link_directories("${IE_INCLUDE_DIR}/../lib/intel64/")
|
|
ENDIF()
|
|
|
|
############################### OPENMP START ##############################
|
|
IF(WITH_OPENMP)
|
|
FIND_PACKAGE( OpenMP REQUIRED)
|
|
if(OPENMP_FOUND)
|
|
#MESSAGE(STATUS " -- Compiling cvextern with OPENMP")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
|
|
endif()
|
|
ENDIF()
|
|
############################### OPENMP END ################################
|
|
|
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function")
|
|
endif()
|
|
|
|
file(GLOB cvextern_test_srcs "./*.cpp")
|
|
source_group("Src" FILES ${cvextern_test_srcs})
|
|
file(GLOB cvextern_test_hdrs "./*.h*")
|
|
source_group("Include" FILES ${cvextern_test_hdrs})
|
|
|
|
set(the_target ${PROJECT_NAME})
|
|
|
|
add_executable(${the_target} ${cvextern_test_srcs} ${cvextern_test_hdrs})
|
|
|
|
# For dynamic link numbering convenions
|
|
set_target_properties(${the_target} PROPERTIES
|
|
OUTPUT_NAME "${the_target}"
|
|
)
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11)
|
|
if(ENABLE_SOLUTION_FOLDERS)
|
|
set_target_properties(${the_target} PROPERTIES FOLDER "emgu")
|
|
endif()
|
|
|
|
# Additional target properties
|
|
set_target_properties(${the_target} PROPERTIES
|
|
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
|
|
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib${UNMANAGED_LIBRARY_OUTPUT_SUBFOLDER}"
|
|
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin${UNMANAGED_LIBRARY_OUTPUT_SUBFOLDER}"
|
|
)
|
|
|
|
ADD_DEPENDENCIES(${the_target}
|
|
cvextern opencv_core opencv_calib3d opencv_features2d opencv_highgui opencv_imgproc opencv_ml opencv_objdetect
|
|
# ${ZLIB_LIBRARY}
|
|
# ${TIFF_LIBRARY} ${GEOTIFF_LIBRARY}
|
|
)
|
|
|
|
IF(EMGU_ENABLE_SSE)
|
|
ADD_DEFINITIONS(-D__EMGU_ENABLE_SSE__)
|
|
IF(MSVC AND EMGUCV_ARCH MATCHES "win32" AND (NOT CV_ICC))
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2") ## Optimization
|
|
ENDIF()
|
|
IF ((NOT WIN32) AND NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL "Emscripten"))
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -latomic")
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
# Add the required libraries for linking:
|
|
target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS}
|
|
cvextern opencv_core opencv_calib3d opencv_features2d opencv_highgui opencv_imgproc opencv_ml opencv_objdetect
|
|
# ${ZLIB_LIBRARY}
|
|
# ${TIFF_LIBRARY}
|
|
# ${GEOTIFF_LIBRARY}
|
|
)
|
|
|
|
IF("${CMAKE_SYSTEM_NAME}" STREQUAL "Emscripten")
|
|
set_target_properties(${the_target} PROPERTIES SUFFIX ".html")
|
|
ENDIF()
|
|
|
|
IF(DEFINED EMGUCV_PLATFORM_TOOLSET)
|
|
set_target_properties(${the_target} PROPERTIES PLATFORM_TOOLSET ${EMGUCV_PLATFORM_TOOLSET})
|
|
ENDIF()
|
|
|
|
INSTALL(TARGETS ${the_target}
|
|
RUNTIME DESTINATION bin${UNMANAGED_LIBRARY_OUTPUT_SUBFOLDER} COMPONENT main
|
|
LIBRARY DESTINATION lib${UNMANAGED_LIBRARY_OUTPUT_SUBFOLDER} COMPONENT main
|
|
ARCHIVE DESTINATION lib${UNMANAGED_LIBRARY_OUTPUT_SUBFOLDER} COMPONENT main)
|