Skip to content

Commit 39fdf04

Browse files
authored
feat: install/export mock libraries (#13538)
1 parent 4f2adc5 commit 39fdf04

File tree

6 files changed

+185
-4
lines changed

6 files changed

+185
-4
lines changed

ci/cloudbuild/builds/cmake-install.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,6 @@ expected_dirs+=(
151151
./lib64/cmake/google_cloud_cpp_mocks
152152
./lib64/cmake/google_cloud_cpp_oauth2
153153
./lib64/cmake/google_cloud_cpp_opentelemetry
154-
./lib64/cmake/google_cloud_cpp_pubsub_mocks
155154
./lib64/cmake/google_cloud_cpp_rest_internal
156155
./lib64/cmake/google_cloud_cpp_rest_protobuf_internal
157156
./lib64/cmake/google_cloud_cpp_storage_grpc_mocks

ci/etc/expected_install_directories

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,130 +1190,252 @@
11901190
./lib64
11911191
./lib64/cmake
11921192
./lib64/cmake/google_cloud_cpp_accessapproval
1193+
./lib64/cmake/google_cloud_cpp_accessapproval_mocks
11931194
./lib64/cmake/google_cloud_cpp_accesscontextmanager
1195+
./lib64/cmake/google_cloud_cpp_accesscontextmanager_mocks
11941196
./lib64/cmake/google_cloud_cpp_advisorynotifications
1197+
./lib64/cmake/google_cloud_cpp_advisorynotifications_mocks
11951198
./lib64/cmake/google_cloud_cpp_aiplatform
1199+
./lib64/cmake/google_cloud_cpp_aiplatform_mocks
11961200
./lib64/cmake/google_cloud_cpp_alloydb
1201+
./lib64/cmake/google_cloud_cpp_alloydb_mocks
11971202
./lib64/cmake/google_cloud_cpp_apigateway
1203+
./lib64/cmake/google_cloud_cpp_apigateway_mocks
11981204
./lib64/cmake/google_cloud_cpp_apigeeconnect
1205+
./lib64/cmake/google_cloud_cpp_apigeeconnect_mocks
11991206
./lib64/cmake/google_cloud_cpp_apikeys
1207+
./lib64/cmake/google_cloud_cpp_apikeys_mocks
12001208
./lib64/cmake/google_cloud_cpp_appengine
1209+
./lib64/cmake/google_cloud_cpp_appengine_mocks
12011210
./lib64/cmake/google_cloud_cpp_artifactregistry
1211+
./lib64/cmake/google_cloud_cpp_artifactregistry_mocks
12021212
./lib64/cmake/google_cloud_cpp_asset
1213+
./lib64/cmake/google_cloud_cpp_asset_mocks
12031214
./lib64/cmake/google_cloud_cpp_assuredworkloads
1215+
./lib64/cmake/google_cloud_cpp_assuredworkloads_mocks
12041216
./lib64/cmake/google_cloud_cpp_automl
1217+
./lib64/cmake/google_cloud_cpp_automl_mocks
12051218
./lib64/cmake/google_cloud_cpp_baremetalsolution
1219+
./lib64/cmake/google_cloud_cpp_baremetalsolution_mocks
12061220
./lib64/cmake/google_cloud_cpp_batch
1221+
./lib64/cmake/google_cloud_cpp_batch_mocks
12071222
./lib64/cmake/google_cloud_cpp_beyondcorp
1223+
./lib64/cmake/google_cloud_cpp_beyondcorp_mocks
12081224
./lib64/cmake/google_cloud_cpp_bigquery
1225+
./lib64/cmake/google_cloud_cpp_bigquery_mocks
12091226
./lib64/cmake/google_cloud_cpp_bigtable
12101227
./lib64/cmake/google_cloud_cpp_billing
1228+
./lib64/cmake/google_cloud_cpp_billing_mocks
12111229
./lib64/cmake/google_cloud_cpp_binaryauthorization
1230+
./lib64/cmake/google_cloud_cpp_binaryauthorization_mocks
12121231
./lib64/cmake/google_cloud_cpp_certificatemanager
1232+
./lib64/cmake/google_cloud_cpp_certificatemanager_mocks
12131233
./lib64/cmake/google_cloud_cpp_channel
1234+
./lib64/cmake/google_cloud_cpp_channel_mocks
12141235
./lib64/cmake/google_cloud_cpp_cloudbuild
1236+
./lib64/cmake/google_cloud_cpp_cloudbuild_mocks
12151237
./lib64/cmake/google_cloud_cpp_cloudquotas
1238+
./lib64/cmake/google_cloud_cpp_cloudquotas_mocks
12161239
./lib64/cmake/google_cloud_cpp_commerce
1240+
./lib64/cmake/google_cloud_cpp_commerce_mocks
12171241
./lib64/cmake/google_cloud_cpp_composer
1242+
./lib64/cmake/google_cloud_cpp_composer_mocks
12181243
./lib64/cmake/google_cloud_cpp_compute
12191244
./lib64/cmake/google_cloud_cpp_confidentialcomputing
1245+
./lib64/cmake/google_cloud_cpp_confidentialcomputing_mocks
12201246
./lib64/cmake/google_cloud_cpp_config
1247+
./lib64/cmake/google_cloud_cpp_config_mocks
12211248
./lib64/cmake/google_cloud_cpp_connectors
1249+
./lib64/cmake/google_cloud_cpp_connectors_mocks
12221250
./lib64/cmake/google_cloud_cpp_contactcenterinsights
1251+
./lib64/cmake/google_cloud_cpp_contactcenterinsights_mocks
12231252
./lib64/cmake/google_cloud_cpp_container
1253+
./lib64/cmake/google_cloud_cpp_container_mocks
12241254
./lib64/cmake/google_cloud_cpp_containeranalysis
1255+
./lib64/cmake/google_cloud_cpp_containeranalysis_mocks
12251256
./lib64/cmake/google_cloud_cpp_contentwarehouse
1257+
./lib64/cmake/google_cloud_cpp_contentwarehouse_mocks
12261258
./lib64/cmake/google_cloud_cpp_datacatalog
1259+
./lib64/cmake/google_cloud_cpp_datacatalog_mocks
12271260
./lib64/cmake/google_cloud_cpp_datafusion
1261+
./lib64/cmake/google_cloud_cpp_datafusion_mocks
12281262
./lib64/cmake/google_cloud_cpp_datamigration
1263+
./lib64/cmake/google_cloud_cpp_datamigration_mocks
12291264
./lib64/cmake/google_cloud_cpp_dataplex
1265+
./lib64/cmake/google_cloud_cpp_dataplex_mocks
12301266
./lib64/cmake/google_cloud_cpp_dataproc
1267+
./lib64/cmake/google_cloud_cpp_dataproc_mocks
12311268
./lib64/cmake/google_cloud_cpp_datastore
1269+
./lib64/cmake/google_cloud_cpp_datastore_mocks
12321270
./lib64/cmake/google_cloud_cpp_datastream
1271+
./lib64/cmake/google_cloud_cpp_datastream_mocks
12331272
./lib64/cmake/google_cloud_cpp_deploy
1273+
./lib64/cmake/google_cloud_cpp_deploy_mocks
12341274
./lib64/cmake/google_cloud_cpp_dialogflow_cx
1275+
./lib64/cmake/google_cloud_cpp_dialogflow_cx_mocks
12351276
./lib64/cmake/google_cloud_cpp_dialogflow_es
1277+
./lib64/cmake/google_cloud_cpp_dialogflow_es_mocks
12361278
./lib64/cmake/google_cloud_cpp_discoveryengine
1279+
./lib64/cmake/google_cloud_cpp_discoveryengine_mocks
12371280
./lib64/cmake/google_cloud_cpp_dlp
1281+
./lib64/cmake/google_cloud_cpp_dlp_mocks
12381282
./lib64/cmake/google_cloud_cpp_documentai
1283+
./lib64/cmake/google_cloud_cpp_documentai_mocks
12391284
./lib64/cmake/google_cloud_cpp_domains
1285+
./lib64/cmake/google_cloud_cpp_domains_mocks
12401286
./lib64/cmake/google_cloud_cpp_edgecontainer
1287+
./lib64/cmake/google_cloud_cpp_edgecontainer_mocks
12411288
./lib64/cmake/google_cloud_cpp_edgenetwork
1289+
./lib64/cmake/google_cloud_cpp_edgenetwork_mocks
12421290
./lib64/cmake/google_cloud_cpp_essentialcontacts
1291+
./lib64/cmake/google_cloud_cpp_essentialcontacts_mocks
12431292
./lib64/cmake/google_cloud_cpp_eventarc
1293+
./lib64/cmake/google_cloud_cpp_eventarc_mocks
12441294
./lib64/cmake/google_cloud_cpp_filestore
1295+
./lib64/cmake/google_cloud_cpp_filestore_mocks
12451296
./lib64/cmake/google_cloud_cpp_functions
1297+
./lib64/cmake/google_cloud_cpp_functions_mocks
12461298
./lib64/cmake/google_cloud_cpp_gkebackup
1299+
./lib64/cmake/google_cloud_cpp_gkebackup_mocks
12471300
./lib64/cmake/google_cloud_cpp_gkehub
1301+
./lib64/cmake/google_cloud_cpp_gkehub_mocks
12481302
./lib64/cmake/google_cloud_cpp_gkemulticloud
1303+
./lib64/cmake/google_cloud_cpp_gkemulticloud_mocks
12491304
./lib64/cmake/google_cloud_cpp_iam
1305+
./lib64/cmake/google_cloud_cpp_iam_mocks
12501306
./lib64/cmake/google_cloud_cpp_iap
1307+
./lib64/cmake/google_cloud_cpp_iap_mocks
12511308
./lib64/cmake/google_cloud_cpp_ids
1309+
./lib64/cmake/google_cloud_cpp_ids_mocks
12521310
./lib64/cmake/google_cloud_cpp_kms
1311+
./lib64/cmake/google_cloud_cpp_kms_mocks
12531312
./lib64/cmake/google_cloud_cpp_language
1313+
./lib64/cmake/google_cloud_cpp_language_mocks
12541314
./lib64/cmake/google_cloud_cpp_logging
1315+
./lib64/cmake/google_cloud_cpp_logging_mocks
12551316
./lib64/cmake/google_cloud_cpp_managedidentities
1317+
./lib64/cmake/google_cloud_cpp_managedidentities_mocks
12561318
./lib64/cmake/google_cloud_cpp_memcache
1319+
./lib64/cmake/google_cloud_cpp_memcache_mocks
12571320
./lib64/cmake/google_cloud_cpp_metastore
1321+
./lib64/cmake/google_cloud_cpp_metastore_mocks
12581322
./lib64/cmake/google_cloud_cpp_migrationcenter
1323+
./lib64/cmake/google_cloud_cpp_migrationcenter_mocks
12591324
./lib64/cmake/google_cloud_cpp_monitoring
1325+
./lib64/cmake/google_cloud_cpp_monitoring_mocks
12601326
./lib64/cmake/google_cloud_cpp_netapp
1327+
./lib64/cmake/google_cloud_cpp_netapp_mocks
12611328
./lib64/cmake/google_cloud_cpp_networkconnectivity
1329+
./lib64/cmake/google_cloud_cpp_networkconnectivity_mocks
12621330
./lib64/cmake/google_cloud_cpp_networkmanagement
1331+
./lib64/cmake/google_cloud_cpp_networkmanagement_mocks
12631332
./lib64/cmake/google_cloud_cpp_networksecurity
1333+
./lib64/cmake/google_cloud_cpp_networksecurity_mocks
12641334
./lib64/cmake/google_cloud_cpp_networkservices
1335+
./lib64/cmake/google_cloud_cpp_networkservices_mocks
12651336
./lib64/cmake/google_cloud_cpp_notebooks
1337+
./lib64/cmake/google_cloud_cpp_notebooks_mocks
12661338
./lib64/cmake/google_cloud_cpp_optimization
1339+
./lib64/cmake/google_cloud_cpp_optimization_mocks
12671340
./lib64/cmake/google_cloud_cpp_orgpolicy
1341+
./lib64/cmake/google_cloud_cpp_orgpolicy_mocks
12681342
./lib64/cmake/google_cloud_cpp_osconfig
1343+
./lib64/cmake/google_cloud_cpp_osconfig_mocks
12691344
./lib64/cmake/google_cloud_cpp_oslogin
1345+
./lib64/cmake/google_cloud_cpp_oslogin_mocks
12701346
./lib64/cmake/google_cloud_cpp_policysimulator
1347+
./lib64/cmake/google_cloud_cpp_policysimulator_mocks
12711348
./lib64/cmake/google_cloud_cpp_policytroubleshooter
1349+
./lib64/cmake/google_cloud_cpp_policytroubleshooter_mocks
12721350
./lib64/cmake/google_cloud_cpp_privateca
1351+
./lib64/cmake/google_cloud_cpp_privateca_mocks
12731352
./lib64/cmake/google_cloud_cpp_profiler
1353+
./lib64/cmake/google_cloud_cpp_profiler_mocks
12741354
./lib64/cmake/google_cloud_cpp_pubsub
1355+
./lib64/cmake/google_cloud_cpp_pubsub_mocks
12751356
./lib64/cmake/google_cloud_cpp_pubsublite
12761357
./lib64/cmake/google_cloud_cpp_rapidmigrationassessment
1358+
./lib64/cmake/google_cloud_cpp_rapidmigrationassessment_mocks
12771359
./lib64/cmake/google_cloud_cpp_recaptchaenterprise
1360+
./lib64/cmake/google_cloud_cpp_recaptchaenterprise_mocks
12781361
./lib64/cmake/google_cloud_cpp_recommender
1362+
./lib64/cmake/google_cloud_cpp_recommender_mocks
12791363
./lib64/cmake/google_cloud_cpp_redis
1364+
./lib64/cmake/google_cloud_cpp_redis_mocks
12801365
./lib64/cmake/google_cloud_cpp_resourcemanager
1366+
./lib64/cmake/google_cloud_cpp_resourcemanager_mocks
12811367
./lib64/cmake/google_cloud_cpp_resourcesettings
1368+
./lib64/cmake/google_cloud_cpp_resourcesettings_mocks
12821369
./lib64/cmake/google_cloud_cpp_retail
1370+
./lib64/cmake/google_cloud_cpp_retail_mocks
12831371
./lib64/cmake/google_cloud_cpp_run
1372+
./lib64/cmake/google_cloud_cpp_run_mocks
12841373
./lib64/cmake/google_cloud_cpp_scheduler
1374+
./lib64/cmake/google_cloud_cpp_scheduler_mocks
12851375
./lib64/cmake/google_cloud_cpp_secretmanager
1376+
./lib64/cmake/google_cloud_cpp_secretmanager_mocks
12861377
./lib64/cmake/google_cloud_cpp_securesourcemanager
1378+
./lib64/cmake/google_cloud_cpp_securesourcemanager_mocks
12871379
./lib64/cmake/google_cloud_cpp_securitycenter
1380+
./lib64/cmake/google_cloud_cpp_securitycenter_mocks
12881381
./lib64/cmake/google_cloud_cpp_servicecontrol
1382+
./lib64/cmake/google_cloud_cpp_servicecontrol_mocks
12891383
./lib64/cmake/google_cloud_cpp_servicedirectory
1384+
./lib64/cmake/google_cloud_cpp_servicedirectory_mocks
12901385
./lib64/cmake/google_cloud_cpp_servicehealth
1386+
./lib64/cmake/google_cloud_cpp_servicehealth_mocks
12911387
./lib64/cmake/google_cloud_cpp_servicemanagement
1388+
./lib64/cmake/google_cloud_cpp_servicemanagement_mocks
12921389
./lib64/cmake/google_cloud_cpp_serviceusage
1390+
./lib64/cmake/google_cloud_cpp_serviceusage_mocks
12931391
./lib64/cmake/google_cloud_cpp_shell
1392+
./lib64/cmake/google_cloud_cpp_shell_mocks
12941393
./lib64/cmake/google_cloud_cpp_spanner
12951394
./lib64/cmake/google_cloud_cpp_speech
1395+
./lib64/cmake/google_cloud_cpp_speech_mocks
12961396
./lib64/cmake/google_cloud_cpp_sql
12971397
./lib64/cmake/google_cloud_cpp_storage
12981398
./lib64/cmake/google_cloud_cpp_storagecontrol
1399+
./lib64/cmake/google_cloud_cpp_storagecontrol_mocks
12991400
./lib64/cmake/google_cloud_cpp_storageinsights
1401+
./lib64/cmake/google_cloud_cpp_storageinsights_mocks
13001402
./lib64/cmake/google_cloud_cpp_storagetransfer
1403+
./lib64/cmake/google_cloud_cpp_storagetransfer_mocks
13011404
./lib64/cmake/google_cloud_cpp_support
1405+
./lib64/cmake/google_cloud_cpp_support_mocks
13021406
./lib64/cmake/google_cloud_cpp_talent
1407+
./lib64/cmake/google_cloud_cpp_talent_mocks
13031408
./lib64/cmake/google_cloud_cpp_tasks
1409+
./lib64/cmake/google_cloud_cpp_tasks_mocks
13041410
./lib64/cmake/google_cloud_cpp_telcoautomation
1411+
./lib64/cmake/google_cloud_cpp_telcoautomation_mocks
13051412
./lib64/cmake/google_cloud_cpp_texttospeech
1413+
./lib64/cmake/google_cloud_cpp_texttospeech_mocks
13061414
./lib64/cmake/google_cloud_cpp_timeseriesinsights
1415+
./lib64/cmake/google_cloud_cpp_timeseriesinsights_mocks
13071416
./lib64/cmake/google_cloud_cpp_tpu
1417+
./lib64/cmake/google_cloud_cpp_tpu_mocks
13081418
./lib64/cmake/google_cloud_cpp_trace
1419+
./lib64/cmake/google_cloud_cpp_trace_mocks
13091420
./lib64/cmake/google_cloud_cpp_translate
1421+
./lib64/cmake/google_cloud_cpp_translate_mocks
13101422
./lib64/cmake/google_cloud_cpp_video
1423+
./lib64/cmake/google_cloud_cpp_video_mocks
13111424
./lib64/cmake/google_cloud_cpp_videointelligence
1425+
./lib64/cmake/google_cloud_cpp_videointelligence_mocks
13121426
./lib64/cmake/google_cloud_cpp_vision
1427+
./lib64/cmake/google_cloud_cpp_vision_mocks
13131428
./lib64/cmake/google_cloud_cpp_vmmigration
1429+
./lib64/cmake/google_cloud_cpp_vmmigration_mocks
13141430
./lib64/cmake/google_cloud_cpp_vmwareengine
1431+
./lib64/cmake/google_cloud_cpp_vmwareengine_mocks
13151432
./lib64/cmake/google_cloud_cpp_vpcaccess
1433+
./lib64/cmake/google_cloud_cpp_vpcaccess_mocks
13161434
./lib64/cmake/google_cloud_cpp_webrisk
1435+
./lib64/cmake/google_cloud_cpp_webrisk_mocks
13171436
./lib64/cmake/google_cloud_cpp_websecurityscanner
1437+
./lib64/cmake/google_cloud_cpp_websecurityscanner_mocks
13181438
./lib64/cmake/google_cloud_cpp_workflows
1439+
./lib64/cmake/google_cloud_cpp_workflows_mocks
13191440
./lib64/cmake/google_cloud_cpp_workstations
1441+
./lib64/cmake/google_cloud_cpp_workstations_mocks

ci/verify_current_targets/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ set(ga_libraries
2727
bigquery
2828
bigtable
2929
iam
30+
iam_mocks
3031
logging
3132
opentelemetry
3233
pubsub

cmake/GoogleCloudCppLibrary.cmake

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,10 @@ function (google_cloud_cpp_add_gapic_library library display_name)
264264
list(SORT relative_mock_files)
265265
set(mock_files)
266266
foreach (file IN LISTS relative_mock_files)
267-
list(APPEND mock_files "${CMAKE_CURRENT_SOURCE_DIR}/${file}")
267+
# We use a generator expression per the recommendation in:
268+
# https://stackoverflow.com/a/62465051
269+
list(APPEND mock_files
270+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/${file}>")
268271
endforeach ()
269272
add_library(${mocks_target} INTERFACE)
270273
target_sources(${mocks_target} INTERFACE ${mock_files})
@@ -306,8 +309,6 @@ function (google_cloud_cpp_add_gapic_library library display_name)
306309

307310
google_cloud_cpp_install_headers("${library_target}"
308311
"include/google/cloud/${library}")
309-
google_cloud_cpp_install_headers("${mocks_target}"
310-
"include/google/cloud/${library}")
311312

312313
google_cloud_cpp_add_pkgconfig(
313314
${library}
@@ -348,6 +349,37 @@ function (google_cloud_cpp_add_gapic_library library display_name)
348349
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${library_target}"
349350
COMPONENT google_cloud_cpp_development)
350351

352+
# Install mocks
353+
install(
354+
EXPORT ${mocks_target}-targets
355+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${mocks_target}"
356+
COMPONENT google_cloud_cpp_development)
357+
install(
358+
TARGETS ${mocks_target}
359+
EXPORT ${mocks_target}-targets
360+
COMPONENT google_cloud_cpp_development)
361+
362+
google_cloud_cpp_install_headers("${mocks_target}"
363+
"include/google/cloud/${library}")
364+
365+
google_cloud_cpp_add_pkgconfig(
366+
${library}_mocks "${display_name} Mocks"
367+
"Mocks for the ${display_name} C++ Client Library" "${library_target}"
368+
"gmock_main")
369+
370+
configure_file("${PROJECT_SOURCE_DIR}/cmake/templates/mocks-config.cmake.in"
371+
"${mocks_target}-config.cmake" @ONLY)
372+
write_basic_package_version_file(
373+
"${mocks_target}-config-version.cmake"
374+
VERSION ${PROJECT_VERSION}
375+
COMPATIBILITY ExactVersion)
376+
377+
install(
378+
FILES "${CMAKE_CURRENT_BINARY_DIR}/${mocks_target}-config.cmake"
379+
"${CMAKE_CURRENT_BINARY_DIR}/${mocks_target}-config-version.cmake"
380+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${mocks_target}"
381+
COMPONENT google_cloud_cpp_development)
382+
351383
# ${library_alias} must be defined before we can add the samples.
352384
if (BUILD_TESTING AND GOOGLE_CLOUD_CPP_ENABLE_CXX_EXCEPTIONS)
353385
foreach (dir IN LISTS _opt_SERVICE_DIRS)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Copyright 2024 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
include(CMakeFindDependencyMacro)
16+
find_dependency(@GOOGLE_CLOUD_CPP_CONFIG_LIBRARY@)
17+
find_dependency(GTest)
18+
19+
include("${CMAKE_CURRENT_LIST_DIR}/@GOOGLE_CLOUD_CPP_CONFIG_LIBRARY@_mocks-targets.cmake")

generator/standalone_main.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "generator/internal/scaffold_generator.h"
2121
#include "google/cloud/internal/absl_str_cat_quiet.h"
2222
#include "google/cloud/internal/absl_str_join_quiet.h"
23+
#include "google/cloud/internal/algorithm.h"
2324
#include "google/cloud/log.h"
2425
#include "google/cloud/status_or.h"
2526
#include "absl/flags/flag.h"
@@ -166,6 +167,13 @@ int WriteInstallDirectories(
166167
}
167168
auto const lib = LibraryName(product_path);
168169
install_directories.push_back("./lib64/cmake/google_cloud_cpp_" + lib);
170+
// TODO(#5782) - install mocks in libs with handwritten CMakeLists.txt
171+
auto const handwritten_cmake = std::set<std::string>{
172+
{"bigtable", "compute", "pubsublite", "spanner", "sql", "storage"}};
173+
if (!google::cloud::internal::Contains(handwritten_cmake, lib)) {
174+
install_directories.push_back("./lib64/cmake/google_cloud_cpp_" + lib +
175+
"_mocks");
176+
}
169177
}
170178
std::sort(install_directories.begin(), install_directories.end());
171179
auto end =

0 commit comments

Comments
 (0)