enable DYNARMIC_ENABLE_NO_EXECUTE_SUPPORT by default on apple silicon
This commit is contained in:
parent
94d1f7c01a
commit
2b3be5eee8
@ -8,9 +8,32 @@ if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
|||||||
set(MASTER_PROJECT ON)
|
set(MASTER_PROJECT ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Add the module directory to the list of paths
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules")
|
||||||
|
|
||||||
|
# Arch detection
|
||||||
|
include(DetectArchitecture)
|
||||||
|
if (MSVC)
|
||||||
|
detect_architecture("_M_AMD64" x86_64)
|
||||||
|
detect_architecture("_M_ARM64" Aarch64)
|
||||||
|
else()
|
||||||
|
detect_architecture("__x86_64__" x86_64)
|
||||||
|
detect_architecture("__aarch64__" Aarch64)
|
||||||
|
endif()
|
||||||
|
if (NOT DEFINED DYNARMIC_ARCHITECTURE)
|
||||||
|
message(FATAL_ERROR "Unsupported architecture encountered. Ending CMake generation.")
|
||||||
|
endif()
|
||||||
|
message(STATUS "Target architecture: ${DYNARMIC_ARCHITECTURE}")
|
||||||
|
|
||||||
|
set(REQUIRES_NO_EXECUTE_SUPPORT OFF)
|
||||||
|
#Apple Silicon chips require W^X
|
||||||
|
if(APPLE AND ARCHITECTURE_Aarch64)
|
||||||
|
set(REQUIRES_NO_EXECUTE_SUPPORT ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Dynarmic project options
|
# Dynarmic project options
|
||||||
option(DYNARMIC_ENABLE_CPU_FEATURE_DETECTION "Turning this off causes dynarmic to assume the host CPU doesn't support anything later than SSE3" ON)
|
option(DYNARMIC_ENABLE_CPU_FEATURE_DETECTION "Turning this off causes dynarmic to assume the host CPU doesn't support anything later than SSE3" ON)
|
||||||
option(DYNARMIC_ENABLE_NO_EXECUTE_SUPPORT "Enables support for systems that require W^X" OFF)
|
option(DYNARMIC_ENABLE_NO_EXECUTE_SUPPORT "Enables support for systems that require W^X" ${REQUIRES_NO_EXECUTE_SUPPORT})
|
||||||
option(DYNARMIC_FATAL_ERRORS "Errors are fatal" OFF)
|
option(DYNARMIC_FATAL_ERRORS "Errors are fatal" OFF)
|
||||||
option(DYNARMIC_TESTS "Build tests" ${MASTER_PROJECT})
|
option(DYNARMIC_TESTS "Build tests" ${MASTER_PROJECT})
|
||||||
option(DYNARMIC_TESTS_USE_UNICORN "Enable fuzzing tests against unicorn" OFF)
|
option(DYNARMIC_TESTS_USE_UNICORN "Enable fuzzing tests against unicorn" OFF)
|
||||||
@ -38,9 +61,6 @@ if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
|||||||
message(SEND_ERROR "In-source builds are not allowed.")
|
message(SEND_ERROR "In-source builds are not allowed.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Add the module directory to the list of paths
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules")
|
|
||||||
|
|
||||||
# Compiler flags
|
# Compiler flags
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
set(DYNARMIC_CXX_FLAGS
|
set(DYNARMIC_CXX_FLAGS
|
||||||
@ -99,20 +119,6 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Arch detection
|
|
||||||
include(DetectArchitecture)
|
|
||||||
if (MSVC)
|
|
||||||
detect_architecture("_M_AMD64" x86_64)
|
|
||||||
detect_architecture("_M_ARM64" Aarch64)
|
|
||||||
else()
|
|
||||||
detect_architecture("__x86_64__" x86_64)
|
|
||||||
detect_architecture("__aarch64__" Aarch64)
|
|
||||||
endif()
|
|
||||||
if (NOT DEFINED DYNARMIC_ARCHITECTURE)
|
|
||||||
message(FATAL_ERROR "Unsupported architecture encountered. Ending CMake generation.")
|
|
||||||
endif()
|
|
||||||
message(STATUS "Target architecture: ${DYNARMIC_ARCHITECTURE}")
|
|
||||||
|
|
||||||
# Include Boost
|
# Include Boost
|
||||||
if (NOT TARGET boost)
|
if (NOT TARGET boost)
|
||||||
if (NOT Boost_INCLUDE_DIRS)
|
if (NOT Boost_INCLUDE_DIRS)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user