From d9142e80b2d9ecd4cf43240ef8a907aa499f553b Mon Sep 17 00:00:00 2001 From: George Arama <50641385+gearama@users.noreply.github.com> Date: Tue, 25 Jan 2022 14:27:04 -0800 Subject: [PATCH] secrets build from source (#3250) * secrets build * typo --- cmake-modules/FolderList.cmake | 5 ++++ .../CMakeLists.txt | 23 +++++++++++++++++-- sdk/keyvault/ci.yml | 3 +++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/cmake-modules/FolderList.cmake b/cmake-modules/FolderList.cmake index cb8d7dde1..480abfa47 100644 --- a/cmake-modules/FolderList.cmake +++ b/cmake-modules/FolderList.cmake @@ -8,6 +8,11 @@ macro(GetFolderList project) DownloadDepVersion(sdk/core azure-core 1.2.0) endif() + if(${project} STREQUAL SECRETS) + DownloadDepVersion(sdk/core azure-core 1.3.1) + DownloadDepVersion(sdk/identity azure-identity 1.1.0) + endif() + list(REMOVE_DUPLICATES BUILD_FOLDERS) endmacro() diff --git a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt index e9e1c28d0..44d13a436 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt +++ b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt @@ -9,10 +9,19 @@ az_vcpkg_integrate() cmake_minimum_required (VERSION 3.13) project(azure-security-keyvault-secrets LANGUAGES CXX) +# Compile Options +option(FETCH_SOURCE_DEPS "build source dependencies" OFF) + set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +if(FETCH_SOURCE_DEPS) + set(AZ_ALL_LIBRARIES ON) + include(FolderList) + SetCompileOptions(SECRETS) +endif() + include(AzureVersion) include(AzureCodeCoverage) include(AzureTransportAdapters) @@ -23,7 +32,13 @@ include(AzureBuildTargetForCI) # Add create_map_file function include(CreateMapFile) -if(NOT AZ_ALL_LIBRARIES) +if(FETCH_SOURCE_DEPS) + GetFolderList(SECRETS) + foreach(oneFolder IN LISTS BUILD_FOLDERS) + message("add folder ${oneFolder}") + add_subdirectory(${oneFolder}) + endforeach() +elseif(NOT AZ_ALL_LIBRARIES) find_package(azure-core-cpp "1.2.0" CONFIG QUIET) if(NOT azure-core-cpp_FOUND) find_package(azure-core-cpp "1.2.0" REQUIRED) @@ -66,6 +81,8 @@ target_include_directories( azure-security-keyvault-secrets PUBLIC $ + $ + $ $ ) @@ -86,7 +103,7 @@ get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") generate_documentation(azure-security-keyvault-secrets ${AZ_LIBRARY_VERSION}) if(BUILD_TESTING) - if (NOT AZ_ALL_LIBRARIES) + if (NOT AZ_ALL_LIBRARIES OR FETCH_SOURCE_DEPS) include(AddGoogleTest) enable_testing () endif() @@ -114,3 +131,5 @@ az_rtti_setup( SECURITY_KEYVAULT_SECRETS "azure/keyvault/secrets/rtti.hpp" ) + +unset(FETCH_SOURCE_DEPS CACHE) diff --git a/sdk/keyvault/ci.yml b/sdk/keyvault/ci.yml index dfbf32038..5adba2e41 100644 --- a/sdk/keyvault/ci.yml +++ b/sdk/keyvault/ci.yml @@ -48,6 +48,9 @@ stages: - Name: azure-security-keyvault-certificates Path: azure-security-keyvault-certificates VcpkgPortName: azure-security-keyvault-keys-cpp + - Name: azure-security-keyvault-secrets + Path: azure-security-keyvault-secrets + VcpkgPortName: azure-security-keyvault-secrets-cpp TestEnv: - Name: AZURE_KEYVAULT_URL Value: "https://non-real-account.vault.azure.net"