]> granicus.if.org Git - libexpat/commitdiff
CMake: set -fno-strict-aliasing only if the compiler supports it
authorRolf Eike Beer <eb@emlix.com>
Wed, 2 Aug 2017 11:13:53 +0000 (13:13 +0200)
committerRolf Eike Beer <eike@sf-mail.de>
Sat, 5 Aug 2017 13:05:51 +0000 (15:05 +0200)
expat/CMakeLists.txt
expat/ConfigureChecks.cmake

index 9ba93f400b04c9468a26fc2f141f5c3557b50977..76e99c3941abf4ad92c23d20740c802cf0f3fd2c 100644 (file)
@@ -39,7 +39,10 @@ endif(BUILD_tests)
 \r
 include(${CMAKE_CURRENT_LIST_DIR}/ConfigureChecks.cmake)\r
 \r
-set(EXTRA_LINK_AND_COMPILE_FLAGS "-fno-strict-aliasing")\r
+set(EXTRA_LINK_AND_COMPILE_FLAGS)\r
+if(FLAG_NO_STRICT_ALIASING)\r
+    set(EXTRA_LINK_AND_COMPILE_FLAGS "${EXTRA_LINK_AND_COMPILE_FLAGS} -fno-strict-aliasing")\r
+endif()\r
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_LINK_AND_COMPILE_FLAGS}")\r
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_LINK_AND_COMPILE_FLAGS}")\r
 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_LINK_AND_COMPILE_FLAGS}")\r
index 2771a743e384ace4bdd6ee6a06f0db370ffcdd25..6e440ca03d614684dbc80efda79ceb97b9d8fcca 100644 (file)
@@ -1,3 +1,4 @@
+include(CheckCCompilerFlag)\r
 include(CheckIncludeFile)\r
 include(CheckIncludeFiles)\r
 include(CheckFunctionExists)\r
@@ -42,3 +43,5 @@ endif(HAVE_SYS_TYPES_H)
 \r
 configure_file(expat_config.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/expat_config.h")\r
 add_definitions(-DHAVE_EXPAT_CONFIG_H)\r
+\r
+check_c_compiler_flag("-fno-strict-aliasing" FLAG_NO_STRICT_ALIASING)\r