Skip to content

Commit d969227

Browse files
jbeichkripken
authored andcommitted
Fix #1437 by limiting -mfpu= to 32bit ARM targets (#1438)
1 parent a8538a4 commit d969227

File tree

1 file changed

+2
-40
lines changed

1 file changed

+2
-40
lines changed

CMakeLists.txt

Lines changed: 2 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -103,49 +103,11 @@ ELSE()
103103
FIND_PACKAGE(Threads REQUIRED)
104104
ADD_CXX_FLAG("-std=c++11")
105105
if (NOT EMSCRIPTEN)
106-
# try to get the target architecture by compiling a dummy.c file and
107-
# checking the architecture using the file command.
108-
file(WRITE ${PROJECT_BINARY_DIR}/dummy.c "main(){}")
109-
try_compile(
110-
COMPILE_OK
111-
${PROJECT_BINARY_DIR}
112-
${PROJECT_BINARY_DIR}/dummy.c
113-
OUTPUT_VARIABLE COMPILE_OUTPUT
114-
COPY_FILE ${PROJECT_BINARY_DIR}/dummy
115-
)
116-
if (COMPILE_OK)
117-
execute_process(
118-
COMMAND file ${PROJECT_BINARY_DIR}/dummy
119-
RESULT_VARIABLE FILE_RESULT
120-
OUTPUT_VARIABLE FILE_OUTPUT
121-
ERROR_QUIET
122-
)
123-
124-
if (FILE_RESULT EQUAL 0)
125-
if (${FILE_OUTPUT} MATCHES "x86[-_]64")
126-
set(TARGET_ARCH "x86-64")
127-
elseif (${FILE_OUTPUT} MATCHES "Intel 80386")
128-
set(TARGET_ARCH "i386")
129-
elseif (${FILE_OUTPUT} MATCHES "ARM")
130-
set(TARGET_ARCH "ARM")
131-
else ()
132-
message(WARNING "Unknown target architecture!")
133-
endif ()
134-
if(TARGET_ARCH)
135-
MESSAGE(STATUS "Building for platform ${TARGET_ARCH}")
136-
endif ()
137-
else ()
138-
message(WARNING "Error running file on dummy executable")
139-
endif ()
140-
else ()
141-
message(WARNING "Error compiling dummy.c file: ${COMPILE_OUTPUT}")
142-
endif ()
143-
144-
if (TARGET_ARCH STREQUAL "i386")
106+
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
145107
# wasm doesn't allow for x87 floating point math
146108
ADD_COMPILE_FLAG("-msse2")
147109
ADD_COMPILE_FLAG("-mfpmath=sse")
148-
elseif(TARGET_ARCH STREQUAL "ARM")
110+
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^armv[2-6]" AND NOT CMAKE_CXX_FLAGS MATCHES "-mfpu=")
149111
ADD_COMPILE_FLAG("-mfpu=vfpv3")
150112
endif ()
151113
endif ()

0 commit comments

Comments
 (0)