diff --git a/CMakeLists.txt b/CMakeLists.txt
index 75a40cfc7..cf87aa6d1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,16 +13,17 @@ option(BUILD_TRANSPORT_CURL "Build an HTTP transport implementation with CURL" O
option(BUILD_TRANSPORT_WINHTTP "Build an HTTP transport implementation with WIN HTTP" OFF)
option(BUILD_TRANSPORT_CUSTOM "Implementation for AzureSdkGetCustomHttpTransport function must be linked to the final application" OFF)
option(BUILD_TESTING "Build test cases" OFF)
+option(BUILD_SAMPLES "Build sample application for Azure Storage clients" OFF)
option(BUILD_RTTI "Build libraries with run-time type information." ON)
option(BUILD_CODE_COVERAGE "Build gcov targets for HTML and XML reports. Requires debug build and BUILD_TESTING" OFF)
option(BUILD_DOCUMENTATION "Create HTML based API documentation (requires Doxygen)" OFF)
option(RUN_LONG_UNIT_TESTS "Tests that takes more than 5 minutes to complete. No effect if BUILD_TESTING is OFF" OFF)
-option(BUILD_STORAGE_SAMPLES "Build sample application for Azure Storage clients" OFF)
option(BUILD_PERFORMANCE_TESTS "Build the performance test library" OFF)
option(MSVC_USE_STATIC_CRT "(MSVC only) Set to ON to link SDK with static CRT (/MT or /MTd switch)." OFF)
include(AzureTransportAdapters)
include(AzureVcpkg)
+include(AzureBuildTargetForCI)
az_vcpkg_integrate()
diff --git a/CMakeSettings.json b/CMakeSettings.json
index 12fe40e82..eae3e9380 100644
--- a/CMakeSettings.json
+++ b/CMakeSettings.json
@@ -7,7 +7,7 @@
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildRoot": "${projectDir}\\out\\build\\${name}",
"installRoot": "${projectDir}\\out\\install\\${name}",
- "cmakeCommandArgs": "-DINSTALL_GTEST=OFF -DBUILD_TESTING=ON -DBUILD_TRANSPORT_CURL=ON -DBUILD_STORAGE_SAMPLES=ON",
+ "cmakeCommandArgs": "-DINSTALL_GTEST=OFF -DBUILD_TESTING=ON -DBUILD_TRANSPORT_CURL=ON -DBUILD_SAMPLES=ON",
"buildCommandArgs": "-v",
"ctestCommandArgs": "",
"variables": [
@@ -25,7 +25,7 @@
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildRoot": "${projectDir}\\out\\build\\${name}",
"installRoot": "${projectDir}\\out\\install\\${name}",
- "cmakeCommandArgs": "-DINSTALL_GTEST=OFF -DBUILD_TESTING=ON -DBUILD_STORAGE_SAMPLES=ON",
+ "cmakeCommandArgs": "-DINSTALL_GTEST=OFF -DBUILD_TESTING=ON -DBUILD_SAMPLES=ON",
"buildCommandArgs": "-v",
"ctestCommandArgs": "",
"variables": [
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d6cd53930..f962148a4 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -138,8 +138,8 @@ The following CMake options are available for adding/removing project features.
OFF |
-| BUILD_STORAGE_SAMPLES |
-Build Azure Storage clients sample application. |
+BUILD_SAMPLES |
+Build Azure SDK for C++ sample applications. |
OFF |
diff --git a/cmake-modules/AzureBuildTargetForCI.cmake b/cmake-modules/AzureBuildTargetForCI.cmake
new file mode 100644
index 000000000..510b2bb6d
--- /dev/null
+++ b/cmake-modules/AzureBuildTargetForCI.cmake
@@ -0,0 +1,11 @@
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+# Defines utility functions to create build targets for CI.
+#
+
+macro(create_per_service_target_build target service)
+
+ file(APPEND ${CMAKE_BINARY_DIR}/${service}-targets-build.txt "${target}\n")
+
+endmacro()
diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml
index 981dd7774..ebae72937 100644
--- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml
+++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml
@@ -103,6 +103,7 @@ jobs:
- template: /eng/pipelines/templates/steps/cmake-build.yml
parameters:
+ ServiceDirectory: ${{ parameters.ServiceDirectory }}
Build: false
GenerateArgs: >-
-DINSTALL_GTEST=OFF
diff --git a/eng/pipelines/templates/jobs/archetype-sdk-tests.yml b/eng/pipelines/templates/jobs/archetype-sdk-tests.yml
index 026674443..8a7fc310b 100644
--- a/eng/pipelines/templates/jobs/archetype-sdk-tests.yml
+++ b/eng/pipelines/templates/jobs/archetype-sdk-tests.yml
@@ -68,7 +68,7 @@ jobs:
VcpkgInstall: 'curl[ssl] libxml2 openssl'
VCPKG_DEFAULT_TRIPLET: 'x64-linux'
# Builds samples and run them against the deployed resources. Samples requires Azure Account, so only works on live tests.
- CmakeArgs: ' -DBUILD_TESTING=ON -DBUILD_SAMPLES=ON -DBUILD_STORAGE_SAMPLES=ON'
+ CmakeArgs: ' -DBUILD_TESTING=ON -DBUILD_SAMPLES=ON '
BuildArgs: '-j 4'
RunSamples: 1
Ubuntu20_x64_no_rtti:
@@ -197,6 +197,7 @@ jobs:
- template: /eng/pipelines/templates/steps/cmake-build.yml
parameters:
+ ServiceDirectory: ${{ parameters.ServiceDirectory }}
GenerateArgs: $(CmakeArgs)
BuildArgs: "$(BuildArgs)"
Env: "$(CmakeEnvArg)"
diff --git a/eng/pipelines/templates/jobs/ci.tests.yml b/eng/pipelines/templates/jobs/ci.tests.yml
index 6c4e87008..988b3ec28 100644
--- a/eng/pipelines/templates/jobs/ci.tests.yml
+++ b/eng/pipelines/templates/jobs/ci.tests.yml
@@ -132,6 +132,7 @@ jobs:
- template: /eng/pipelines/templates/steps/cmake-build.yml
parameters:
+ ServiceDirectory: ${{ parameters.ServiceDirectory }}
GenerateArgs: "$(CmakeArgs)"
BuildArgs: "$(BuildArgs)"
Env: "$(CmakeEnvArg)"
diff --git a/eng/pipelines/templates/stages/platform-matrix.json b/eng/pipelines/templates/stages/platform-matrix.json
index 748ef1986..bf38f6b78 100644
--- a/eng/pipelines/templates/stages/platform-matrix.json
+++ b/eng/pipelines/templates/stages/platform-matrix.json
@@ -140,7 +140,7 @@
"PublishMapFiles": "true"
},
"included_samples": {
- "CmakeArgs": " -DBUILD_TESTING=ON -DBUILD_SAMPLES=ON -DBUILD_STORAGE_SAMPLES=ON",
+ "CmakeArgs": " -DBUILD_TESTING=ON -DBUILD_SAMPLES=ON ",
"PublishMapFiles": "true"
}
}
diff --git a/eng/pipelines/templates/steps/cmake-build.yml b/eng/pipelines/templates/steps/cmake-build.yml
index a755a2b1e..7a2d75e36 100644
--- a/eng/pipelines/templates/steps/cmake-build.yml
+++ b/eng/pipelines/templates/steps/cmake-build.yml
@@ -3,6 +3,7 @@ parameters:
GenerateArgs: ''
Build: true
BuildArgs: ''
+ ServiceDirectory: ''
steps:
@@ -17,7 +18,15 @@ steps:
workingDirectory: build
displayName: cmake generate
- - ${{ if eq(parameters.Build, true) }}:
+# Core should build all cmake tagets
+ - ${{ if and(eq(parameters.Build, true), eq(parameters.ServiceDirectory, 'core')) }}:
- script: cmake --build . ${{ parameters.BuildArgs }}
workingDirectory: build
- displayName: cmake build
+ displayName: cmake build All
+
+# Non-core services define the list of targets to build
+ - ${{ if and(eq(parameters.Build, true) , ne(parameters.ServiceDirectory, 'core')) }}:
+ - pwsh: cmake --build . ${{ parameters.BuildArgs }} --target (Get-Content ${{ parameters.ServiceDirectory }}-targets-build.txt)
+ workingDirectory: build
+ displayName: cmake build Targets
+
diff --git a/sdk/identity/azure-identity/CMakeLists.txt b/sdk/identity/azure-identity/CMakeLists.txt
index d0f4e8e1c..86172e8f4 100644
--- a/sdk/identity/azure-identity/CMakeLists.txt
+++ b/sdk/identity/azure-identity/CMakeLists.txt
@@ -19,6 +19,7 @@ include(AzureTransportAdapters)
include(AzureDoxygen)
include(AzureGlobalCompileOptions)
include(AzureConfigRTTI)
+include(AzureBuildTargetForCI)
# Add create_map_file function
include(CreateMapFile)
@@ -53,6 +54,7 @@ set(
)
add_library(azure-identity ${AZURE_IDENTITY_HEADER} ${AZURE_IDENTITY_SOURCE})
+create_per_service_target_build(azure-identity identity)
# make sure that users can consume the project as a library.
add_library(Azure::azure-identity ALIAS azure-identity)
@@ -93,12 +95,13 @@ if(BUILD_TESTING)
add_subdirectory(test/e2e)
add_subdirectory(test/ut)
+
+endif()
+
+if (BUILD_SAMPLES)
+ add_subdirectory(samples)
endif()
if (BUILD_PERFORMANCE_TESTS)
add_subdirectory(test/perf)
endif()
-
-if (AZ_ALL_LIBRARIES)
- add_subdirectory(samples)
-endif()
diff --git a/sdk/identity/azure-identity/samples/CMakeLists.txt b/sdk/identity/azure-identity/samples/CMakeLists.txt
index e53bd35da..e2b9ba25d 100644
--- a/sdk/identity/azure-identity/samples/CMakeLists.txt
+++ b/sdk/identity/azure-identity/samples/CMakeLists.txt
@@ -10,11 +10,14 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)
add_executable(client_secret_credential_sample client_secret_credential.cpp)
target_link_libraries(client_secret_credential_sample PRIVATE azure-identity)
target_include_directories(client_secret_credential_sample PRIVATE .)
+create_per_service_target_build(client_secret_credential_sample identity)
add_executable(environment_credential_sample environment_credential.cpp)
target_link_libraries(environment_credential_sample PRIVATE azure-identity)
target_include_directories(environment_credential_sample PRIVATE .)
+create_per_service_target_build(environment_credential_sample identity)
add_executable(managed_identity_credential_sample managed_identity_credential.cpp)
target_link_libraries(managed_identity_credential_sample PRIVATE azure-identity)
target_include_directories(managed_identity_credential_sample PRIVATE .)
+create_per_service_target_build(managed_identity_credential_sample identity)
diff --git a/sdk/identity/azure-identity/test/e2e/CMakeLists.txt b/sdk/identity/azure-identity/test/e2e/CMakeLists.txt
index 0e9a6081b..7861ca69d 100644
--- a/sdk/identity/azure-identity/test/e2e/CMakeLists.txt
+++ b/sdk/identity/azure-identity/test/e2e/CMakeLists.txt
@@ -11,5 +11,7 @@ add_executable (
azure-identity-e2e-test
azure_identity_e2e_test.cpp
)
+create_per_service_target_build(azure-identity-e2e-test identity)
+
create_map_file(azure-identity-e2e-test azure-identity-e2e-test.map)
target_link_libraries(azure-identity-e2e-test PRIVATE azure-identity)
diff --git a/sdk/identity/azure-identity/test/perf/CMakeLists.txt b/sdk/identity/azure-identity/test/perf/CMakeLists.txt
index adf4fddb8..877ca74d1 100644
--- a/sdk/identity/azure-identity/test/perf/CMakeLists.txt
+++ b/sdk/identity/azure-identity/test/perf/CMakeLists.txt
@@ -22,6 +22,7 @@ add_executable (
azure-identity-perf
${AZURE_IDENTITY_PERF_TEST_HEADER} ${AZURE_IDENTITY_PERF_TEST_SOURCE}
)
+create_per_service_target_build(azure-identity-perf identity)
create_map_file(azure-identity-perf azure-identity-perf.map)
diff --git a/sdk/identity/azure-identity/test/ut/CMakeLists.txt b/sdk/identity/azure-identity/test/ut/CMakeLists.txt
index 2101d2b3c..79f40641f 100644
--- a/sdk/identity/azure-identity/test/ut/CMakeLists.txt
+++ b/sdk/identity/azure-identity/test/ut/CMakeLists.txt
@@ -26,6 +26,8 @@ add_executable (
token_credential_impl_test.cpp
token_credential_test.cpp
)
+
+create_per_service_target_build(azure-identity-test identity)
create_map_file(azure-identity-test azure-identity-test.map)
diff --git a/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt
index f0806aa31..c232ba1d6 100644
--- a/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt
@@ -29,6 +29,7 @@ include(AzureTransportAdapters)
include(AzureDoxygen)
include(AzureGlobalCompileOptions)
include(AzureConfigRTTI)
+include(AzureBuildTargetForCI)
# Add create_map_file function
include(CreateMapFile)
@@ -66,6 +67,7 @@ add_library(azure-security-keyvault-certificates
${AZURE_KEYVAULT_CERTIFICATES_HEADER} ${AZURE_KEYVAULT_CERTIFICATES_SOURCE}
)
add_library(Azure::azure-security-keyvault-certificates ALIAS azure-security-keyvault-certificates)
+create_per_service_target_build(azure-security-keyvault-certificates keyvault)
target_include_directories(
azure-security-keyvault-certificates
diff --git a/sdk/keyvault/azure-security-keyvault-certificates/CMakeSettings.json b/sdk/keyvault/azure-security-keyvault-certificates/CMakeSettings.json
index dd66e2bd8..8d56896fe 100644
--- a/sdk/keyvault/azure-security-keyvault-certificates/CMakeSettings.json
+++ b/sdk/keyvault/azure-security-keyvault-certificates/CMakeSettings.json
@@ -7,7 +7,7 @@
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildRoot": "${projectDir}\\out\\build\\${name}",
"installRoot": "${projectDir}\\out\\install\\${name}",
- "cmakeCommandArgs": "-DINSTALL_GTEST=OFF -DBUILD_TESTING=ON -DBUILD_TRANSPORT_CURL=ON -DBUILD_STORAGE_SAMPLES=ON",
+ "cmakeCommandArgs": "-DINSTALL_GTEST=OFF -DBUILD_TESTING=ON -DBUILD_TRANSPORT_CURL=ON -DBUILD_SAMPLES=ON",
"buildCommandArgs": "-v",
"ctestCommandArgs": "",
"variables": [
@@ -25,7 +25,7 @@
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildRoot": "${projectDir}\\out\\build\\${name}",
"installRoot": "${projectDir}\\out\\install\\${name}",
- "cmakeCommandArgs": "-DINSTALL_GTEST=OFF -DBUILD_TESTING=ON -DBUILD_STORAGE_SAMPLES=ON",
+ "cmakeCommandArgs": "-DINSTALL_GTEST=OFF -DBUILD_TESTING=ON -DBUILD_SAMPLES=ON",
"buildCommandArgs": "-v",
"ctestCommandArgs": "",
"variables": [
diff --git a/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-basic-operations/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-basic-operations/CMakeLists.txt
index d1a041c16..1db39bdf8 100644
--- a/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-basic-operations/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-basic-operations/CMakeLists.txt
@@ -11,6 +11,7 @@ add_executable (
certificate-basic-operations
certificate_basic_operations.cpp
)
+create_per_service_target_build(certificate-basic-operations keyvault)
target_link_libraries(certificate-basic-operations PRIVATE azure-security-keyvault-certificates azure-identity )
diff --git a/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-get-certificates/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-get-certificates/CMakeLists.txt
index cfd500e87..d6a904619 100644
--- a/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-get-certificates/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-get-certificates/CMakeLists.txt
@@ -11,6 +11,7 @@ add_executable (
certificate-get-certificates
certificate_get_certificates.cpp
)
+create_per_service_target_build(certificate-get-certificates keyvault)
target_link_libraries(certificate-get-certificates PRIVATE azure-security-keyvault-certificates azure-identity )
diff --git a/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-import-certificate/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-import-certificate/CMakeLists.txt
index b0f305995..7865dd34f 100644
--- a/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-import-certificate/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-certificates/test/samples/certificate-import-certificate/CMakeLists.txt
@@ -11,6 +11,7 @@ add_executable (
certificate-import-certificate
certificate_import_certificate.cpp
)
+create_per_service_target_build(certificate-import-certificate keyvault)
target_link_libraries(certificate-import-certificate PRIVATE azure-security-keyvault-certificates azure-identity )
diff --git a/sdk/keyvault/azure-security-keyvault-certificates/test/ut/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-certificates/test/ut/CMakeLists.txt
index defabc1f6..c907a1484 100644
--- a/sdk/keyvault/azure-security-keyvault-certificates/test/ut/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-certificates/test/ut/CMakeLists.txt
@@ -18,6 +18,8 @@ add_executable (
certificate_client_test.cpp
certificate_client_base_test.hpp)
+create_per_service_target_build(azure-security-keyvault-certificates-test keyvault)
+
create_map_file(azure-security-keyvault-certificates-test azure-security-keyvault-certificates-test.map)
if (MSVC)
diff --git a/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt
index 14ae07d89..7e1d6154b 100644
--- a/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt
@@ -19,6 +19,7 @@ include(AzureTransportAdapters)
include(AzureDoxygen)
include(AzureGlobalCompileOptions)
include(AzureConfigRTTI)
+include(AzureBuildTargetForCI)
# Add create_map_file function
include(CreateMapFile)
@@ -89,6 +90,7 @@ set(
add_library(azure-security-keyvault-keys
${AZURE_KEYVAULT_KEYS_HEADER} ${AZURE_KEYVAULT_KEYS_SOURCE}
)
+create_per_service_target_build(azure-security-keyvault-keys keyvault)
add_library(Azure::azure-security-keyvault-keys ALIAS azure-security-keyvault-keys)
target_include_directories(
diff --git a/sdk/keyvault/azure-security-keyvault-keys/test/perf/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/test/perf/CMakeLists.txt
index 7f043e680..e6931fc53 100644
--- a/sdk/keyvault/azure-security-keyvault-keys/test/perf/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-keys/test/perf/CMakeLists.txt
@@ -22,7 +22,7 @@ add_executable (
azure-security-keyvault-keys-perf
${AZURE_KEYVAULT_KEY_PERF_TEST_HEADER} ${AZURE_KEYVAULT_KEY_PERF_TEST_SOURCE}
)
-
+create_per_service_target_build(azure-security-keyvault-keys-perf keyvault)
create_map_file(azure-security-keyvault-keys-perf azure-security-keyvault-keys-perf.map)
# Include the headers from the project.
diff --git a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample1-hello-world/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample1-hello-world/CMakeLists.txt
index 2196176bc..73fda18df 100644
--- a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample1-hello-world/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample1-hello-world/CMakeLists.txt
@@ -12,6 +12,8 @@ add_executable (
sample1_hello_world.cpp
)
+create_per_service_target_build(sample1-hello-world keyvault)
+
# Add the sample to be run on CI.
# CI pipeline reads the {service}-samples.txt and runs the binaries listed there.
file(APPEND ${CMAKE_BINARY_DIR}/keyvault-samples.txt "${CMAKE_CURRENT_BINARY_DIR}/sample1-hello-world\n")
diff --git a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample2-backup-and-restore/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample2-backup-and-restore/CMakeLists.txt
index 18e0fd56f..349115e97 100644
--- a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample2-backup-and-restore/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample2-backup-and-restore/CMakeLists.txt
@@ -11,6 +11,7 @@ add_executable (
sample2-backup-and-restore
sample2_backup_and_restore.cpp
)
+create_per_service_target_build(sample2-backup-and-restore keyvault)
# Add the sample to be run on CI.
# CI pipeline reads the {service}-samples.txt and runs the binaries listed there.
diff --git a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample3-get-keys/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample3-get-keys/CMakeLists.txt
index ae3e4aba8..ae6f05f96 100644
--- a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample3-get-keys/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample3-get-keys/CMakeLists.txt
@@ -11,6 +11,7 @@ add_executable (
sample3-get-keys
sample3_get_keys.cpp
)
+create_per_service_target_build(sample3-get-keys keyvault)
# Add the sample to be run on CI.
# CI pipeline reads the {service}-samples.txt and runs the binaries listed there.
diff --git a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample4-encrypt-decrypt/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample4-encrypt-decrypt/CMakeLists.txt
index 0ae548158..cde808371 100644
--- a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample4-encrypt-decrypt/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample4-encrypt-decrypt/CMakeLists.txt
@@ -11,6 +11,7 @@ add_executable (
sample4-encrypt-decrypt
sample4_encrypt_decrypt.cpp
)
+create_per_service_target_build(sample4-encrypt-decrypt keyvault)
# Add the sample to be run on CI.
# CI pipeline reads the {service}-samples.txt and runs the binaries listed there.
diff --git a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample5-sign-verify/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample5-sign-verify/CMakeLists.txt
index 5f1b7a2b5..b17ce7076 100644
--- a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample5-sign-verify/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample5-sign-verify/CMakeLists.txt
@@ -11,6 +11,7 @@ add_executable (
sample5-sign-verify
sample5_sign_verify.cpp
)
+create_per_service_target_build(sample5-sign-verify keyvault)
# Add the sample to be run on CI.
# CI pipeline reads the {service}-samples.txt and runs the binaries listed there.
diff --git a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample6-wrap-unwrap/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample6-wrap-unwrap/CMakeLists.txt
index 50ccde95d..f6fc48017 100644
--- a/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample6-wrap-unwrap/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-keys/test/samples/sample6-wrap-unwrap/CMakeLists.txt
@@ -11,6 +11,7 @@ add_executable (
sample6-wrap-unwrap
sample6_wrap_unwrap.cpp
)
+create_per_service_target_build(sample6-wrap-unwrap keyvault)
# Add the sample to be run on CI.
# CI pipeline reads the {service}-samples.txt and runs the binaries listed there.
diff --git a/sdk/keyvault/azure-security-keyvault-keys/test/ut/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/test/ut/CMakeLists.txt
index f43589d84..d3bf3a02f 100644
--- a/sdk/keyvault/azure-security-keyvault-keys/test/ut/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-keys/test/ut/CMakeLists.txt
@@ -30,6 +30,7 @@ add_executable (
mocked_transport_adapter_test.hpp
)
+create_per_service_target_build(azure-security-keyvault-keys-test keyvault)
create_map_file(azure-security-keyvault-keys-test azure-security-keyvault-keys-test.map)
if (MSVC)
diff --git a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt
index 8df33e7f1..e9e1c28d0 100644
--- a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt
@@ -19,6 +19,7 @@ include(AzureTransportAdapters)
include(AzureDoxygen)
include(AzureGlobalCompileOptions)
include(AzureConfigRTTI)
+include(AzureBuildTargetForCI)
# Add create_map_file function
include(CreateMapFile)
@@ -59,6 +60,7 @@ set(
add_library(azure-security-keyvault-secrets ${AZURE_SECURITY_KEYVAULT_SECRETS_HEADER} ${AZURE_SECURITY_KEYVAULT_SECRETS_SOURCE})
add_library(Azure::azure-security-keyvault-secrets ALIAS azure-security-keyvault-secrets)
+create_per_service_target_build(azure-security-keyvault-secrets keyvault)
target_include_directories(
azure-security-keyvault-secrets
diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample1-basic-operations/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample1-basic-operations/CMakeLists.txt
index b673ba5f3..61bc77e0f 100644
--- a/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample1-basic-operations/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample1-basic-operations/CMakeLists.txt
@@ -11,6 +11,7 @@ add_executable (
sample1-basic-operations
sample1_basic_operations.cpp
)
+create_per_service_target_build(sample1-basic-operations keyvault)
target_link_libraries(sample1-basic-operations PRIVATE azure-security-keyvault-secrets azure-identity)
diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample2-backup-restore/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample2-backup-restore/CMakeLists.txt
index a4080b5c2..c0434de98 100644
--- a/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample2-backup-restore/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample2-backup-restore/CMakeLists.txt
@@ -12,6 +12,8 @@ add_executable (
sample2_backup_restore.cpp
)
+create_per_service_target_build(sample2-backup-restore keyvault)
+
target_link_libraries(sample2-backup-restore PRIVATE azure-security-keyvault-secrets azure-identity)
# Add the sample to be run on CI.
diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample3-delete-recover/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample3-delete-recover/CMakeLists.txt
index d2f81abdb..74932d491 100644
--- a/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample3-delete-recover/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample3-delete-recover/CMakeLists.txt
@@ -12,6 +12,8 @@ add_executable (
sample3_delete_recover.cpp
)
+create_per_service_target_build(sample3-delete-recover keyvault)
+
target_link_libraries(sample3-delete-recover PRIVATE azure-security-keyvault-secrets azure-identity)
# Add the sample to be run on CI.
diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample4-get-secrets-deleted/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample4-get-secrets-deleted/CMakeLists.txt
index f31a8aaa9..e1a42dedc 100644
--- a/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample4-get-secrets-deleted/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample4-get-secrets-deleted/CMakeLists.txt
@@ -12,6 +12,8 @@ add_executable (
sample4_get_secrets_deleted.cpp
)
+create_per_service_target_build(sample4-get-secrets-deleted keyvault)
+
target_link_libraries(sample4-get-secrets-deleted PRIVATE azure-security-keyvault-secrets azure-identity)
# Add the sample to be run on CI.
diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/test-app/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/test/test-app/CMakeLists.txt
index 3ae2ee4fd..332cfb8b0 100644
--- a/sdk/keyvault/azure-security-keyvault-secrets/test/test-app/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-secrets/test/test-app/CMakeLists.txt
@@ -13,6 +13,8 @@ add_executable (
macro_guard.cpp
)
+create_per_service_target_build(keyvault-secrets-test-app keyvault)
+
create_map_file(keyvault-secrets-test-app keyvault-secrets-test-app.map)
if (MSVC)
diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/CMakeLists.txt
index e49858686..d2dbd83ad 100644
--- a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/CMakeLists.txt
+++ b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/CMakeLists.txt
@@ -26,6 +26,7 @@ add_executable (
secret_paged_deserialize_test.hpp
secret_client_base_test.hpp)
+create_per_service_target_build(azure-security-keyvault-secrets-test keyvault)
create_map_file(azure-security-keyvault-secrets-test azure-security-keyvault-secrets-test.map)
if (MSVC)
diff --git a/sdk/storage/CMakeLists.txt b/sdk/storage/CMakeLists.txt
index e59f70ef9..a23f27eae 100644
--- a/sdk/storage/CMakeLists.txt
+++ b/sdk/storage/CMakeLists.txt
@@ -4,7 +4,6 @@
cmake_minimum_required (VERSION 3.13)
project (azure-storage LANGUAGES CXX)
-option(BUILD_STORAGE_SAMPLES "Build storage sample codes" ON)
add_subdirectory(azure-storage-common)
add_subdirectory(azure-storage-blobs)
diff --git a/sdk/storage/azure-storage-blobs/CMakeLists.txt b/sdk/storage/azure-storage-blobs/CMakeLists.txt
index 8fd4877f3..6ea02fcf7 100644
--- a/sdk/storage/azure-storage-blobs/CMakeLists.txt
+++ b/sdk/storage/azure-storage-blobs/CMakeLists.txt
@@ -17,6 +17,7 @@ include(AzureTransportAdapters)
include(AzureDoxygen)
include(AzureGlobalCompileOptions)
include(AzureConfigRTTI)
+include(AzureBuildTargetForCI)
az_vcpkg_integrate()
@@ -60,6 +61,7 @@ set(
)
add_library(azure-storage-blobs ${AZURE_STORAGE_BLOB_HEADER} ${AZURE_STORAGE_BLOB_SOURCE})
+create_per_service_target_build(azure-storage-blobs storage)
# make sure that users can consume the project as a library.
add_library(Azure::azure-storage-blobs ALIAS azure-storage-blobs)
@@ -96,7 +98,7 @@ if(BUILD_TESTING)
add_subdirectory(test/fault-injector)
endif()
-if(BUILD_STORAGE_SAMPLES)
+if(BUILD_SAMPLES)
add_subdirectory(samples)
endif()
diff --git a/sdk/storage/azure-storage-blobs/samples/CMakeLists.txt b/sdk/storage/azure-storage-blobs/samples/CMakeLists.txt
index af3079b33..a5b30df62 100644
--- a/sdk/storage/azure-storage-blobs/samples/CMakeLists.txt
+++ b/sdk/storage/azure-storage-blobs/samples/CMakeLists.txt
@@ -5,12 +5,16 @@ cmake_minimum_required (VERSION 3.13)
add_executable(blob-getting-started blob_getting_started.cpp)
target_link_libraries(blob-getting-started PRIVATE azure-storage-blobs)
+create_per_service_target_build(blob-getting-started storage)
add_executable(blob-list-operation blob_list_operation.cpp)
target_link_libraries(blob-list-operation PRIVATE azure-storage-blobs)
+create_per_service_target_build(blob-list-operation storage)
add_executable(blob-sas blob_sas.cpp)
target_link_libraries(blob-sas PRIVATE azure-storage-blobs)
+create_per_service_target_build(blob-sas storage)
add_executable(transactional-checksum transactional_checksum.cpp)
target_link_libraries(transactional-checksum PRIVATE azure-storage-blobs)
+create_per_service_target_build(transactional-checksum storage)
diff --git a/sdk/storage/azure-storage-blobs/test/fault-injector/CMakeLists.txt b/sdk/storage/azure-storage-blobs/test/fault-injector/CMakeLists.txt
index 8d30e6259..9577b019c 100644
--- a/sdk/storage/azure-storage-blobs/test/fault-injector/CMakeLists.txt
+++ b/sdk/storage/azure-storage-blobs/test/fault-injector/CMakeLists.txt
@@ -13,5 +13,6 @@ add_executable (
azure-storage-blobs-test-fault-injector
azure_storage_blobs_fault_injector_test.cpp
)
+create_per_service_target_build(azure-storage-blobs-test-fault-injector storage)
target_link_libraries(azure-storage-blobs-test-fault-injector PRIVATE azure-storage-blobs)
diff --git a/sdk/storage/azure-storage-blobs/test/perf/CMakeLists.txt b/sdk/storage/azure-storage-blobs/test/perf/CMakeLists.txt
index 49fbb4672..9b16622cf 100644
--- a/sdk/storage/azure-storage-blobs/test/perf/CMakeLists.txt
+++ b/sdk/storage/azure-storage-blobs/test/perf/CMakeLists.txt
@@ -33,6 +33,8 @@ add_executable (
${AZURE_STORAGE_BLOBS_PERF_TEST_HEADER} ${AZURE_STORAGE_BLOBS_PERF_TEST_SOURCE}
)
+create_per_service_target_build(azure-storage-blobs-perf storage)
+
# Include the headers from the project.
target_include_directories(
azure-storage-blobs-perf
diff --git a/sdk/storage/azure-storage-blobs/test/ut/CMakeLists.txt b/sdk/storage/azure-storage-blobs/test/ut/CMakeLists.txt
index 6358351a0..b549631d0 100644
--- a/sdk/storage/azure-storage-blobs/test/ut/CMakeLists.txt
+++ b/sdk/storage/azure-storage-blobs/test/ut/CMakeLists.txt
@@ -32,6 +32,8 @@ add_executable (
${CMAKE_CURRENT_SOURCE_DIR}/../../../azure-storage-common/test/ut/test_base.hpp
)
+create_per_service_target_build(azure-storage-blobs-test storage)
+
create_map_file(azure-storage-blobs-test azure-storage-blobs-test.map)
# Include shared test headers
diff --git a/sdk/storage/azure-storage-common/CMakeLists.txt b/sdk/storage/azure-storage-common/CMakeLists.txt
index e20884ca2..73e0c4bc8 100644
--- a/sdk/storage/azure-storage-common/CMakeLists.txt
+++ b/sdk/storage/azure-storage-common/CMakeLists.txt
@@ -17,6 +17,7 @@ include(AzureTransportAdapters)
include(AzureDoxygen)
include(AzureGlobalCompileOptions)
include(AzureConfigRTTI)
+include(AzureBuildTargetForCI)
az_vcpkg_integrate()
@@ -66,6 +67,7 @@ set(
)
add_library(azure-storage-common ${AZURE_STORAGE_COMMON_HEADER} ${AZURE_STORAGE_COMMON_SOURCE})
+create_per_service_target_build(azure-storage-common storage)
# make sure that users can consume the project as a library.
add_library(Azure::azure-storage-common ALIAS azure-storage-common)
diff --git a/sdk/storage/azure-storage-common/test/ut/CMakeLists.txt b/sdk/storage/azure-storage-common/test/ut/CMakeLists.txt
index 040d4c334..3e91ec1c2 100644
--- a/sdk/storage/azure-storage-common/test/ut/CMakeLists.txt
+++ b/sdk/storage/azure-storage-common/test/ut/CMakeLists.txt
@@ -21,7 +21,7 @@ add_executable (
test_base.cpp
test_base.hpp
)
-
+create_per_service_target_build(azure-storage-common-test storage)
create_map_file(azure-storage-common-test azure-storage-common-test.map)
if (MSVC)
diff --git a/sdk/storage/azure-storage-files-datalake/CMakeLists.txt b/sdk/storage/azure-storage-files-datalake/CMakeLists.txt
index ac6e119fb..46f4d15e1 100644
--- a/sdk/storage/azure-storage-files-datalake/CMakeLists.txt
+++ b/sdk/storage/azure-storage-files-datalake/CMakeLists.txt
@@ -17,6 +17,7 @@ include(AzureTransportAdapters)
include(AzureDoxygen)
include(AzureGlobalCompileOptions)
include(AzureConfigRTTI)
+include(AzureBuildTargetForCI)
az_vcpkg_integrate()
@@ -64,6 +65,7 @@ add_library(azure-storage-files-datalake ${AZURE_STORAGE_FILES_DATALAKE_HEADER}
# make sure that users can consume the project as a library.
add_library(Azure::azure-storage-files-datalake ALIAS azure-storage-files-datalake)
+create_per_service_target_build(azure-storage-files-datalake storage)
target_include_directories(
azure-storage-files-datalake
@@ -96,6 +98,6 @@ if(BUILD_TESTING)
add_subdirectory(test/ut)
endif()
-if(BUILD_STORAGE_SAMPLES)
+if(BUILD_SAMPLES)
add_subdirectory(samples)
endif()
diff --git a/sdk/storage/azure-storage-files-datalake/samples/CMakeLists.txt b/sdk/storage/azure-storage-files-datalake/samples/CMakeLists.txt
index e8bae7643..9bec84521 100644
--- a/sdk/storage/azure-storage-files-datalake/samples/CMakeLists.txt
+++ b/sdk/storage/azure-storage-files-datalake/samples/CMakeLists.txt
@@ -4,4 +4,5 @@
cmake_minimum_required (VERSION 3.13)
add_executable(datalake-getting-started datalake_getting_started.cpp)
+create_per_service_target_build(datalake-getting-started storage)
target_link_libraries(datalake-getting-started PRIVATE azure-storage-files-datalake)
diff --git a/sdk/storage/azure-storage-files-datalake/test/ut/CMakeLists.txt b/sdk/storage/azure-storage-files-datalake/test/ut/CMakeLists.txt
index abbc471a9..b562870bd 100644
--- a/sdk/storage/azure-storage-files-datalake/test/ut/CMakeLists.txt
+++ b/sdk/storage/azure-storage-files-datalake/test/ut/CMakeLists.txt
@@ -30,7 +30,7 @@ add_executable (
${CMAKE_CURRENT_SOURCE_DIR}/../../../azure-storage-common/test/ut/test_base.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../../../azure-storage-common/test/ut/test_base.hpp
)
-
+create_per_service_target_build(azure-storage-files-datalake-test storage)
create_map_file(azure-storage-files-datalake-test azure-storage-files-datalake-test.map)
# Include shared test headers
diff --git a/sdk/storage/azure-storage-files-shares/CMakeLists.txt b/sdk/storage/azure-storage-files-shares/CMakeLists.txt
index a471be77b..7075ca1a2 100644
--- a/sdk/storage/azure-storage-files-shares/CMakeLists.txt
+++ b/sdk/storage/azure-storage-files-shares/CMakeLists.txt
@@ -17,6 +17,7 @@ include(AzureTransportAdapters)
include(AzureDoxygen)
include(AzureGlobalCompileOptions)
include(AzureConfigRTTI)
+include(AzureBuildTargetForCI)
az_vcpkg_integrate()
@@ -59,7 +60,7 @@ set(
)
add_library(azure-storage-files-shares ${AZURE_STORAGE_FILES_SHARES_HEADER} ${AZURE_STORAGE_FILES_SHARES_SOURCE})
-
+create_per_service_target_build(azure-storage-files-shares storage)
# make sure that users can consume the project as a library.
add_library(Azure::azure-storage-files-shares ALIAS azure-storage-files-shares)
@@ -94,6 +95,6 @@ if(BUILD_TESTING)
add_subdirectory(test/ut)
endif()
-if(BUILD_STORAGE_SAMPLES)
+if(BUILD_SAMPLES)
add_subdirectory(samples)
endif()
diff --git a/sdk/storage/azure-storage-files-shares/samples/CMakeLists.txt b/sdk/storage/azure-storage-files-shares/samples/CMakeLists.txt
index ad0d84c19..289622000 100644
--- a/sdk/storage/azure-storage-files-shares/samples/CMakeLists.txt
+++ b/sdk/storage/azure-storage-files-shares/samples/CMakeLists.txt
@@ -4,4 +4,5 @@
cmake_minimum_required (VERSION 3.13)
add_executable(file-share-getting-started file_share_getting_started.cpp)
+create_per_service_target_build(file-share-getting-started storage)
target_link_libraries(file-share-getting-started PRIVATE azure-storage-files-shares)
diff --git a/sdk/storage/azure-storage-files-shares/test/ut/CMakeLists.txt b/sdk/storage/azure-storage-files-shares/test/ut/CMakeLists.txt
index 6bc3a6978..47bc17b5f 100644
--- a/sdk/storage/azure-storage-files-shares/test/ut/CMakeLists.txt
+++ b/sdk/storage/azure-storage-files-shares/test/ut/CMakeLists.txt
@@ -29,7 +29,7 @@ add_executable (
${CMAKE_CURRENT_SOURCE_DIR}/../../../azure-storage-common/test/ut/test_base.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../../../azure-storage-common/test/ut/test_base.hpp
)
-
+create_per_service_target_build(azure-storage-files-shares-test storage)
create_map_file(azure-storage-files-shares-test azure-storage-files-shares-test.map)
# Include shared test headers
diff --git a/sdk/storage/azure-storage-queues/CMakeLists.txt b/sdk/storage/azure-storage-queues/CMakeLists.txt
index 63cc9a424..428dd83c0 100644
--- a/sdk/storage/azure-storage-queues/CMakeLists.txt
+++ b/sdk/storage/azure-storage-queues/CMakeLists.txt
@@ -17,6 +17,7 @@ include(AzureTransportAdapters)
include(AzureDoxygen)
include(AzureGlobalCompileOptions)
include(AzureConfigRTTI)
+include(AzureBuildTargetForCI)
az_vcpkg_integrate()
@@ -51,7 +52,7 @@ set(
)
add_library(azure-storage-queues ${AZURE_STORAGE_QUEUE_HEADER} ${AZURE_STORAGE_QUEUE_SOURCE})
-
+create_per_service_target_build(azure-storage-queues storage)
# make sure that users can consume the project as a library.
add_library(Azure::azure-storage-queues ALIAS azure-storage-queues)
@@ -86,6 +87,6 @@ if(BUILD_TESTING)
add_subdirectory(test/ut)
endif()
-if(BUILD_STORAGE_SAMPLES)
+if(BUILD_SAMPLES)
add_subdirectory(samples)
endif()
diff --git a/sdk/storage/azure-storage-queues/samples/CMakeLists.txt b/sdk/storage/azure-storage-queues/samples/CMakeLists.txt
index f7a3c3516..4e4b30c70 100644
--- a/sdk/storage/azure-storage-queues/samples/CMakeLists.txt
+++ b/sdk/storage/azure-storage-queues/samples/CMakeLists.txt
@@ -5,6 +5,8 @@ cmake_minimum_required (VERSION 3.13)
add_executable(queue-getting-started queue_getting_started.cpp)
target_link_libraries(queue-getting-started PRIVATE azure-storage-queues)
+create_per_service_target_build(queue-getting-started storage)
add_executable(queue-encode-message queue_encode_message.cpp)
target_link_libraries(queue-encode-message PRIVATE azure-storage-queues)
+create_per_service_target_build(queue-encode-message storage)
diff --git a/sdk/storage/azure-storage-queues/test/ut/CMakeLists.txt b/sdk/storage/azure-storage-queues/test/ut/CMakeLists.txt
index aed232a98..db6a12c78 100644
--- a/sdk/storage/azure-storage-queues/test/ut/CMakeLists.txt
+++ b/sdk/storage/azure-storage-queues/test/ut/CMakeLists.txt
@@ -24,7 +24,7 @@ add_executable (
${CMAKE_CURRENT_SOURCE_DIR}/../../../azure-storage-common/test/ut/test_base.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../../../azure-storage-common/test/ut/test_base.hpp
)
-
+create_per_service_target_build(azure-storage-queues-test storage)
create_map_file(azure-storage-queues-test azure-storage-queues-test.map)
# Include shared test headers
diff --git a/sdk/template/azure-template/CMakeLists.txt b/sdk/template/azure-template/CMakeLists.txt
index 2af9c7c22..9edb92f44 100644
--- a/sdk/template/azure-template/CMakeLists.txt
+++ b/sdk/template/azure-template/CMakeLists.txt
@@ -17,6 +17,7 @@ include(AzureTransportAdapters)
include(AzureDoxygen)
include(AzureGlobalCompileOptions)
include(AzureConfigRTTI)
+include(AzureBuildTargetForCI)
az_vcpkg_integrate()
@@ -41,6 +42,7 @@ set(
)
add_library(azure-template ${AZURE_TEMPLATE_HEADER} ${AZURE_TEMPLATE_SOURCE})
+create_per_service_target_build(azure-template template)
target_include_directories(
azure-template
diff --git a/sdk/template/azure-template/test/CMakeLists.txt b/sdk/template/azure-template/test/CMakeLists.txt
index 7882526b8..a8e293108 100644
--- a/sdk/template/azure-template/test/CMakeLists.txt
+++ b/sdk/template/azure-template/test/CMakeLists.txt
@@ -16,7 +16,7 @@ add_executable (
ut/macro_guard.cpp
ut/template_test.cpp
)
-
+create_per_service_target_build(azure-template-test template)
create_map_file(azure-template-test azure-template-test.map)
target_link_libraries(azure-template-test PRIVATE Azure::azure-template gtest_main)