Browse Source

Added CMake script to build Emgu CV iOS nuget package.

pull/275/head
Canming Huang 6 years ago
parent
commit
2b04c1b228
  1. 16
      CMakeLists.txt
  2. 26
      cmake/iOS.Package.nuspec.in
  3. 2
      platforms/nuget/Android/CMakeLists.txt
  4. 6
      platforms/nuget/CMakeLists.txt
  5. 18
      platforms/nuget/iOS/CMakeLists.txt
  6. 3
      platforms/nuget/iOS/Emgu.CV.iOS.targets

16
CMakeLists.txt

@ -790,6 +790,10 @@ IF(HAVE_ANDROID_ALL_ARCH AND WIN32)
SET(EMGUCV_ANDROID_NUGET_ID "${EMGUCV_NUGET_ID_BASE}-Android")
ENDIF()
IF(HAVE_IOS AND WIN32)
SET(EMGUCV_IOS_NUGET_ID "${EMGUCV_NUGET_ID_BASE}-iOS")
ENDIF()
IF ("${LICENSE_TYPE}" STREQUAL "Commercial")
MESSAGE(STATUS "Configuring nuget package for Commercial release")
SET(EMGUCV_NUGET_ID "${EMGUCV_NUGET_ID}-CR")
@ -886,6 +890,18 @@ IF(HAVE_ANDROID_ALL_ARCH AND WIN32)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Android.Package.nuspec.in ${CMAKE_CURRENT_SOURCE_DIR}/platforms/nuget/Android/Package.nuspec)
ENDIF()
IF(HAVE_IOS AND WIN32)
SET(EMGUCV_IOS_NUGET_TITLE "EMGU CV for iOS")
SET(EMGUCV_IOS_NUGET_FILE_LIST "
<file src=\"..\\..\\..\\libs\\Emgu.CV.World.IOS.dll\" target=\"lib\\Xamarin.iOS10\" />
<file src=\"..\\..\\..\\libs\\Emgu.CV.World.IOS.XML\" target=\"lib\\Xamarin.iOS10\" />")
SET(EMGUCV_IOS_NUGET_FILE_LIST "${EMGUCV_IOS_NUGET_FILE_LIST}
<file src=\"Emgu.CV.IOS.targets\" target=\"build\\${EMGUCV_IOS_NUGET_ID}.targets\" />
<file src=\"..\\..\\..\\${LICENSE_FILE_NAME}\" target=\"\" />")
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake/iOS.Package.nuspec.in ${CMAKE_CURRENT_SOURCE_DIR}/platforms/nuget/iOS/Package.nuspec)
ENDIF()
SET(EMGUCV_NUGET_SUMMARY "Emgu CV is a cross platform .Net wrapper to the OpenCV image processing library.")
IF ("${LICENSE_TYPE}" STREQUAL "Commercial")

26
cmake/iOS.Package.nuspec.in

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<package >
<metadata>
<id>${EMGUCV_IOS_NUGET_ID}</id>
<title>${EMGUCV_IOS_NUGET_TITLE}</title>
<version>${CPACK_PACKAGE_VERSION}</version>
<authors>${CPACK_PACKAGE_VENDOR}</authors>
<owners>${CPACK_PACKAGE_VENDOR}</owners>
<license type="file">${EMGUCV_LICENSE_FILE}</license>
<projectUrl>http://www.emgu.com/wiki/index.php</projectUrl>
<repository type="git" url="https://github.com/emgucv/emgucv" />
<iconUrl>http://www.emgu.com/wiki/files/EmguCVLogo.gif</iconUrl>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<summary>Emgu CV is a cross platform .Net wrapper to the OpenCV image processing library.</summary>
<description>Emgu CV is a cross platform .Net wrapper to the OpenCV image processing library. Allowing OpenCV functions to be called from .NET compatible languages such as C#, VB, VC++, IronPython etc. </description>
<releaseNotes>This is the ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH} release of Emgu CV. For online documentation please visit
http://www.emgu.com/wiki/files/${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}/document/index.html
</releaseNotes>
${EMGUCV_IOS_NUGET_DEPENDENCY}
<copyright>${CURRENT_YEAR} ${CPACK_PACKAGE_VENDOR}, all rights reserved</copyright>
<tags>opencv emgu emgucv ai image ios</tags>
</metadata>
<files>
${EMGUCV_IOS_NUGET_FILE_LIST}
</files>
</package>

2
platforms/nuget/Android/CMakeLists.txt

@ -6,7 +6,7 @@ IF(HAVE_ANDROID_ALL_ARCH AND WIN32)
PROJECT(Emgu.CV.Android.nuget)
ADD_CUSTOM_TARGET(
${PROJECT_NAME}
${PROJECT_NAME} ALL
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/../../../miscellaneous/nuget.exe" pack "${CMAKE_CURRENT_SOURCE_DIR}/Package.nuspec" -OutputDirectory "${CMAKE_CURRENT_SOURCE_DIR}/../"
)
ADD_DEPENDENCIES(${PROJECT_NAME} Emgu.CV.World.Android)

6
platforms/nuget/CMakeLists.txt

@ -28,5 +28,9 @@ endif()
ENDIF()
IF(HAVE_ANDROID_ALL_ARCH AND WIN32)
ADD_SUBDIRECTORY("Android")
ADD_SUBDIRECTORY("Android")
ENDIF()
IF(HAVE_IOS AND WIN32)
ADD_SUBDIRECTORY("iOS")
ENDIF()

18
platforms/nuget/iOS/CMakeLists.txt

@ -0,0 +1,18 @@
# --------------------------------------------------------
# Copyright (C) 2004-2019 by EMGU Corporation. All rights reserved.
# --------------------------------------------------------
IF(HAVE_IOS AND WIN32)
PROJECT(Emgu.CV.iOS.nuget)
ADD_CUSTOM_TARGET(
${PROJECT_NAME} ALL
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/../../../miscellaneous/nuget.exe" pack "${CMAKE_CURRENT_SOURCE_DIR}/Package.nuspec" -OutputDirectory "${CMAKE_CURRENT_SOURCE_DIR}/../"
)
#ADD_DEPENDENCIES(${PROJECT_NAME} Emgu.CV.World.iOS)
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "NUGET")
endif()
ENDIF()

3
platforms/nuget/iOS/Emgu.CV.iOS.targets

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>
Loading…
Cancel
Save