aboutsummaryrefslogtreecommitdiff
path: root/ports/aws-sdk-cpp/generateFeatures.ps1
diff options
context:
space:
mode:
authoryurybura <yurybura@gmail.com>2018-05-11 13:33:49 +0300
committerGitHub <noreply@github.com>2018-05-11 13:33:49 +0300
commit9535a5631ac212b1c657a02be3ed9398df30c96c (patch)
treea1124b7b5d81606c6d7413bb7075e8bdbc6afad3 /ports/aws-sdk-cpp/generateFeatures.ps1
parent92eb878b3efdb780097178125066a6070869c954 (diff)
parent9a19dae13a0fa594245db2df45ec54a504bc82f3 (diff)
downloadvcpkg-9535a5631ac212b1c657a02be3ed9398df30c96c.tar.gz
vcpkg-9535a5631ac212b1c657a02be3ed9398df30c96c.zip
Merge pull request #1 from Microsoft/master
update
Diffstat (limited to 'ports/aws-sdk-cpp/generateFeatures.ps1')
-rw-r--r--ports/aws-sdk-cpp/generateFeatures.ps151
1 files changed, 51 insertions, 0 deletions
diff --git a/ports/aws-sdk-cpp/generateFeatures.ps1 b/ports/aws-sdk-cpp/generateFeatures.ps1
new file mode 100644
index 000000000..8c8b1a342
--- /dev/null
+++ b/ports/aws-sdk-cpp/generateFeatures.ps1
@@ -0,0 +1,51 @@
+[CmdletBinding()]
+param(
+ [Parameter(Mandatory=$true)][string]$ExtractedSources,
+ [Parameter(Mandatory=$true)][string]$ControlFileIn,
+ [Parameter(Mandatory=$true)][string]$ControlFile,
+ [Parameter(Mandatory=$true)][string]$CMakeFragmentFile
+)
+
+$subfolders = Get-Item $ExtractedSources\aws-cpp-sdk-*
+
+$controltext = gc $ControlFileIn
+$controltext += @("# Automatically generated by generateFeatures.ps1")
+
+$cmakefragmenttext = @("# Automatically generated by generateFeatures.ps1")
+
+function GetDescription($dir, $modulename)
+{
+ if (Test-Path "$dir\CMakeLists.txt")
+ {
+ $descs = @(Select-String -Path "$dir\CMakeLists.txt" -Pattern "`"C\+\+ SDK for the AWS [^`"]*`"")
+ if ($descs.count -eq 1) {
+ $desc = $descs[0].Matches.Value -replace "`"",""
+ "Description: $desc"
+ }
+ else { "Description: C++ SDK for the AWS $modulename service" }
+ }
+ else { "Description: C++ SDK for the AWS $modulename service" }
+}
+
+$subfolders | % {
+ $modulename = $_.name -replace "^aws-cpp-sdk-",""
+ if ($modulename -match "-tests`$") { return }
+ if ($modulename -match "-sample`$") { return }
+ if ($modulename -eq "core") { return }
+
+ $controltext += @("")
+ $controltext += @("Feature: $modulename")
+ $controltext += @(GetDescription $_ $modulename)
+
+ $cmakefragmenttext += @(
+ "if(`"$modulename`" IN_LIST FEATURES)",
+ " list(APPEND BUILD_ONLY $modulename)",
+ "endif()"
+ )
+}
+
+Write-Verbose ($controltext -join "`n")
+[IO.File]::WriteAllText($ControlFile, ($controltext -join "`n")+"`n")
+
+Write-Verbose ($cmakefragmenttext -join "`n")
+[IO.File]::WriteAllText($CMakeFragmentFile, ($cmakefragmenttext -join "`n") +"`n")