summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt20
-rw-r--r--cmake/x86-64-v2-toolchain.cmake2
2 files changed, 16 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a6aac07d8..199232f84 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -657,14 +657,22 @@ endif()
# Set default x86-64-v2 instruction set for better compatibility
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64")
- # Only set flags if not explicitly provided via command line
- if (NOT CMAKE_C_FLAGS MATCHES "-march=" AND NOT CMAKE_CXX_FLAGS MATCHES "-march=")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=x86-64-v2")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=x86-64-v2")
- endif()
+ # Ensure quotes are preserved and flags are set for both main build and vcpkg
+ set(ISA_FLAGS "-march=x86-64-v2")
+
+ # Set for main project
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ISA_FLAGS}")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ISA_FLAGS}")
+
+ # Set for vcpkg dependencies
+ set(VCPKG_CXX_FLAGS "${ISA_FLAGS}")
+ set(VCPKG_C_FLAGS "${ISA_FLAGS}")
+
+ # Set toolchain options for vcpkg
+ set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/x86-64-v2-toolchain.cmake")
# Ensure we're not getting overridden by system defaults
- add_compile_options(-march=x86-64-v2)
+ add_compile_options(${ISA_FLAGS})
# Force disable higher ISA levels
add_compile_definitions(
diff --git a/cmake/x86-64-v2-toolchain.cmake b/cmake/x86-64-v2-toolchain.cmake
new file mode 100644
index 000000000..b29ba810c
--- /dev/null
+++ b/cmake/x86-64-v2-toolchain.cmake
@@ -0,0 +1,2 @@
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=x86-64-v2" CACHE STRING "C flags")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=x86-64-v2" CACHE STRING "C++ flags") \ No newline at end of file