diff options
author | Nay <dnpd.dd@gmail.com> | 2013-03-09 00:12:50 +0000 |
---|---|---|
committer | Nay <dnpd.dd@gmail.com> | 2013-03-09 00:12:50 +0000 |
commit | c7463c5f6cd3d882a960eff2cbd414f33ddf0b32 (patch) | |
tree | ab23a6a592b381e6b0f2e63ba88fc1e38b90856a /cmake/compiler | |
parent | 2dbe3d6cfe2d174b5edf9fdb6720fee21c7009d2 (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.cmake | 27 |
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() |