diff --git a/parallel-rsp/CMakeLists.txt b/parallel-rsp/CMakeLists.txt index 19762d8..c4f5b04 100644 --- a/parallel-rsp/CMakeLists.txt +++ b/parallel-rsp/CMakeLists.txt @@ -76,7 +76,12 @@ set_target_properties(${NAME_PLUGIN_SIMPLE64} PROPERTIES PREFIX "") target_include_directories(${NAME_PLUGIN_SIMPLE64} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(${NAME_PLUGIN_SIMPLE64} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/arch/simd/rsp) target_include_directories(${NAME_PLUGIN_SIMPLE64} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/api) -target_compile_options(${NAME_PLUGIN_SIMPLE64} PRIVATE ${PARALLEL_RSP_CXX_FLAGS} -march=x86-64-v3 -Ofast) +target_compile_options(${NAME_PLUGIN_SIMPLE64} PRIVATE ${PARALLEL_RSP_CXX_FLAGS} -Ofast) +if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") + target_compile_options(${NAME_PLUGIN_SIMPLE64} PRIVATE -march=armv8-a) +else() + target_compile_options(${NAME_PLUGIN_SIMPLE64} PRIVATE -march=x86-64-v3) +endif() option(PARALLEL_RSP_BAKED_LIGHTNING "Use built-in Lightning." ON) @@ -100,13 +105,25 @@ if (PARALLEL_RSP_BAKED_LIGHTNING) set_property(TARGET lightning PROPERTY C_VISIBILITY_PRESET hidden) set_property(TARGET lightning PROPERTY CXX_VISIBILITY_PRESET hidden) set_property(TARGET lightning PROPERTY VISIBILITY_INLINES_HIDDEN ON) - target_compile_options(lightning PRIVATE -march=x86-64-v3 -DHAVE_MMAP -Ofast) - target_link_options(lightning PRIVATE -march=x86-64-v3 -DHAVE_MMAP -Ofast) + target_compile_options(lightning PRIVATE -DHAVE_MMAP -Ofast) + target_link_options(lightning PRIVATE -DHAVE_MMAP -Ofast) + if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") + target_compile_options(lightning PRIVATE -march=armv8-a) + target_link_options(lightning PRIVATE -march=armv8-a) + else() + target_compile_options(lightning PRIVATE -march=x86-64-v3) + target_link_options(lightning PRIVATE -march=x86-64-v3) + endif() if (NOT APPLE) target_link_options(lightning PRIVATE -Wl,-Bsymbolic -Wl,-Bsymbolic-functions) endif (NOT APPLE) endif() -target_link_options(${NAME_PLUGIN_SIMPLE64} PRIVATE -march=x86-64-v3 -Ofast) +target_link_options(${NAME_PLUGIN_SIMPLE64} PRIVATE -Ofast) +if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") + target_link_options(${NAME_PLUGIN_SIMPLE64} PRIVATE -march=armv8-a) +else() + target_link_options(${NAME_PLUGIN_SIMPLE64} PRIVATE -march=x86-64-v3) +endif() if (NOT APPLE) target_link_options(${NAME_PLUGIN_SIMPLE64} PRIVATE -Wl,-Bsymbolic -Wl,-Bsymbolic-functions) endif (NOT APPLE)