aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2014-06-18 12:22:23 -0700
committerGuy Harris <guy@alum.mit.edu>2014-06-18 19:27:24 +0000
commitff5c9684db63bba1e9fabcb9725518a4abc63383 (patch)
treec984d9142d779d1e80de2528537b8807b135b3e0 /CMakeLists.txt
parent8dabe0027a36aa5e2d95ec6ad724faa973cd1ee7 (diff)
Only check for -msse4.2.
We don't care about instruction set extensions other than SSE 4.2, just check for that. Do so on all compilers other than MSVC. Change-Id: I227c31715aab6df0e020d6bc3e3aa41e1bc5cb7e Reviewed-on: https://code.wireshark.org/review/2405 Reviewed-by: Evan Huus <eapache@gmail.com> Tested-by: Evan Huus <eapache@gmail.com> Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt45
1 files changed, 15 insertions, 30 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8eb1244ac8..39fbb7306f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -164,8 +164,6 @@ if( CMAKE_C_COMPILER_ID MATCHES "MSVC")
# This avoids conflicts with the C++ standard library.
/DNOMINMAX
)
- set(WIRESHARK_SIMD_TESTS
- )
if(NOT WIN64)
set(LOCAL_CFLAGS ${LOCAL_CFLAGS} "/D_BIND_TO_CURRENT_CRT_VERSION=1")
@@ -306,18 +304,6 @@ else()
set(WIRESHARK_CPP_ONLY_FLAGS ${WIRESHARK_CPP_ONLY_FLAGS} ${WIRESHARK_EXTRA_COMPILER_CPP_ONLY_FLAGS})
endif()
- set(WIRESHARK_SIMD_TESTS
- -faltivec
- -mmmx
- -msse
- -msse2
- -msse3
- -mssse3
- -msse4.1
- -msse4.2
- -mavx
- )
-
add_definitions(
-DG_DISABLE_DEPRECATED
-DG_DISABLE_SINGLE_INCLUDES
@@ -361,22 +347,21 @@ endforeach()
message(STATUS "C-Flags: ${CMAKE_C_FLAGS}")
message(STATUS "CXX-Flags: ${CMAKE_CXX_FLAGS}")
-foreach(THIS_FLAG ${WIRESHARK_SIMD_TESTS})
- string( REGEX REPLACE "[^a-zA-Z0-9_]+" "_" F ${THIS_FLAG} )
- set(${F} ${THIS_FLAG})
- set(V C_${F}_VALID)
- message(STATUS "Checking for c-compiler SIMD flag: ${THIS_FLAG}")
- check_c_compiler_flag(${${F}} ${V})
- if (${${V}})
- set(WIRESHARK_SIMD_FLAGS "${WIRESHARK_SIMD_FLAGS} ${${F}}")
- endif()
-endforeach()
-
-if ( ${WIRESHARK_SIMD_FLAGS} )
- string(REGEX MATCH -msse4.2
- HAVE_SSE4_2
- ${WIRESHARK_SIMD_FLAGS}
- )
+#
+# XXX - we're assuming MSVC supports the SSE 4.2 intrinsics and
+# that other C compilers support them iff they support the
+# -msse4.2 flag.
+#
+# Perhaps we should check whether we can compile something
+# that uses them, instead, and do something else to figure
+# out what compiler flag, if any, we need to pass to the
+# compiler to compile code that uses them.
+#
+if(CMAKE_C_COMPILER_ID MATCHES "MSVC")
+ set(HAVE_SSE4_2 TRUE)
+else()
+ message(STATUS "Checking for c-compiler flag: -msse4.2")
+ check_c_compiler_flag(-msse4.2 HAVE_SSE4_2)
endif()
check_c_compiler_flag(-fvisibility=hidden FVHIDDEN)