mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
Merge pull request #24745 from tomoaki0705:cmake_follow_up
cmake: brush up the cmake part of merging option
This commit is contained in:
commit
be1373f01a
@ -484,21 +484,19 @@ macro(ocv_check_compiler_optimization OPT)
|
|||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(ocv_cpu_aarch64_baseline_merge_feature_options FEATURE_NAME_LIST FLAG_STRING COMMON_OPTION)
|
macro(ocv_cpu_aarch64_baseline_merge_feature_options FEATURE_NAME_LIST FLAG_STRING COMMON_OPTION)
|
||||||
if(NOT MSVC)
|
unset(_POSTFIX)
|
||||||
unset(_POSTFIX)
|
# Check each feature option
|
||||||
# Check each feature option
|
foreach(OPT IN LISTS ${FEATURE_NAME_LIST})
|
||||||
foreach(OPT IN LISTS ${FEATURE_NAME_LIST})
|
string(FIND "${${FLAG_STRING}}" "${CPU_${OPT}_FLAGS_ON}" OPT_FOUND)
|
||||||
string(FIND "${${FLAG_STRING}}" "${CPU_${OPT}_FLAGS_ON}" OPT_FOUND)
|
if(NOT ${OPT_FOUND} EQUAL -1)
|
||||||
if(NOT ${OPT_FOUND} EQUAL -1)
|
string(REPLACE "${COMMON_OPTION}" "" TRAILING_PART "${CPU_${OPT}_FLAGS_ON}")
|
||||||
string(REPLACE "${COMMON_OPTION}" "" TRAILING_PART "${CPU_${OPT}_FLAGS_ON}")
|
string(APPEND _POSTFIX "${TRAILING_PART}")
|
||||||
string(APPEND _POSTFIX "${TRAILING_PART}")
|
string(REPLACE " ${CPU_${OPT}_FLAGS_ON}" "" ${FLAG_STRING} ${${FLAG_STRING}})
|
||||||
string(REPLACE " ${CPU_${OPT}_FLAGS_ON}" "" ${FLAG_STRING} ${${FLAG_STRING}})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
# If more than one option found, merge them
|
|
||||||
if(NOT "x${_POSTFIX}" STREQUAL "x")
|
|
||||||
set(${FLAG_STRING} "${${FLAG_STRING}} ${COMMON_OPTION}${_POSTFIX}")
|
|
||||||
endif()
|
endif()
|
||||||
|
endforeach()
|
||||||
|
# If more than one option found, merge them
|
||||||
|
if(NOT "x${_POSTFIX}" STREQUAL "x")
|
||||||
|
set(${FLAG_STRING} "${${FLAG_STRING}} ${COMMON_OPTION}${_POSTFIX}")
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
@ -596,10 +594,12 @@ foreach(OPT ${CPU_KNOWN_OPTIMIZATIONS})
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(AARCH64)
|
if(AARCH64)
|
||||||
|
if(NOT MSVC)
|
||||||
# Define the list of NEON options to check
|
# Define the list of NEON options to check
|
||||||
set(NEON_OPTIONS_LIST NEON_DOTPROD NEON_FP16 NEON_BF16)
|
set(NEON_OPTIONS_LIST NEON_DOTPROD NEON_FP16 NEON_BF16)
|
||||||
set(BASE_ARCHITECTURE "-march=armv8.2-a")
|
set(BASE_ARCHITECTURE "-march=armv8.2-a")
|
||||||
ocv_cpu_aarch64_baseline_merge_feature_options(NEON_OPTIONS_LIST CPU_BASELINE_FLAGS ${BASE_ARCHITECTURE})
|
ocv_cpu_aarch64_baseline_merge_feature_options(NEON_OPTIONS_LIST CPU_BASELINE_FLAGS ${BASE_ARCHITECTURE})
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
foreach(OPT ${CPU_BASELINE_REQUIRE})
|
foreach(OPT ${CPU_BASELINE_REQUIRE})
|
||||||
|
Loading…
Reference in New Issue
Block a user