Make crypto_plugins a conditional ALL target instead of an explicit
dependency to improve build parallelism.
Background:
-
dbbf052f: Added crypto plugins with ceph_crypto_isal as os dependency
-
53726b8e: Changed os to depend on crypto_plugins (not specific plugin)
- Issue:
* crypto_plugins are not dependencys of "os" at all
* crypto_plugins are runtime-only dependencies for rgw_common
In this change:
- Remove crypto_plugins from explicit target dependencies
- Add crypto_plugins to ALL target when WITH_RADOSGW=ON
- Plugins now build in parallel with other targets
- Maintains runtime plugin loading without compile-time coupling
This improves build concurrency by allowing crypto_plugins to build
in parallel with os/rgw_common instead of sequentially, and prevents
building crypto plugins when RadosGW is disabled.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
add_subdirectory(test)
endif()
-add_subdirectory(crypto)
-
if(WITH_TESTS)
install(PROGRAMS
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ceph-debugpack
endif(WITH_SYSTEM_ARROW)
endif(WITH_RADOSGW_SELECT_PARQUET OR WITH_RADOSGW_ARROW_FLIGHT)
+ add_subdirectory(crypto)
add_subdirectory(libkmip)
add_subdirectory(rgw)
endif(WITH_RADOSGW)
-add_custom_target(crypto_plugins)
+# crypto plugins are loaded at runtime by rgw_crypt.cc
+add_custom_target(crypto_plugins ALL)
set(crypto_plugin_dir ${CEPH_INSTALL_PKGLIBDIR}/crypto)
add_subdirectory(openssl)
PRIVATE jaeger_base)
endif()
-add_dependencies(os crypto_plugins)
-
if(WITH_BLUESTORE)
add_executable(ceph-bluestore-tool
bluestore/bluestore_tool.cc)