From 0835fe11833ba1d03d51a5d9bc74106967b8ab98 Mon Sep 17 00:00:00 2001 From: ericek111 Date: Thu, 9 Apr 2026 15:42:52 +0200 Subject: [PATCH] CMakeLists: build for x86-64-v3 by default --- CMakeLists.txt | 10 ++++++++-- README.md | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 77ffd02..a1546a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -180,11 +180,17 @@ if(EMSCRIPTEN) else() # ── Native Build ───────────────────────────────────────────────────────── + option(NATIVE_BUILD "Optimize for the host CPU (-march=native)" OFF) + if(MSVC) - set(CMAKE_CXX_FLAGS_RELEASE "/O2 /DNDEBUG") + set(CMAKE_CXX_FLAGS_RELEASE "/O2 /DNDEBUG /arch:AVX2") set(CMAKE_CXX_FLAGS_DEBUG "/Zi /Od") else() - set(CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native -DNDEBUG") + if(NATIVE_BUILD) + set(CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native -DNDEBUG") + else() + set(CMAKE_CXX_FLAGS_RELEASE "-O3 -march=x86-64-v3 -DNDEBUG") + endif() set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -fsanitize=address,undefined") endif() diff --git a/README.md b/README.md index fccc711..752a07d 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ You can find the Web version here, delivered in 870 kB: https://ericek111.github # Install dependencies (Debian/Ubuntu) sudo apt install build-essential cmake pkg-config libsdl2-dev libfftw3-dev libsndfile1-dev libgl-dev -cmake -B build -DCMAKE_BUILD_TYPE=Release +cmake -B build -DCMAKE_BUILD_TYPE=Release -DNATIVE_BUILD=ON cmake --build build -j$(nproc) ``` @@ -62,7 +62,7 @@ cmake --build build -j$(nproc) ```powershell vcpkg install sdl2 fftw3 "libsndfile[core]" --triplet x64-windows -cmake -B build -DCMAKE_BUILD_TYPE=Release ` +cmake -B build -DCMAKE_BUILD_TYPE=Release -DNATIVE_BUILD=ON ` -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" ` -DVCPKG_TARGET_TRIPLET=x64-windows cmake --build build --config Release