summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sebastian@pipping.org>2021-12-27 20:45:04 +0100
committerSebastian Pipping <sebastian@pipping.org>2021-12-27 22:14:18 +0100
commitbefef7e52ada1f9382bec74af7226f4b84054c57 (patch)
tree76d131960e8336e7dcdece4c3d6fe8835e5b19ff
parent58d1f13d313534e593f97cb46da24c18468bd3b5 (diff)
downloadlibexpat-git-befef7e52ada1f9382bec74af7226f4b84054c57.tar.gz
CMake: Add unofficial flag for passing 32bit compile flag -m32
-rw-r--r--expat/CMakeLists.txt20
1 files changed, 20 insertions, 0 deletions
diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt
index 7e5b9590..ab3b8d8c 100644
--- a/expat/CMakeLists.txt
+++ b/expat/CMakeLists.txt
@@ -151,6 +151,9 @@ mark_as_advanced(EXPAT_MIN_SIZE)
if(MSVC OR _EXPAT_HELP)
set(EXPAT_MSVC_STATIC_CRT OFF CACHE BOOL "Use /MT flag (static CRT) when compiling in MSVC")
endif()
+if(NOT _EXPAT_HELP)
+ set(_EXPAT_M32 OFF CACHE BOOL "(Unofficial!) Produce 32bit code with -m32")
+endif()
if(EXPAT_BUILD_TESTS)
# We have to call enable_language() before modifying any CMAKE_CXX_* variables
@@ -322,6 +325,23 @@ if (MSVC)
endif()
endif()
+if(_EXPAT_M32 AND NOT MSVC)
+ foreach(flag_var
+ CMAKE_CXX_FLAGS_${_EXPAT_BUILD_TYPE_UPPER}
+ CMAKE_CXX_FLAGS_DEBUG
+ CMAKE_CXX_FLAGS_RELEASE
+ CMAKE_CXX_FLAGS_MINSIZEREL
+ CMAKE_CXX_FLAGS_RELWITHDEBINFO
+ CMAKE_C_FLAGS_${_EXPAT_BUILD_TYPE_UPPER}
+ CMAKE_C_FLAGS_DEBUG
+ CMAKE_C_FLAGS_RELEASE
+ CMAKE_C_FLAGS_MINSIZEREL
+ CMAKE_C_FLAGS_RELWITHDEBINFO
+ )
+ set(${flag_var} "${${flag_var}} -m32")
+ endforeach()
+endif()
+
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/lib)
if(MSVC)
add_definitions(-D_CRT_SECURE_NO_WARNINGS -wd4996)