diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 199232f84..a210c682b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2025 Citron Homebrew Emulator Project & vampiric_x 2025 +# SPDX-FileCopyrightText: 2025 Citron Homebrew Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later cmake_minimum_required(VERSION 3.22) @@ -655,10 +655,17 @@ if(ENABLE_QT AND UNIX AND NOT APPLE) DESTINATION "share/metainfo") endif() -# Set default x86-64-v2 instruction set for better compatibility +# Set CPU architecture compatibility flags if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64") - # Ensure quotes are preserved and flags are set for both main build and vcpkg - set(ISA_FLAGS "-march=x86-64-v2") + # Default to x86-64 baseline for maximum compatibility + set(ISA_FLAGS "-march=x86-64") + + # Allow override via CMake option + option(CITRON_USE_X86_64_V2 "Enable x86-64-v2 instruction set" OFF) + + if(CITRON_USE_X86_64_V2) + set(ISA_FLAGS "-march=x86-64-v2") + endif() # Set for main project set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ISA_FLAGS}") @@ -668,8 +675,8 @@ if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64") 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") + # Set toolchain options for vcpkg + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/x86-64-toolchain.cmake") # Ensure we're not getting overridden by system defaults add_compile_options(${ISA_FLAGS}) |