aboutsummaryrefslogtreecommitdiff
path: root/cmake/compiler
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2013-03-09 00:12:50 +0000
committerNay <dnpd.dd@gmail.com>2013-03-09 00:12:50 +0000
commitc7463c5f6cd3d882a960eff2cbd414f33ddf0b32 (patch)
treeab23a6a592b381e6b0f2e63ba88fc1e38b90856a /cmake/compiler
parent2dbe3d6cfe2d174b5edf9fdb6720fee21c7009d2 (diff)
Buildsystem: Add support for compiling with MinGW on Windows
Tested with: - Windows 8 x64 - MySQL 5.5.30 win32 - OpenSSL 1.0.1c (32 bits) - No PCH - MinGW with GCC 4.7.0 TODO: - Fix compile/link with PCH enabled - Fix compile with WheatyExceptonionReport enabled (ignored for now) - Fix compile of .rc files (ignored for now) - Test with more platforms
Diffstat (limited to 'cmake/compiler')
-rw-r--r--cmake/compiler/mingw/settings.cmake27
1 files changed, 27 insertions, 0 deletions
diff --git a/cmake/compiler/mingw/settings.cmake b/cmake/compiler/mingw/settings.cmake
new file mode 100644
index 00000000000..68156bd0b6b
--- /dev/null
+++ b/cmake/compiler/mingw/settings.cmake
@@ -0,0 +1,27 @@
+# set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+
+# Set build-directive (used in core to tell which buildtype we used)
+add_definitions(-D_BUILD_DIRECTIVE=\\"${CMAKE_BUILD_TYPE}\\")
+
+if(PLATFORM EQUAL 32)
+ # Required on 32-bit systems to enable SSE2 (standard on x64)
+ set(SSE_FLAGS "-msse2 -mfpmath=sse")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SSE_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SSE_FLAGS}")
+endif()
+add_definitions(-DHAVE_SSE2 -D__SSE2__)
+message(STATUS "GCC: SFMT enabled, SSE2 flags forced")
+
+if( WITH_WARNINGS )
+ set(WARNING_FLAGS "-W -Wall -Wextra -Winit-self -Winvalid-pch -Wfatal-errors")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} -Woverloaded-virtual")
+ message(STATUS "GCC: All warnings enabled")
+endif()
+
+if( WITH_COREDEBUG )
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
+ message(STATUS "GCC: Debug-flags set (-g3)")
+endif()