summaryrefslogtreecommitdiffstats
path: root/cmake (follow)
Commit message (Collapse)AuthorAgeFilesLines
* build/uadk: fix uadk repo's commit idRongqi Sun2024-11-271-2/+1
| | | | Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
* Merge pull request #59513 from cbodley/wip-isal-extCasey Bodley2024-10-032-0/+73
|\ | | | | | | | | | | | | cmake: use ExternalProjects to build isa-l and isa-l_crypto libraries Reviewed-by: Jamie Pryde <jamiepry@uk.ibm.com> Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com> Reviewed-by: Mark Kogan <mkogan@ibm.com>
| * cmake/ec: use ExternalProject to build isal libraryCasey Bodley2024-09-051-0/+42
| | | | | | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
| * cmake/crypto: use ExternalProject to build isal crypto libraryCasey Bodley2024-09-051-0/+31
| | | | | | | | | | | | | | | | | | instead of building isa-l_crypto source files directly into the ceph_crypto_isal plugin, use a cmake ExternalProject to build the library with make and expose the static library as cmake target ISAL::Crypto Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | librbd/migration: add nbd streamEffi Ofer2024-09-061-0/+33
|/ | | | | | Co-authored-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Effi Ofer <effio@il.ibm.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
* uadk: add uadk supportRongqi Sun2024-08-121-0/+53
| | | | | | | | | | | | | | | | | | | This patch add UADK Acceleration for zlib compressor [UADK: Userspace Acceleration Development Kit](https://github.com/Linaro/uadk) 1. Unity: one set of interfaces to support enc and comp acceleration 2. Efficiency: userspace zerocopy based on IOMMU & SVA(shared virtual address) 3. Security: the IOMMU limits the access rights and security boundaries of devices and processes 4. Compatibility: all acc devices can join this opensource project Test on Kunpeng 920 platform, compression offload based on UadkAccel: 1. save almost 50% cpu usage compared with no-isal compression in RBD 4M workload 2. save almost 40% cpu usage compared with no-isal compression in RGW put op (4M) workload 3. lower cpu usage, better performance Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
* Merge pull request #56224 from ibm-s390-cloud/master-s390x-crc32cYuri Weinstein2024-07-301-0/+5
|\ | | | | | | | | | | crc32c optimized for s390x arch Reviewed-by: Samuel Just <sjust@redhat.com> Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
| * crc32c optimized for s390x archAliaksei Makarau2024-05-221-0/+5
| | | | | | | | | | Fixes: https://tracker.ceph.com/issues/64952 Signed-off-by: Aliaksei Makarau <aliaksei.makarau@ibm.com>
* | cmake/os: remove WITH_ZFS optionCasey Bodley2024-07-031-28/+0
| | | | | | | | | | | | | | | | | | | | | | when enabled and found, the os_zfs_objs target would reference a missing file filestore/ZFSFileStoreBackend.cc and cmake would fail to configure i take this to mean that WITH_ZFS was accidentally left over from filestore's removal. drop all references to WITH_ZFS, along with the corresponding Findzfs.cmake script Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | build: Bump Boost to 1.85Adam Emerson2024-05-232-4/+20
| | | | | | | | Signed-off-by: Adam Emerson <aemerson@redhat.com>
* | build: Prefer Ceph's mirror of boost and add boost archiveAdam Emerson2024-05-221-2/+3
| | | | | | | | | | | | | | Since jfrog goes down from time to time, put it last in the list for now. Signed-off-by: Adam Emerson <aemerson@redhat.com>
* | build: Make boost_url a listAdam Emerson2024-05-221-1/+1
| | | | | | | | | | | | | | Cmake 3.29 does not appreciate a space separated string being substituted in. Signed-off-by: Adam Emerson <aemerson@redhat.com>
* | Merge pull request #56585 from ivancich/wip-upgrade-arrow+flight-15.0.2J. Eric Ivancich2024-05-101-0/+4
|\ \ | | | | | | | | | | | | rgw: upgrade Apache Arrow submodule to 15.0.0 Reviewed-by: Casey Bodley <cbodley@redhat.com>
| * | Upgrade Apache Arrow to 15.0.0.J. Eric Ivancich2024-05-021-0/+4
| | | | | | | | | | | | Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
* | | cmake: Intelligently set job limits for sccacheZack Cerza2024-05-061-18/+26
|/ / | | | | | | | | | | | | | | If we are correctly configured for distributed mode, use the cluster's CPU count instead of ours. If we are configured for sccache but without distributed mode, inform the user but continue with normal job limits. Signed-off-by: Zack Cerza <zack@redhat.com>
* | rgw/cache: This commit squashes commits related to boost::redis library.Samarah Uriarte2024-04-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RGW: Add boost_redis library RGW: Add boost_redis to CMake RGW: Add aedis methods to RedisDriver RGW: Minor RedisDriver cleanup build: Remove build/boost_redis build: remove src/redis build: Set src/boost_redis submodule to release version RGW: Remove broken boost_redis RGW: Add boost_redis rgw: Get rgw_redis_driver to build rgw/redis: Update `boost::redis` library rgw/cache: fixing compilation error, by removing aedis header file and src file includes from redis driver Signed-off-by: Samarah <samarah.uriarte@ibm.com> Co-authored-by: Adam Emerson <aemerson@redhat.com> Co-authored-by: Pritha Srivastava <prsrivas@redhat.com>
* | cmake: suppress LeakSanitizer reports of known leaksKefu Chai2024-03-271-1/+2
| | | | | | | | | | | | | | | | | | | | there are known leaks, which are tracked by qa/lsan.suppr, in Ceph. so let's reuse it so we don't see them when running unit test with ASan enabled. see also https://clang.llvm.org/docs/AddressSanitizer.html#issue-suppression Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | cmake: prevent ASAN_OPTIONS from detect_odr_violationKefu Chai2024-03-271-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | turns out we have multiple copies of following symbol defined by rbd executable: ``` AddressSanitizer: odr-violation: global 'ceph::buffer::list::always_empty_bptr' at /home/jenkins-build/build/workspace/ceph-pull-requests/src/common/buffer.cc:1267:34 ``` before addressing it. let's disable this warning. Refs https://tracker.ceph.com/issues/65098 Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | cmake: add ${CMAKE_SHARED_LINKER_FLAGS} to LDFLAGS when building python ↵Kefu Chai2024-03-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | extensions if sanitizers are enabled, we have to populate the required link flags to python extensions's building workflow. otherwise ld would fail to link like: ``` /usr/bin/ld: /home/jenkins-build/build/workspace/ceph-pull-requests/build/lib/libceph-common.so.2: undefined reference to `__asan_stack_free_10' ``` Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | cmake: error out on UBSan errorKefu Chai2024-03-271-0/+6
| | | | | | | | | | | | so we can be alerted if UBSan identify something wrong. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | cmake: quote a list using quotesKefu Chai2024-03-271-2/+2
|/ | | | | | | | | | | | | | | | | otherwised we'd have ``` CMake Error at cmake/modules/FindSanitizers.cmake:17 (if): if given arguments: "address" "IN_LIST" "address" "thread" "undefined_behavior" "OR" "leak" "IN_LIST" "address" "thread" "undefined_behavior" Unknown arguments specified ``` when enabling TSan with WITH_TSAN=ON. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* Merge pull request #55890 from tchaikov/wip-cmake-build-rocksdb-ccKefu Chai2024-03-051-0/+1
|\ | | | | | | | | cmake/modules/BuildRocksDB.cmake: inherit CMAKE_C_COMPILER from parent Reviewed-by: Casey Bodley <cbodley@redhat.com>
| * cmake/modules/BuildRocksDB.cmake: inherit CMAKE_C_COMPILER from parentKefu Chai2024-03-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if we set the CFLAGS globally, and the CFLAGS contains options only acceptable by a certain C compiler, RocksDB could fail to configure. for instance, if we set CXXFLAGS so it contains `--config /usr/lib/rpm/redhat/redhat-hardened-clang.cfg` and use clang++ as the CMAKE_CXX_COMPILER, while keep CMAKE_C_COMPILER unchanged. RocksDB would fail to configure like: ```-- Check for working C compiler: /usr/bin/cc - broken CMake Error at /usr/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message): The C compiler "/usr/bin/cc" is not able to compile a simple test program. It fails with the following output: Change Dir: /home/jenkins-build/build/workspace/ceph-dev-new-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos9/DIST/centos9/MACHINE_SIZE/gigantic/release/19.0.0-1717-g0f726187/rpm/el9/BUILD/ceph-19.0.0-1717-g0f726187/redhat-linux-build/src/rocksdb/CMakeFiles/CMakeScratch/TryCompile-RU5UFV Run Build Command(s):/usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_65e36/fast && gmake[3]: Entering directory '/home/jenkins-build/build/workspace/ceph-dev-new-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos9/DIST/centos9/MACHINE_SIZE/gigantic/release/19.0.0-1717-g0f726187/rpm/el9/BUILD/ceph-19.0.0-1717-g0f726187/redhat-linux-build/src/rocksdb/CMakeFiles/CMakeScratch/TryCompile-RU5UFV' /usr/bin/gmake -f CMakeFiles/cmTC_65e36.dir/build.make CMakeFiles/cmTC_65e36.dir/build gmake[4]: Entering directory '/home/jenkins-build/build/workspace/ceph-dev-new-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos9/DIST/centos9/MACHINE_SIZE/gigantic/release/19.0.0-1717-g0f726187/rpm/el9/BUILD/ceph-19.0.0-1717-g0f726187/redhat-linux-build/src/rocksdb/CMakeFiles/CMakeScratch/TryCompile-RU5UFV' Building C object CMakeFiles/cmTC_65e36.dir/testCCompiler.c.o /usr/bin/cc -O2 -flto=thin -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_GLIBCXX_ASSERTIONS --config /usr/lib/rpm/redhat/redhat-hardened-clang.cfg -fstack-protector-strong -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIE -o CMakeFiles/cmTC_65e36.dir/testCCompiler.c.o -c /home/jenkins-build/build/workspace/ceph-dev-new-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos9/DIST/centos9/MACHINE_SIZE/gigantic/release/19.0.0-1717-g0f726187/rpm/el9/BUILD/ceph-19.0.0-1717-g0f726187/redhat-linux-build/src/rocksdb/CMakeFiles/CMakeScratch/TryCompile-RU5UFV/testCCompiler.c cc: error: unrecognized command-line option ‘--config’; did you mean ‘-mpconfig’? gmake[4]: *** [CMakeFiles/cmTC_65e36.dir/build.make:78: CMakeFiles/cmTC_65e36.dir/testCCompiler.c.o] Error 1 ``` where RocksDB tries to check C compiler -- /usr/bin/cc along with the said CFLAGS, and fails to compile the test C program, because GCC does not support this option. so, in this change, let's pass the CMAKE_C_COMPILER as well. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | cmake: bump liburing from 0.7 to 2.5Kefu Chai2024-03-021-2/+2
|/ | | | | | | | | | | | this allows us to use newer liburing features. Seastar is using some of them which are not provided by liburing 0.7. in this change, `--use-libc` is passed to configure. otherwise it does not link against libc, and the symbles like memset() won't be available when compiling liburing.so with -fPIC using clang, which does not pull libc in that case. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* Merge pull request #55328 from rosinL/wip-fix-64117Kefu Chai2024-02-221-1/+19
|\ | | | | | | | | | | | | cmake/AddCephTest: bind crimson unittest to different cores Reviewed-by: Chunmei Liu <chunmei.liu@intel.com> Reviewed-by: Samuel Just <sjust@redhat.com> Reviewed-by: Kefu Chai <tchaikov@gmail.com>
| * cmake/AddCephTest: Specify resoureces to crimson unittestluo rixin2024-02-211-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When running crimson unittest, the seastar framework always use and only use cpu0, and with many parallel crimson unittest jobs, all the jobs are running on cpu0, the other cpu cores can't used, make the make check run very slow, even timeout happens. Use set_property RESOURCE_GROUPS to specify cpu resources to crimson unittest, and accelerate make check running. Fixes: https://tracker.ceph.com/issues/64117 Co-authored-by: Kefu Chai <tchaikov@gmail.com> Signed-off-by: luo rixin <luorixin@huawei.com>
| * CMakeLists: Modify CEPH_TEST_TIMEOUT from 3600s to 7200sluo rixin2024-02-201-1/+0
| | | | | | | | | | | | | | | | There are some older Arm server running pretty slow, the make check jobs like `check-generated.sh` are killed as the job timeout. Make CEPH_TEST_TIMEOUT more longer. Signed-off-by: luo rixin <luorixin@huawei.com>
* | Merge pull request #55684 from athanatos/sjust/wip-seastar-asan-fibersSamuel Just2024-02-212-0/+14
|\ \ | | | | | | | | | | | | | | | crimson: fixes for stack-use-after-return on recent clang and gcc versions Reviewed-by: Matan Breizman <mbreizma@redhat.com> Reviewed-by: Kefu Chai <tchaikov@gmail.com>
| * | cmake/.../FindSanitizers: add check for Sanitizers_FIBER_SUPPPORTSamuel Just2024-02-212-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With newer clang and gcc versions (observed on clang-17.0.6 as well as gcc 12/13), asan is throwing stack-use-after-return during OSD startup related to usage of seastar::async, which relies on swapcontext internally. seastar/src/core/thread.cc supports asan's hooks, but only if SEASTAR_HAVE_ASAN_FIBER_SUPPORT is set. seastar's CMakeList.txt sets it based on Sanitizers_FIBER_SUPPORT, which probably should be set by the module at src/seastar/cmake/FindSanitizers.cmake, but that module doesn't seem to be actually invoked anywhere. Ceph's version of that module (cmake/modules/FindSanitizers.cmake) does not set Sanitizers_FIBER_SUPPORT. This commit adds that check as well as the related code snippet. Fixes: https://tracker.ceph.com/issues/64512 Signed-off-by: Samuel Just <sjust@redhat.com>
* | | Merge pull request #52114 from yuvalif/wip-end2end-tracingRadoslaw Zarzynski2024-02-201-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | tracer/osd/librados/build/rgw: rgw and osd end2end tracing using opentelemetry Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com> Reviewed-by: Samuel Just <sjust@redhat.com>
| * | | tracer/osd/librados/build/rgw: rgw and osd end2end tracing using opentelemetryOmri Zeneva2024-02-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * build: add opentelemetry to cmake system crimson targets that uses Message.cc/h are built before opentelemetry (o-tel), so we need to build o-tel eralier so we also add the library to the include path earlier this shoud work for WITH_JAEGER flag both the ON/OFF cases, and for librados where the compilation flag is ignored * msg/tracer: add o-tel trace to Messages with decode/encode function in tracer.h some files that uses Message.cc/h just need the encode/decode functions and not all others functions. some crimson targets does not link with ceph_context (common) which is required for tracer.cc file. so we just need to include that functions * librados: Add opentelemtry trace param for aio_operate and operate methods in order to propagate the trace info I added the otel-trace as an extra param. in some places, there already was a blkin trace info, and since it is not used in other places we can safely change it to o-tel trace info. this will be done in another commit, so the cleanup of blkin trace will be in a dedicated commit * osd: use the o-tel trace of the msg as a parent span of the osd trace if there is a valid span in the msg, we will add this op to the request trace, otherwise it will start a new trace for the OSD op * rgw: pass put obj trace info to librados in order to make it possible, I saved the trace info inside the sal::Object, so we can use it later when writing the object to rados it could be used also later for read ops. note the trace field of req_state is initalized only in rgw_process, so it's also required in librgw request flow * prevent breaking channges to kSize. make sure that changes between components built with different versions of OTEL do not break message compatibility Signed-off-by: Omri Zeneva <ozeneva@redhat.com>
* | | | Merge pull request #54963 from DimStar77/cmake328v19.3.0Kefu Chai2024-02-171-2/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | cmake: Ensure git exists before executing it Signed-off-by: Kefu Chai <tchaikov@gmail.com>
| * | | | cmake: Ensure git exists before executing itDominique Leuenberger2023-12-191-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake 3.28 has turned stricter when executing string(REPLACE …) and expects four or more commands. In case of distro package builds from tarball, it happens that git is not present. CTags.cmake tries to catch that by veriying the exit status of the command, but as there is in fact git | awk, awk returns 0 even when git does not exist. Ensure that the variable submodules has been defined before trying to replace substrings in this variable. Signed-off-by: Dominique Leuenberger <dimstar@opensuse.org>
* | | | | Merge pull request #55529 from tchaikov/cmake-capKefu Chai2024-02-121-0/+35
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | cmake: find_package(cap) before linking against it Reviewed-by: Casey Bodley <cbodley@redhat.com>
| * | | | | cmake: find_package(cap) before linking against itKefu Chai2024-02-111-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | before this change, we link against libcap without finding it. this works fine as long as libcap-devel or libcap-dev is installed in the system. but if it is not, the source would fail to build due to missing `sys/capability.h`. this is not a great developer experience. in this change, a `Findcap.cmake` is added to find the capability library. which would fail the build at the configure phase. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | | | | | cmake: build boost debug variant when CMAKE_BUILD_TYPE is DebugKefu Chai2024-02-111-1/+5
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | boost has some different predefined build variants. they are quite like CMake's CMAKE_BUILD_TYPE. in which, "debug" enables some features related features. so it would be nice if we can have it enabled for the Debug build, if the boost is built from source. see also https://www.boost.org/build/doc/html/bbv2/overview/builtins/features.html before this change, we always build the "release" variant. in this change, "debug" variant is built if Ceph's is built with CMAKE_BUILD_TYPE=Debug. please note, this change does not change the way how boost is built when packaging Ceph, as our debian/rpm receipts do not define CMAKE_BUILD_TYPE and respect the distros' settings, in that case, the "release" variant is still built. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
* | | | | Merge pull request #54624 from cbodley/wip-cmake-qatCasey Bodley2024-02-086-24/+172
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | cmake: add ExternalProjects to enable QAT by default Reviewed-by: Kefu Chai <tchaikov@gmail.com>
| * | | | cmake: WITH_QATLIB/ZIP disabled on aarch64Casey Bodley2024-02-071-2/+0
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
| * | | | cmake: build from qatzip submoduleCasey Bodley2024-02-071-13/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
| * | | | cmake: build qatzip from source when WITH_SYSTEM_QATZIP=OFFCasey Bodley2024-02-072-0/+57
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
| * | | | cmake: build from qatlib submoduleCasey Bodley2024-02-071-13/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
| * | | | cmake: build qat from source when WITH_SYSTEM_QATLIB=OFFCasey Bodley2024-02-071-0/+56
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
| * | | | cmake: rename qatzip->QATzip and support pkg-configCasey Bodley2024-02-072-24/+32
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
| * | | | cmake: add WITH_QATLIB to build against qatlibCasey Bodley2024-02-072-0/+48
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FindQAT.cmake adds library targets QAT::qat and QAT::usdm for qatlib, and FindQatDrv.cmake adds alias targets to the same src/compressor and src/crypto/qat link against these common QAT targets src/crypto/qat/qcccrypto.h uses new HAVE_QATDRV define to determine which headers to include Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | | Merge pull request #55267 from athos-ribeiro/cmake-empty-submodulesKefu Chai2024-02-081-2/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | cmake: quote variable to allow empty values Reviewed-by: Kefu Chai <tchaikov@gmail.com>
| * | | cmake: quote variable to allow empty valuesAthos Ribeiro2024-01-221-2/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use quotes to allow empty submodules variable during the cmake build configuration. This is specially useful for lean build environments where git is not available (which would result in an empty submodules variable). Further context is available at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1056793#10. Signed-off-by: Athos Ribeiro <athos.ribeiro@canonical.com>
* / | cmake/arrow: don't treat warnings as errorsCasey Bodley2024-01-241-0/+3
|/ / | | | | | | | | | | | | | | | | with arrow's default BUILD_WARNING_LEVEL, -Werror is added to cflags and debug builds fail on a warning about _FORTIFY_SOURCE Fixes: https://tracker.ceph.com/issues/63130 Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | Merge pull request #54918 from tchaikov/cmake-build-rockdb-with-cxxflagsKefu Chai2023-12-211-2/+3
|\ \ | | | | | | | | | | | | cmake/modules/BuildRocksDB.cmake: inherit parent's CMAKE_CXX_FLAGS Reviewed-by: Casey Bodley <cbodley@redhat.com>
| * | cmake/modules/BuildRocksDB.cmake: inherit parent's CMAKE_CXX_FLAGSKefu Chai2023-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake allows us to customize `CMAKE_CXX_FLAGS` by setting CXXFLAGS environmental variable. and Debian's debhelper also sets CXXFLAGS when it builds cmake projects for customizing the building flags. but we fail to populate this setting down when building external projects. this is important when it comes to the projects which is critical to the performance. RocksDB is one of them. in this change, we pass the `CMAKE_CXX_FLAGS` down in `BuildRocksDB.cmake` so that its `CMAKE_CXX_FLAGS` contains the same set of `CMAKE_CXX_FLAGS` used by its parent project. this should help with the performance in the bluestore, where RocksDB is used. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
| * | cmake/modules/BuildRocksDB.cmake: use string(APPEND ..) when appropriateKefu Chai2023-12-151-2/+2
| |/ | | | | | | | | | | less repeatings this way. Signed-off-by: Kefu Chai <tchaikov@gmail.com>