diff options
| author | yurybura <yurybura@gmail.com> | 2018-05-11 13:33:49 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-05-11 13:33:49 +0300 |
| commit | 9535a5631ac212b1c657a02be3ed9398df30c96c (patch) | |
| tree | a1124b7b5d81606c6d7413bb7075e8bdbc6afad3 /ports/aws-sdk-cpp/generateFeatures.ps1 | |
| parent | 92eb878b3efdb780097178125066a6070869c954 (diff) | |
| parent | 9a19dae13a0fa594245db2df45ec54a504bc82f3 (diff) | |
| download | vcpkg-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.ps1 | 51 |
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")
|
