From 7d72f825ae6ef7019fb1898165cbe701971fc111 Mon Sep 17 00:00:00 2001 From: AndreaRigoni Date: Fri, 3 Apr 2026 13:22:52 +0000 Subject: [PATCH] fixed warnings --- CMakeLists.txt | 11 ++++++++++- README.md | 12 ++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f4ce092..9e12148 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,11 +15,20 @@ if(POLICY CMP0167) cmake_policy(SET CMP0167 NEW) endif() - ## -------------------------------------------------------------------------- ## project(uLib) +# Remove GCC-only flag injected by conda's CFLAGS/CXXFLAGS that clang doesn't support. +# Must run after project() since that's when CMake initialises CMAKE__FLAGS from env. +if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + foreach(_lang C CXX) + foreach(_var CMAKE_${_lang}_FLAGS CMAKE_${_lang}_FLAGS_RELEASE CMAKE_${_lang}_FLAGS_RELWITHDEBINFO CMAKE_${_lang}_FLAGS_DEBUG) + string(REPLACE "-fno-merge-constants" "" ${_var} "${${_var}}") + endforeach() + endforeach() +endif() + # CUDA Toolkit seems to be missing locally. Toggle ON if nvcc is made available. option(USE_CUDA "Enable CUDA support" OFF) if(USE_CUDA) diff --git a/README.md b/README.md index d3e4092..0b7729d 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,18 @@ cmake --preset conan-release cmake --build build -j$(nproc) ``` +5. **Clean build (wipe and rebuild everything):** +```bash +cmake --build build --clean-first -j$(nproc) +``` + +6. **Run tests:** +```bash +cmake --build build --target test -j$(nproc) +# or equivalently: +ctest --test-dir build --output-on-failure -j$(nproc) +``` + #### LLVM/Clang build (clang + lld + ccache — fastest) A `fast` conan profile is provided that uses **clang**, **lld** (LLVM linker), and **ccache**. Install them into your environment first: