mirror of
https://github.com/opencv/opencv.git
synced 2025-06-10 19:24:07 +08:00
Added build script to automate generating, building and installing OCV for WinRT, WindowsPhone 8, WindowsPhone 8.1. Added readme and .bat script wrapper. Added standalone script to build and install pre-generated projects.
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
This commit is contained in:
parent
cdd23440c9
commit
86ebf4a2d8
86
platforms/winrt/build_all.bat
Normal file
86
platforms/winrt/build_all.bat
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
|
||||||
|
set FOUND_VC=0
|
||||||
|
|
||||||
|
if defined VS120COMNTOOLS (
|
||||||
|
set VSTOOLS="%VS120COMNTOOLS%"
|
||||||
|
set VC_VER=120
|
||||||
|
set FOUND_VC=1
|
||||||
|
)
|
||||||
|
|
||||||
|
set VSTOOLS=%VSTOOLS:"=%
|
||||||
|
set "VSTOOLS=%VSTOOLS:\=/%"
|
||||||
|
|
||||||
|
set VSVARS="%VSTOOLS%vsvars32.bat"
|
||||||
|
|
||||||
|
if not defined VSVARS (
|
||||||
|
echo Can't find VC2013 installed!
|
||||||
|
goto ERROR
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
echo./*
|
||||||
|
echo. * Building OpenCV
|
||||||
|
echo. */
|
||||||
|
echo.
|
||||||
|
|
||||||
|
|
||||||
|
call %VSVARS%
|
||||||
|
|
||||||
|
if %FOUND_VC%==1 (
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.1\x86\OpenCV.sln Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.1\x86\INSTALL.vcxproj Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.1\x86\OpenCV.sln Release
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.1\x86\INSTALL.vcxproj Release
|
||||||
|
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.1\ARM\OpenCV.sln Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.1\ARM\INSTALL.vcxproj Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.1\ARM\OpenCV.sln Release
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.1\ARM\INSTALL.vcxproj Release
|
||||||
|
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.1\x86\OpenCV.sln Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.1\x86\INSTALL.vcxproj Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.1\x86\OpenCV.sln Release
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.1\x86\INSTALL.vcxproj Release
|
||||||
|
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.1\ARM\OpenCV.sln Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.1\ARM\INSTALL.vcxproj Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.1\ARM\OpenCV.sln Release
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.1\ARM\INSTALL.vcxproj Release
|
||||||
|
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.0\x86\OpenCV.sln Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.0\x86\INSTALL.vcxproj Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.0\x86\OpenCV.sln Release
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.0\x86\INSTALL.vcxproj Release
|
||||||
|
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.0\ARM\OpenCV.sln Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.0\ARM\INSTALL.vcxproj Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.0\ARM\OpenCV.sln Release
|
||||||
|
call:DoMSBuild ..\..\bin\WP\8.0\ARM\INSTALL.vcxproj Release
|
||||||
|
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.0\x86\OpenCV.sln Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.0\x86\INSTALL.vcxproj Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.0\x86\OpenCV.sln Release
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.0\x86\INSTALL.vcxproj Release
|
||||||
|
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.0\ARM\OpenCV.sln Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.0\ARM\INSTALL.vcxproj Debug
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.0\ARM\OpenCV.sln Release
|
||||||
|
call:DoMSBuild ..\..\bin\WS\8.0\ARM\INSTALL.vcxproj Release
|
||||||
|
)
|
||||||
|
|
||||||
|
echo.&goto:EOF
|
||||||
|
|
||||||
|
|
||||||
|
::--------------------------------------------------------
|
||||||
|
::-- DoMSBuild
|
||||||
|
::--------------------------------------------------------
|
||||||
|
:DoMSBuild
|
||||||
|
msbuild %~1 /p:Configuration="%~2" /m
|
||||||
|
@if errorlevel 1 goto :ERROR
|
||||||
|
goto:EOF
|
||||||
|
|
||||||
|
:ERROR
|
||||||
|
pause
|
||||||
|
:EOF
|
103
platforms/winrt/readme.txt
Normal file
103
platforms/winrt/readme.txt
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
Building OpenCV from Source, using CMake and Command Line
|
||||||
|
=========================================================
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
============
|
||||||
|
CMake 3.1.0 or higher
|
||||||
|
Windows Phone/Store 8.1 Visual Studio 2013
|
||||||
|
Windows Phone/Store 8.0 Visual Studio 2012
|
||||||
|
|
||||||
|
For example, to be able to build all Windows Phone and Windows Store projects install the following:
|
||||||
|
|
||||||
|
Install Visual Studio 2013 Community Edition
|
||||||
|
http://go.microsoft.com/?linkid=9863608
|
||||||
|
|
||||||
|
Install Visual Studio Express 2012 for Windows Desktop
|
||||||
|
http://www.microsoft.com/en-us/download/details.aspx?id=34673
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To create all Windows Phone (8.0, 8.1) and Windows Store (8.0, 8.1) Visual Studio projects
|
||||||
|
==========================================================================================
|
||||||
|
cd opencv/platforms/winrt
|
||||||
|
setup_winrt.bat "WP,WS" "8.0,8.1" "x86,ARM"
|
||||||
|
|
||||||
|
If everything's fine, a few minutes later you will get the following output in the opencv/bin directory:
|
||||||
|
|
||||||
|
bin
|
||||||
|
WP
|
||||||
|
8.0
|
||||||
|
ARM
|
||||||
|
x86
|
||||||
|
8.1
|
||||||
|
ARM
|
||||||
|
x86
|
||||||
|
WS
|
||||||
|
8.0
|
||||||
|
ARM
|
||||||
|
x86
|
||||||
|
8.1
|
||||||
|
ARM
|
||||||
|
x86
|
||||||
|
|
||||||
|
Build the OpenCV.sln for the particular platform you are targeting. Due to the current limitations of CMake, separate x86/x64/ARM projects must be generated for each platform.
|
||||||
|
|
||||||
|
You can also target a single specific configuration
|
||||||
|
setup_winrt.bat "WP" "8.1" "x86"
|
||||||
|
|
||||||
|
Or a subset of configurations
|
||||||
|
setup_winrt.bat "WP,WS" "8.1" "x86"
|
||||||
|
|
||||||
|
To display the command line options for setup_winrt.bat
|
||||||
|
setup_winrt.bat -h
|
||||||
|
|
||||||
|
Note that x64 CMake generation support is as follows:
|
||||||
|
------------------------------
|
||||||
|
Platform\Version | 8.0 | 8.1 |
|
||||||
|
-----------------|-----|-----|
|
||||||
|
Windows Phone | No | No |
|
||||||
|
Windows Store | Yes | Yes |
|
||||||
|
|
||||||
|
Note: setup_winrt.bat calls the unsigned PowerShell script with the -ExecutionPolicy Unrestricted option.
|
||||||
|
|
||||||
|
|
||||||
|
CMake command line options for Windows Phone and Store
|
||||||
|
======================================================
|
||||||
|
|
||||||
|
cmake [options] <path-to-source>
|
||||||
|
|
||||||
|
Windows Phone 8.1 x86
|
||||||
|
cmake -G "Visual Studio 12 2013" -DCMAKE_SYSTEM_NAME=WindowsPhone -DCMAKE_SYSTEM_VERSION=8.1 <path-to-source>
|
||||||
|
|
||||||
|
Windows Phone 8.1 ARM
|
||||||
|
cmake -G "Visual Studio 12 2013 ARM" -DCMAKE_SYSTEM_NAME=WindowsPhone -DCMAKE_SYSTEM_VERSION=8.1 <path-to-source>
|
||||||
|
|
||||||
|
Windows Store 8.1 x86
|
||||||
|
cmake -G "Visual Studio 12 2013" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=8.1 <path-to-source>
|
||||||
|
|
||||||
|
Windows Store 8.1 ARM
|
||||||
|
cmake -G "Visual Studio 12 2013 ARM" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=8.1 <path-to-source>
|
||||||
|
|
||||||
|
Note: For Windows 8.0 Phone and Store you can specify either Visual Studio 11 2012 or Visual Studio 12 2013 as the generator
|
||||||
|
|
||||||
|
Windows Phone 8.0 x86
|
||||||
|
cmake -G "Visual Studio 12 2013" -DCMAKE_SYSTEM_NAME=WindowsPhone -DCMAKE_SYSTEM_VERSION=8.0 <path-to-source>
|
||||||
|
|
||||||
|
Windows Phone 8.0 ARM
|
||||||
|
cmake -G "Visual Studio 12 2013 ARM" -DCMAKE_SYSTEM_NAME=WindowsPhone -DCMAKE_SYSTEM_VERSION=8.0 <path-to-source>
|
||||||
|
|
||||||
|
Windows Store 8.0 x86
|
||||||
|
cmake -G "Visual Studio 12 2013" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=8.0 <path-to-source>
|
||||||
|
|
||||||
|
Windows Store 8.0 ARM
|
||||||
|
cmake -G "Visual Studio 12 2013 ARM" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=8.0 <path-to-source>
|
||||||
|
|
||||||
|
Example
|
||||||
|
=======
|
||||||
|
|
||||||
|
To generate Windows Phone 8.1 x86 project files in the opencv/bin dir
|
||||||
|
|
||||||
|
mkdir bin
|
||||||
|
cd bin
|
||||||
|
cmake -G "Visual Studio 12 2013" -DCMAKE_SYSTEM_NAME=WindowsPhone -DCMAKE_SYSTEM_VERSION=8.1 ../
|
||||||
|
|
2
platforms/winrt/setup_winrt.bat
Normal file
2
platforms/winrt/setup_winrt.bat
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
@echo off
|
||||||
|
Powershell.exe -ExecutionPolicy Unrestricted -File setup_winrt.ps1 %*
|
331
platforms/winrt/setup_winrt.ps1
Normal file
331
platforms/winrt/setup_winrt.ps1
Normal file
@ -0,0 +1,331 @@
|
|||||||
|
<#
|
||||||
|
Copyright © Microsoft Open Technologies, Inc.
|
||||||
|
All Rights Reserved
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||||
|
EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT.
|
||||||
|
|
||||||
|
See the Apache 2 License for the specific language governing permissions and limitations under the License.
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding()]
|
||||||
|
Param(
|
||||||
|
[parameter(Mandatory=$False)]
|
||||||
|
[switch]
|
||||||
|
$HELP,
|
||||||
|
|
||||||
|
[parameter(Mandatory=$False)]
|
||||||
|
[switch]
|
||||||
|
$BUILD,
|
||||||
|
|
||||||
|
[parameter(Mandatory=$False)]
|
||||||
|
[Array]
|
||||||
|
[ValidateNotNull()]
|
||||||
|
$PLATFORMS_IN = "WP",
|
||||||
|
|
||||||
|
[parameter(Mandatory=$False)]
|
||||||
|
[Array]
|
||||||
|
[ValidateNotNull()]
|
||||||
|
$VERSIONS_IN = "8.1",
|
||||||
|
|
||||||
|
[parameter(Mandatory=$False)]
|
||||||
|
[Array]
|
||||||
|
[ValidateNotNull()]
|
||||||
|
$ARCHITECTURES_IN = "x86",
|
||||||
|
|
||||||
|
[parameter(Mandatory=$False)]
|
||||||
|
[String]
|
||||||
|
[ValidateNotNull()]
|
||||||
|
[ValidateSet("Visual Studio 12 2013","Visual Studio 11 2012")]
|
||||||
|
$GENERATOR = "Visual Studio 12 2013",
|
||||||
|
|
||||||
|
[parameter(Mandatory=$False)]
|
||||||
|
[String]
|
||||||
|
$INSTALL
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Function L() {
|
||||||
|
Param(
|
||||||
|
[parameter(Mandatory=$true)]
|
||||||
|
[String]
|
||||||
|
[ValidateNotNull()]
|
||||||
|
$str
|
||||||
|
)
|
||||||
|
|
||||||
|
Write-Host "INFO> $str"
|
||||||
|
}
|
||||||
|
|
||||||
|
Function D() {
|
||||||
|
Param(
|
||||||
|
[parameter(Mandatory=$true)]
|
||||||
|
[String]
|
||||||
|
[ValidateNotNull()]
|
||||||
|
$str
|
||||||
|
)
|
||||||
|
|
||||||
|
# Use this trigger to toggle debug output
|
||||||
|
[bool]$debug = $true
|
||||||
|
|
||||||
|
if ($debug) {
|
||||||
|
Write-Host "DEBUG> $str"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function Get-Batchfile ($file) {
|
||||||
|
$cmd = "`"$file`" & set"
|
||||||
|
cmd /c $cmd | Foreach-Object {
|
||||||
|
$p, $v = $_.split('=')
|
||||||
|
Set-Item -path env:$p -value $v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Enables access to Visual Studio variables via "vsvars32.bat"
|
||||||
|
function Set-VS12()
|
||||||
|
{
|
||||||
|
Try {
|
||||||
|
$vs12comntools = (Get-ChildItem env:VS120COMNTOOLS).Value
|
||||||
|
$batchFile = [System.IO.Path]::Combine($vs12comntools, "vsvars32.bat")
|
||||||
|
Get-Batchfile $BatchFile
|
||||||
|
[System.Console]::Title = "Visual Studio 2010 Windows PowerShell"
|
||||||
|
} Catch {
|
||||||
|
$ErrorMessage = $_.Exception.Message
|
||||||
|
L "Error: $ErrorMessage"
|
||||||
|
return $false
|
||||||
|
}
|
||||||
|
return $true
|
||||||
|
}
|
||||||
|
|
||||||
|
# Executes msbuild to build or install projects
|
||||||
|
# Throws Exception on error
|
||||||
|
function Call-MSBuild($path, $config)
|
||||||
|
{
|
||||||
|
$command = "msbuild $path /p:Configuration='$config' /m"
|
||||||
|
L "Executing: $($command)"
|
||||||
|
msbuild $path /p:Configuration="$config" /m
|
||||||
|
|
||||||
|
if(-Not $?) {
|
||||||
|
Throw "Failure executing command: $($command)"
|
||||||
|
}
|
||||||
|
|
||||||
|
return $true
|
||||||
|
}
|
||||||
|
|
||||||
|
Function Execute() {
|
||||||
|
If ($HELP.IsPresent) {
|
||||||
|
ShowHelp
|
||||||
|
}
|
||||||
|
|
||||||
|
# Validating arguments.
|
||||||
|
# This type of validation (rather than using ValidateSet()) is required to make .bat wrapper work
|
||||||
|
|
||||||
|
D "Input Platforms: $PLATFORMS_IN"
|
||||||
|
$platforms = New-Object System.Collections.ArrayList
|
||||||
|
$PLATFORMS_IN.Split("," ,[System.StringSplitOptions]::RemoveEmptyEntries) | ForEach {
|
||||||
|
$_ = $_.Trim()
|
||||||
|
if ("WP","WS" -Contains $_) {
|
||||||
|
[void]$platforms.Add($_)
|
||||||
|
D "$_ is valid"
|
||||||
|
} else {
|
||||||
|
Throw "$($_) is not valid! Please use WP, WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
D "Processed Platforms: $platforms"
|
||||||
|
|
||||||
|
D "Input Versions: $VERSIONS_IN"
|
||||||
|
$versions = New-Object System.Collections.ArrayList
|
||||||
|
$VERSIONS_IN.Split("," ,[System.StringSplitOptions]::RemoveEmptyEntries) | ForEach {
|
||||||
|
$_ = $_.Trim()
|
||||||
|
if ("8.0","8.1" -Contains $_) {
|
||||||
|
[void]$versions.Add($_)
|
||||||
|
D "$_ is valid"
|
||||||
|
} else {
|
||||||
|
Throw "$($_) is not valid! Please use 8.0, 8.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
D "Processed Versions: $versions"
|
||||||
|
|
||||||
|
D "Input Architectures: $ARCHITECTURES_IN"
|
||||||
|
$architectures = New-Object System.Collections.ArrayList
|
||||||
|
$ARCHITECTURES_IN.Split("," ,[System.StringSplitOptions]::RemoveEmptyEntries) | ForEach {
|
||||||
|
$_ = $_.Trim()
|
||||||
|
if ("x86","x64","ARM" -Contains $_) {
|
||||||
|
$architectures.Add($_) > $null
|
||||||
|
D "$_ is valid"
|
||||||
|
} else {
|
||||||
|
Throw "$($_) is not valid! Please use x86, x64, ARM"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
D "Processed Architectures: $architectures"
|
||||||
|
|
||||||
|
# Assuming we are in '<ocv-sources>/platforms/winrt' we should move up to sources root directory
|
||||||
|
Push-Location ../../
|
||||||
|
|
||||||
|
$SRC = Get-Location
|
||||||
|
|
||||||
|
$def_architectures = @{
|
||||||
|
"x86" = "";
|
||||||
|
"x64" = " Win64"
|
||||||
|
"arm" = " ARM"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Setting up Visual Studio variables to enable build
|
||||||
|
$shouldBuid = $false
|
||||||
|
If ($BUILD.IsPresent) {
|
||||||
|
$shouldBuild = Set-VS12
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($plat in $platforms) {
|
||||||
|
# Set proper platform name.
|
||||||
|
$platName = ""
|
||||||
|
Switch ($plat) {
|
||||||
|
"WP" { $platName = "WindowsPhone" }
|
||||||
|
"WS" { $platName = "WindowsStore" }
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($vers in $versions) {
|
||||||
|
|
||||||
|
foreach($arch in $architectures) {
|
||||||
|
|
||||||
|
# Set proper architecture. For MSVS this is done by selecting proper generator
|
||||||
|
$genName = $GENERATOR
|
||||||
|
Switch ($arch) {
|
||||||
|
"ARM" { $genName = $GENERATOR + $def_architectures['arm'] }
|
||||||
|
"x64" { $genName = $GENERATOR + $def_architectures['x64'] }
|
||||||
|
}
|
||||||
|
|
||||||
|
# Constructing path to the install binaries
|
||||||
|
# Creating these binaries will be done by building CMake-generated INSTALL project from Visual Studio
|
||||||
|
$installPath = "$SRC\bin\install\$plat\$vers\$arch"
|
||||||
|
if ($INSTALL) {
|
||||||
|
# Do not add architrecture to the path since it will be added by OCV CMake logic
|
||||||
|
$installPath = "$SRC\$INSTALL\$plat\$vers"
|
||||||
|
}
|
||||||
|
|
||||||
|
$path = "$SRC\bin\$plat\$vers\$arch"
|
||||||
|
|
||||||
|
L "-----------------------------------------------"
|
||||||
|
L "Target:"
|
||||||
|
L " Directory: $path"
|
||||||
|
L " Platform: $platName"
|
||||||
|
L " Version: $vers"
|
||||||
|
L " Architecture: $arch"
|
||||||
|
L " Generator: $genName"
|
||||||
|
L " Install Directory: $installPath"
|
||||||
|
|
||||||
|
# Delete target directory if exists to ensure that CMake cache is cleared out.
|
||||||
|
If (Test-Path $path) {
|
||||||
|
Remove-Item -Recurse -Force $path
|
||||||
|
}
|
||||||
|
|
||||||
|
# Validate if required directory exists, create if it doesn't
|
||||||
|
New-Item -ItemType Directory -Force -Path $path
|
||||||
|
|
||||||
|
# Change location to the respective subdirectory
|
||||||
|
Push-Location -Path $path
|
||||||
|
|
||||||
|
L "Generating project:"
|
||||||
|
L "cmake -G $genName -DCMAKE_SYSTEM_NAME:String=$platName -DCMAKE_SYSTEM_VERSION:String=$vers -DCMAKE_VS_EFFECTIVE_PLATFORMS:String=$arch -DCMAKE_INSTALL_PREFIX:PATH=$installPath $SRC"
|
||||||
|
cmake -G $genName -DCMAKE_SYSTEM_NAME:String=$platName -DCMAKE_SYSTEM_VERSION:String=$vers -DCMAKE_VS_EFFECTIVE_PLATFORMS:String=$arch -DCMAKE_INSTALL_PREFIX:PATH=$installPath $SRC
|
||||||
|
L "-----------------------------------------------"
|
||||||
|
|
||||||
|
# REFERENCE:
|
||||||
|
# Executed from '$SRC/bin' folder.
|
||||||
|
# Targeting x86 WindowsPhone 8.1.
|
||||||
|
# cmake -G "Visual Studio 12 2013" -DCMAKE_SYSTEM_NAME:String=WindowsPhone -DCMAKE_SYSTEM_VERSION:String=8.1 ..
|
||||||
|
|
||||||
|
|
||||||
|
# Building and installing project
|
||||||
|
Try {
|
||||||
|
If ($shouldBuild) {
|
||||||
|
L "Building and installing project:"
|
||||||
|
|
||||||
|
Call-MSBuild "OpenCV.sln" "Debug"
|
||||||
|
Call-MSBuild "INSTALL.vcxproj" "Debug"
|
||||||
|
|
||||||
|
Call-MSBuild "OpenCV.sln" "Release"
|
||||||
|
Call-MSBuild "INSTALL.vcxproj" "Release"
|
||||||
|
}
|
||||||
|
} Catch {
|
||||||
|
$ErrorMessage = $_.Exception.Message
|
||||||
|
L "Error: $ErrorMessage"
|
||||||
|
|
||||||
|
# Exiting at this point will leave command line pointing at the erroneous configuration directory
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# Return back to Sources folder
|
||||||
|
Pop-Location
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Return back to Script folder
|
||||||
|
Pop-Location
|
||||||
|
}
|
||||||
|
|
||||||
|
Function ShowHelp() {
|
||||||
|
Write-Host "Configures OpenCV and generates projects for specified verion of Visual Studio/platforms/architectures."
|
||||||
|
Write-Host "Must be executed from the sources folder containing main CMakeLists configuration."
|
||||||
|
Write-Host "Parameter keys can be shortened down to a signle symbol (e.g. '-a') and are not case sensitive."
|
||||||
|
Write-Host "Proper parameter sequensing is required when omitting keys."
|
||||||
|
Write-Host "Generates the following folder structure, depending on the supplied parameters: "
|
||||||
|
Write-Host " bin/ "
|
||||||
|
Write-Host " | "
|
||||||
|
Write-Host " |-WP "
|
||||||
|
Write-Host " | ... "
|
||||||
|
Write-Host " |-WinRT "
|
||||||
|
Write-Host " | |-8.0 "
|
||||||
|
Write-Host " | |-8.1 "
|
||||||
|
Write-Host " | | |-x86 "
|
||||||
|
Write-Host " | | |-x64 "
|
||||||
|
Write-Host " | | |-ARM "
|
||||||
|
Write-Host " "
|
||||||
|
Write-Host " USAGE: "
|
||||||
|
Write-Host " Calling:"
|
||||||
|
Write-Host " PS> setup_winrt.ps1 [params]"
|
||||||
|
Write-Host " cmd> setup_winrt.bat [params]"
|
||||||
|
Write-Host " cmd> PowerShell.exe -ExecutionPolicy Unrestricted -File setup_winrt.ps1 [params]"
|
||||||
|
Write-Host " Parameters:"
|
||||||
|
Write-Host " setup_winrt [options] [platform] [version] [architecture] [generator] [install-path]"
|
||||||
|
Write-Host " setup_winrt -b 'WP' 'x86,ARM' "
|
||||||
|
Write-Host " setup_winrt -architecture x86 -platform WP "
|
||||||
|
Write-Host " setup_winrt -arc x86 -plat 'WP,WS' "
|
||||||
|
Write-Host " setup_winrt -a x86 -g 'Visual Studio 11 2012' -pl WP "
|
||||||
|
Write-Host " WHERE: "
|
||||||
|
Write-Host " options - Options to call "
|
||||||
|
Write-Host " -h: diplays command line help "
|
||||||
|
Write-Host " -b: builds BUILD_ALL and INSTALL projects for each generated configuration in both Debug and Release modes."
|
||||||
|
Write-Host " platform - Array of target platforms. "
|
||||||
|
Write-Host " Default: WP "
|
||||||
|
Write-Host " Example: 'WS,WP' "
|
||||||
|
Write-Host " Options: WP, WS ('WindowsPhone', 'WindowsStore'). "
|
||||||
|
Write-Host " Note that you'll need to use quotes to specify more than one platform. "
|
||||||
|
Write-Host " version - Array of platform versions. "
|
||||||
|
Write-Host " Default: 8.1 "
|
||||||
|
Write-Host " Example: '8.0,8.1' "
|
||||||
|
Write-Host " Options: 8.0, 8.1. Available options may be limited depending on your local setup (e.g. SDK availability). "
|
||||||
|
Write-Host " Note that you'll need to use quotes to specify more than one version. "
|
||||||
|
Write-Host " architecture - Array of target architectures to build for. "
|
||||||
|
Write-Host " Default: x86 "
|
||||||
|
Write-Host " Example: 'ARM,x64' "
|
||||||
|
Write-Host " Options: x86, ARM, x64. Available options may be limited depending on your local setup. "
|
||||||
|
Write-Host " Note that you'll need to use quotes to specify more than one architecture. "
|
||||||
|
Write-Host " generator - Visual Studio instance used to generate the projects. "
|
||||||
|
Write-Host " Default: Visual Studio 12 2013 "
|
||||||
|
Write-Host " Example: 'Visual Studio 11 2012' "
|
||||||
|
Write-Host " Use 'cmake --help' to find all available option on your machine. "
|
||||||
|
Write-Host " install-path - Path to install binaries (relative to the sources directory). "
|
||||||
|
Write-Host " Default: <src-dir>\bin\install\<platform>\<version>\<architecture> "
|
||||||
|
Write-Host " Example: '../install' "
|
||||||
|
|
||||||
|
Exit
|
||||||
|
}
|
||||||
|
|
||||||
|
Execute
|
Loading…
Reference in New Issue
Block a user