diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 9ba93f40..76e99c39 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -39,7 +39,10 @@ endif(BUILD_tests) include(${CMAKE_CURRENT_LIST_DIR}/ConfigureChecks.cmake) -set(EXTRA_LINK_AND_COMPILE_FLAGS "-fno-strict-aliasing") +set(EXTRA_LINK_AND_COMPILE_FLAGS) +if(FLAG_NO_STRICT_ALIASING) + set(EXTRA_LINK_AND_COMPILE_FLAGS "${EXTRA_LINK_AND_COMPILE_FLAGS} -fno-strict-aliasing") +endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_LINK_AND_COMPILE_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_LINK_AND_COMPILE_FLAGS}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_LINK_AND_COMPILE_FLAGS}") diff --git a/expat/ConfigureChecks.cmake b/expat/ConfigureChecks.cmake index 2771a743..6e440ca0 100644 --- a/expat/ConfigureChecks.cmake +++ b/expat/ConfigureChecks.cmake @@ -1,3 +1,4 @@ +include(CheckCCompilerFlag) include(CheckIncludeFile) include(CheckIncludeFiles) include(CheckFunctionExists) @@ -42,3 +43,5 @@ endif(HAVE_SYS_TYPES_H) configure_file(expat_config.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/expat_config.h") add_definitions(-DHAVE_EXPAT_CONFIG_H) + +check_c_compiler_flag("-fno-strict-aliasing" FLAG_NO_STRICT_ALIASING)