* prepPR * gitignore updates * cspell.json * spell * cspell typo * deisable option * need to look out for this * reenable tests * set unset location properly * building in docker * format file * final changes * PR comments * update git ignore * test cmake build * test 2 * ren steps * test new step * try again * again * oops * try again * put back * test2 * test5_46 * progress * more again * test6_35 * test 6_55 * test_again * move up * test * output params * try try again * one more test * put back curl * os * run only on one * try again * typo * switch variable * set things back * set things back * prep for next step * test source deps new * try again * try try again * typo * test rewire * params * typo * fix * get rid of vcpkg * linux * mac * try brew * try exports * try again * typo * set env * include dir * root * try again * typo * dfsfsda * try agan * try again * oops * sdfsd * typo * dsdsad * hghhg * update env * ghhgj * sAdsad * try again * fdfd * rewrew * dsadas * sdasda * ggggg * envs2 * envs3 * typo * order * try again * make sure we don't blow up other pipelines * typo * typo * fsdfs * check null * put back
126 lines
3.8 KiB
CMake
126 lines
3.8 KiB
CMake
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
# setting CMAKE_TOOLCHAIN_FILE must happen before creating the project
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake-modules")
|
|
include(AzureVcpkg)
|
|
az_vcpkg_integrate()
|
|
|
|
cmake_minimum_required (VERSION 3.13)
|
|
project(azure-security-keyvault-certificates LANGUAGES CXX)
|
|
|
|
|
|
# Compile Options
|
|
option(BUILD_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(BUILD_SOURCE_DEPS)
|
|
set(AZ_ALL_LIBRARIES ON)
|
|
include(FolderList)
|
|
SetCompileOptions(CERTIFICATES)
|
|
endif()
|
|
|
|
include(AzureVersion)
|
|
include(AzureCodeCoverage)
|
|
include(AzureTransportAdapters)
|
|
include(AzureDoxygen)
|
|
include(AzureGlobalCompileOptions)
|
|
include(AzureConfigRTTI)
|
|
# Add create_map_file function
|
|
include(CreateMapFile)
|
|
|
|
if(BUILD_SOURCE_DEPS)
|
|
GetFolderList(CERTIFICATES)
|
|
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)
|
|
endif()
|
|
endif()
|
|
|
|
set(
|
|
AZURE_KEYVAULT_CERTIFICATES_HEADER
|
|
inc/azure/keyvault/certificates/certificate_client.hpp
|
|
inc/azure/keyvault/certificates/certificate_client_models.hpp
|
|
inc/azure/keyvault/certificates/certificate_client_options.hpp
|
|
inc/azure/keyvault/certificates/certificate_client_operations.hpp
|
|
)
|
|
|
|
set(
|
|
AZURE_KEYVAULT_CERTIFICATES_SOURCE
|
|
src/certificate_client.cpp
|
|
src/certificate_serializers.cpp
|
|
src/keyvault_certificates_common_request.cpp
|
|
src/certificate_client_operations.cpp
|
|
src/certificate_client_paged_response.cpp
|
|
)
|
|
|
|
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)
|
|
|
|
target_include_directories(
|
|
azure-security-keyvault-certificates
|
|
PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/../../../sdk/core/inc>
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/sdk/core/azure-core/inc>
|
|
$<INSTALL_INTERFACE:include>
|
|
)
|
|
message($<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc)
|
|
# Include shared source code
|
|
# NOTE: Use shared-code only within .cpp files. DO NEVER consume the shared-code from header files.
|
|
target_include_directories(
|
|
azure-security-keyvault-certificates
|
|
PRIVATE
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../azure-security-keyvault-shared/inc>
|
|
)
|
|
|
|
target_link_libraries(azure-security-keyvault-certificates PUBLIC Azure::azure-core)
|
|
|
|
# coverage. Has no effect if BUILD_CODE_COVERAGE is OFF
|
|
create_code_coverage(keyvault azure-security-keyvault-certificates azure-security-keyvault-certificates-test "tests?/*;samples?/*")
|
|
|
|
get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp")
|
|
generate_documentation(azure-security-keyvault-certificates ${AZ_LIBRARY_VERSION})
|
|
|
|
if(BUILD_TESTING)
|
|
if (NOT AZ_ALL_LIBRARIES OR BUILD_SOURCE_DEPS)
|
|
include(AddGoogleTest)
|
|
enable_testing ()
|
|
endif()
|
|
|
|
add_subdirectory(test/ut)
|
|
endif()
|
|
|
|
|
|
# if (BUILD_PERFORMANCE_TESTS)
|
|
# add_subdirectory(test/perf)
|
|
# endif()
|
|
|
|
if(BUILD_SAMPLES)
|
|
add_subdirectory(test/samples)
|
|
endif()
|
|
|
|
az_vcpkg_export(
|
|
azure-security-keyvault-certificates
|
|
SECURITY_KEYVAULT_CERTIFICATES
|
|
"azure/keyvault/certificates/dll_import_export.hpp"
|
|
)
|
|
|
|
az_rtti_setup(
|
|
azure-security-keyvault-certificates
|
|
SECURITY_KEYVAULT_CERTIFICATES
|
|
"azure/keyvault/certificates/rtti.hpp"
|
|
)
|
|
|
|
unset(BUILD_SOURCE_DEPS CACHE)
|