From 3364c6766229360a87d5365fa5fbe29c38a49b74 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 4 Aug 2022 13:09:11 +0800 Subject: [PATCH] cmake: disable LTO when building pmdk See-also: https://tracker.ceph.com/issues/54473 Signed-off-by: Kefu Chai (cherry picked from commit 2a97033ba86ac678a2ce5f99c60090c79f5fd257) Conflicts: cmake/modules/Buildpmem.cmake: trivial resolution --- cmake/modules/Buildpmem.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmake/modules/Buildpmem.cmake b/cmake/modules/Buildpmem.cmake index e264fabd5d2a6..61c5ba6019f03 100644 --- a/cmake/modules/Buildpmem.cmake +++ b/cmake/modules/Buildpmem.cmake @@ -21,6 +21,7 @@ function(build_pmem) set(PMDK_LIB_DIR "nondebug") endif() + set(pmdk_cflags "-Wno-error -fno-lto") include(ExternalProject) ExternalProject_Add(pmdk_ext ${source_dir_args} @@ -29,7 +30,7 @@ function(build_pmem) # build system tests statically linking to librbd (which uses # libpmemobj) will not link (because we don't build the ndctl # static library here). - BUILD_COMMAND ${make_cmd} CC=${CMAKE_C_COMPILER} EXTRA_CFLAGS=-Wno-error NDCTL_ENABLE=n BUILD_EXAMPLES=n BUILD_BENCHMARKS=n DOC=n + BUILD_COMMAND ${make_cmd} CC=${CMAKE_C_COMPILER} "EXTRA_CFLAGS=${pmdk_cflags}" NDCTL_ENABLE=n BUILD_EXAMPLES=n BUILD_BENCHMARKS=n DOC=n BUILD_IN_SOURCE 1 BUILD_BYPRODUCTS "/src/${PMDK_LIB_DIR}/libpmem.a" "/src/${PMDK_LIB_DIR}/libpmemobj.a" INSTALL_COMMAND "") -- 2.39.5