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.
218 lines
7.4 KiB
218 lines
7.4 KiB
# --------------------------------------------------------
|
|
# Copyright (C) 2004-2016 by EMGU Corporation. All rights reserved.
|
|
# --------------------------------------------------------
|
|
|
|
IF(EMGU_CV_BUILD OR EMGU_CV_EXAMPLE_BUILD)
|
|
|
|
PROJECT(Emgu.CV.World)
|
|
|
|
IF(ANDROID)
|
|
ELSEIF(IOS)
|
|
BUILD_CSPROJ(${PROJECT_NAME} "${CMAKE_CURRENT_SOURCE_DIR}/Emgu.CV.World.IOS.csproj")
|
|
INSTALL(
|
|
FILES
|
|
${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.xml
|
|
${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.dll
|
|
DESTINATION ${CPACK_PACKAGE_CLI_FOLDER}
|
|
COMPONENT emgucv_binary)
|
|
ELSEIF(NETFX_CORE)
|
|
|
|
SET(EXTRA_BINARY_NAME "")
|
|
IF ("${EMGUCV_ARCH}" STREQUAL "win64")
|
|
SET(EXTRA_BUILD_FLAGS "/p:Platform=x64")
|
|
SET(EXTRA_BINARY_NAME ".x64")
|
|
ELSEIF ("${EMGUCV_ARCH}" STREQUAL "win32")
|
|
SET(EXTRA_BUILD_FLAGS "/p:Platform=x86")
|
|
SET(EXTRA_BINARY_NAME ".x86")
|
|
ELSEIF ("${EMGUCV_ARCH}" STREQUAL "arm")
|
|
SET(EXTRA_BUILD_FLAGS "/p:Platform=ARM")
|
|
SET(EXTRA_BINARY_NAME ".ARM")
|
|
ENDIF()
|
|
|
|
IF (("${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsPhone") AND CMAKE_SYSTEM_VERSION MATCHES 8.1)
|
|
BUILD_CSPROJ(${PROJECT_NAME} "${CMAKE_CURRENT_SOURCE_DIR}/Emgu.CV.World.Phone81.csproj" "${EXTRA_BUILD_FLAGS}" ALL)
|
|
INSTALL(
|
|
FILES
|
|
${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.Phone81${EXTRA_BINARY_NAME}.xml
|
|
${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.Phone81${EXTRA_BINARY_NAME}.dll
|
|
DESTINATION ${CPACK_PACKAGE_CLI_FOLDER}
|
|
COMPONENT emgucv_binary)
|
|
if(ENABLE_SOLUTION_FOLDERS)
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "emgu")
|
|
endif()
|
|
ADD_DEPENDENCIES(${PROJECT_NAME} cvextern)
|
|
|
|
ELSEIF (("${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore") AND CMAKE_SYSTEM_VERSION MATCHES 8.1)
|
|
BUILD_CSPROJ(${PROJECT_NAME} "${CMAKE_CURRENT_SOURCE_DIR}/Emgu.CV.World.Store81.csproj" "${EXTRA_BUILD_FLAGS}" ALL)
|
|
INSTALL(
|
|
FILES
|
|
${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.Store81${EXTRA_BINARY_NAME}.xml
|
|
${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.Store81${EXTRA_BINARY_NAME}.dll
|
|
DESTINATION ${CPACK_PACKAGE_CLI_FOLDER}
|
|
COMPONENT emgucv_binary)
|
|
if(ENABLE_SOLUTION_FOLDERS)
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "emgu")
|
|
endif()
|
|
ADD_DEPENDENCIES(${PROJECT_NAME} cvextern)
|
|
|
|
ENDIF()
|
|
|
|
#ELSE(WIN32)
|
|
#BUILD_CSPROJ(${PROJECT_NAME} "${CMAKE_CURRENT_SOURCE_DIR}/Emgu.CV.World.csproj")
|
|
#INSTALL(
|
|
# FILES
|
|
# ${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.xml
|
|
# ${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.dll
|
|
# DESTINATION ${CPACK_PACKAGE_CLI_FOLDER}
|
|
# COMPONENT emgucv_binary)
|
|
#if(ENABLE_SOLUTION_FOLDERS)
|
|
# set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "emgu")
|
|
#endif()
|
|
#ADD_DEPENDENCIES(${PROJECT_NAME} cvextern)
|
|
ELSE()
|
|
|
|
SET(SRC_EMGU_CV_WORLD)
|
|
FILE(GLOB_RECURSE SRC_EMGU_UTIL RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.Util/*.cs")
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${SRC_EMGU_UTIL})
|
|
|
|
FILE(GLOB_RECURSE SRC_EMGU_CV RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.CV/*.cs")
|
|
FILE(GLOB_RECURSE SRC_EMGU_CV_EXCLUDES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.CV/PInvoke/Unity/*.cs" "../Emgu.CV/PInvoke/iOS/libemgucv.linkwith.cs")
|
|
LIST(REMOVE_ITEM SRC_EMGU_CV ${SRC_EMGU_CV_EXCLUDES})
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${SRC_EMGU_CV})
|
|
|
|
FILE(GLOB_RECURSE SRC_EMGU_CV_ML RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.CV.ML/*.cs")
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${SRC_EMGU_CV_ML})
|
|
|
|
FILE(GLOB_RECURSE SRC_EMGU_CV_VIDEOSTAB RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.CV.VideoStab/*.cs")
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${SRC_EMGU_CV_VIDEOSTAB})
|
|
|
|
FILE(GLOB_RECURSE SRC_EMGU_CV_SUPERRES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.CV.Superres/*.cs")
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${SRC_EMGU_CV_SUPERRES})
|
|
|
|
FILE(GLOB_RECURSE SRC_EMGU_CV_STITCHING RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.CV.Stitching/*.cs")
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${SRC_EMGU_CV_STITCHING})
|
|
|
|
FILE(GLOB_RECURSE SRC_EMGU_CV_SHAPE RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.CV.Shape/*.cs")
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${SRC_EMGU_CV_SHAPE})
|
|
|
|
IF (EMGU_CV_WITH_TESSERACT)
|
|
FILE(GLOB_RECURSE SRC_EMGU_CV_OCR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.CV.OCR/*.cs")
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${SRC_EMGU_CV_OCR})
|
|
|
|
FILE(GLOB TESSDATA "${CMAKE_CURRENT_SOURCE_DIR}/tessdata/eng.*")
|
|
FOREACH(TESSDATA_FILE ${TESSDATA})
|
|
GET_FILENAME_COMPONENT(TESSDATA_FILE_NAME ${TESSDATA_FILE} NAME)
|
|
ADD_CS_FILE_TO_DEPLOY(${TESSDATA_FILE} tessdata/${TESSDATA_FILE_NAME})
|
|
ENDFOREACH()
|
|
|
|
ENDIF()
|
|
|
|
FILE(GLOB_RECURSE SRC_EMGU_CV_CUDA RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.CV.Cuda/*.cs")
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${SRC_EMGU_CV_CUDA})
|
|
|
|
FILE(GLOB_RECURSE SRC_EMGU_CV_CONTRIB RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "../Emgu.CV.Contrib/*.cs")
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${SRC_EMGU_CV_CONTRIB})
|
|
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${CMAKE_CURRENT_SOURCE_DIR}/../CommonAssemblyInfo.cs)
|
|
LIST(APPEND SRC_EMGU_CV_WORLD ${CMAKE_CURRENT_SOURCE_DIR}/Properties/AssemblyInfo.cs)
|
|
GENERATE_DOCUMENT(${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME})
|
|
SIGN_ASSEMBLY(${CMAKE_CURRENT_SOURCE_DIR}/../Emgu.CV.snk)
|
|
SET_CS_TARGET_FRAMEWORK(${CSC_TARGET_FRAMEWORK})
|
|
COMPILE_CS(${PROJECT_NAME} "library" "${SRC_EMGU_CV_WORLD}" ALL)
|
|
|
|
ADD_DEPENDENCIES(${PROJECT_NAME} cvextern)
|
|
|
|
INSTALL(
|
|
FILES
|
|
${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.xml
|
|
${LIBRARY_OUTPUT_PATH}/${PROJECT_NAME}.dll
|
|
DESTINATION ${CPACK_PACKAGE_CLI_FOLDER}
|
|
COMPONENT emgucv_binary)
|
|
if(ENABLE_SOLUTION_FOLDERS)
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "emgu")
|
|
endif()
|
|
ENDIF()
|
|
|
|
|
|
IF(WIN32 OR APPLE OR ANDROID)
|
|
INSTALL(
|
|
DIRECTORY
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
DESTINATION .
|
|
COMPONENT emgucv_source
|
|
FILES_MATCHING
|
|
|
|
PATTERN "tessdata/*"
|
|
PATTERN "*.cs"
|
|
PATTERN "*.resx"
|
|
PATTERN ".svn" EXCLUDE
|
|
PATTERN "obj" EXCLUDE
|
|
PATTERN "CMakeFiles" EXCLUDE
|
|
PATTERN "${PROJECT_NAME}.dir" EXCLUDE
|
|
)
|
|
|
|
IF(HAVE_ANDROID)
|
|
INSTALL(
|
|
DIRECTORY
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
DESTINATION .
|
|
COMPONENT emgucv_source
|
|
FILES_MATCHING
|
|
PATTERN "*.Android.csproj"
|
|
PATTERN ".svn" EXCLUDE
|
|
PATTERN "obj" EXCLUDE
|
|
PATTERN "CMakeFiles" EXCLUDE
|
|
PATTERN "${PROJECT_NAME}.dir" EXCLUDE
|
|
)
|
|
ENDIF()
|
|
IF(HAVE_IOS)
|
|
#APPLE
|
|
INSTALL(
|
|
DIRECTORY
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
DESTINATION .
|
|
COMPONENT emgucv_source
|
|
FILES_MATCHING
|
|
PATTERN "${PROJECT_NAME}.IOS.csproj"
|
|
PATTERN ".svn" EXCLUDE
|
|
PATTERN "obj" EXCLUDE
|
|
PATTERN "CMakeFiles" EXCLUDE
|
|
PATTERN "${PROJECT_NAME}.dir" EXCLUDE
|
|
)
|
|
ENDIF()
|
|
|
|
IF (HAVE_WINSTORE_81_X86 OR HAVE_WINSTORE_81_X64)
|
|
#Windows Store
|
|
INSTALL(
|
|
DIRECTORY
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
DESTINATION .
|
|
COMPONENT emgucv_source
|
|
FILES_MATCHING
|
|
PATTERN "*.Store81.csproj"
|
|
PATTERN ".svn" EXCLUDE
|
|
PATTERN "obj" EXCLUDE
|
|
PATTERN "CMakeFiles" EXCLUDE
|
|
PATTERN "${PROJECT_NAME}.dir" EXCLUDE
|
|
)
|
|
ENDIF()
|
|
IF (HAVE_WINPHONE_81_X86 OR HAVE_WINPHONE_81_ARM)
|
|
#Windows Phone
|
|
INSTALL(
|
|
DIRECTORY
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
DESTINATION .
|
|
COMPONENT emgucv_source
|
|
FILES_MATCHING
|
|
PATTERN "*.Phone81.csproj"
|
|
PATTERN ".svn" EXCLUDE
|
|
PATTERN "obj" EXCLUDE
|
|
PATTERN "CMakeFiles" EXCLUDE
|
|
PATTERN "${PROJECT_NAME}.dir" EXCLUDE
|
|
)
|
|
ENDIF()
|
|
|
|
|
|
ENDIF()
|
|
|
|
ENDIF()
|