mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
handle GNUCC_ARCH on non-x86 properly
This commit is contained in:
parent
1ce5e17ce9
commit
9685095379
@ -182,7 +182,7 @@ else()
|
|||||||
string(REGEX REPLACE "-O[^ ]*" "" CMAKE_CXX_FLAGS_${CONFIG} "${CMAKE_CXX_FLAGS_${CONFIG}}")
|
string(REGEX REPLACE "-O[^ ]*" "" CMAKE_CXX_FLAGS_${CONFIG} "${CMAKE_CXX_FLAGS_${CONFIG}}")
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
if (ARCH_IA32 OR ARCH_X86_64 AND CMAKE_COMPILER_IS_GNUCC)
|
if (CMAKE_COMPILER_IS_GNUCC)
|
||||||
message(STATUS "gcc version ${CMAKE_C_COMPILER_VERSION}")
|
message(STATUS "gcc version ${CMAKE_C_COMPILER_VERSION}")
|
||||||
# If gcc doesn't recognise the host cpu, then mtune=native becomes
|
# If gcc doesn't recognise the host cpu, then mtune=native becomes
|
||||||
# generic, which isn't very good in some cases. march=native looks at
|
# generic, which isn't very good in some cases. march=native looks at
|
||||||
@ -199,16 +199,20 @@ else()
|
|||||||
string(REGEX REPLACE "march=[ \t]*([^ \n]*)[ \n].*" "\\1"
|
string(REGEX REPLACE "march=[ \t]*([^ \n]*)[ \n].*" "\\1"
|
||||||
GNUCC_ARCH "${_GCC_OUTPUT}")
|
GNUCC_ARCH "${_GCC_OUTPUT}")
|
||||||
|
|
||||||
# test the parsed flag
|
if (ARCH_IA32 OR ARCH_X86_64)
|
||||||
set (EXEC_ARGS ${CC_ARG1} -E - -mtune=${GNUCC_ARCH})
|
# test the parsed flag
|
||||||
execute_process(COMMAND ${CMAKE_C_COMPILER} ${EXEC_ARGS}
|
set (EXEC_ARGS ${CC_ARG1} -E - -mtune=${GNUCC_ARCH})
|
||||||
OUTPUT_QUIET ERROR_QUIET
|
execute_process(COMMAND ${CMAKE_C_COMPILER} ${EXEC_ARGS}
|
||||||
INPUT_FILE /dev/null
|
OUTPUT_QUIET ERROR_QUIET
|
||||||
RESULT_VARIABLE GNUCC_TUNE_TEST)
|
INPUT_FILE /dev/null
|
||||||
if (NOT GNUCC_TUNE_TEST EQUAL 0)
|
RESULT_VARIABLE GNUCC_TUNE_TEST)
|
||||||
message(SEND_ERROR "Something went wrong determining gcc tune: -mtune=${GNUCC_ARCH} not valid")
|
if (NOT GNUCC_TUNE_TEST EQUAL 0)
|
||||||
|
message(SEND_ERROR "Something went wrong determining gcc tune: -mtune=${GNUCC_ARCH} not valid")
|
||||||
|
endif()
|
||||||
|
set(TUNE_FLAG ${GNUCC_ARCH})
|
||||||
|
else()
|
||||||
|
set(TUNE_FLAG native)
|
||||||
endif()
|
endif()
|
||||||
set(TUNE_FLAG ${GNUCC_ARCH})
|
|
||||||
elseif (NOT TUNE_FLAG)
|
elseif (NOT TUNE_FLAG)
|
||||||
set(TUNE_FLAG native)
|
set(TUNE_FLAG native)
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user