summaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2015-06-18 08:46:26 +0200
committerStanislaw Halik <sthalik@misaki.pl>2015-06-18 08:46:26 +0200
commita001c2b6de41f4593ae94005ed5449ef5589ab4d (patch)
treebe18aa8ee57fa34a0e3d4947798973535207b973 /cmake
parent3fafaac47277ff5932aad10e02bd1cd5470f41a5 (diff)
cmake: add toolchain debug version
Diffstat (limited to 'cmake')
-rw-r--r--cmake/mingw-w64-debug.cmake38
1 files changed, 38 insertions, 0 deletions
diff --git a/cmake/mingw-w64-debug.cmake b/cmake/mingw-w64-debug.cmake
new file mode 100644
index 00000000..7a371e5d
--- /dev/null
+++ b/cmake/mingw-w64-debug.cmake
@@ -0,0 +1,38 @@
+# this file only serves as toolchain file when specified so explicitly
+# when building the software. from repository's root directory:
+# mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$(pwd)/../cmake/mingw-w64.cmake
+# -sh 20140922
+
+SET(CMAKE_SYSTEM_NAME Windows)
+SET(CMAKE_SYSTEM_VERSION 1)
+
+# specify the cross compiler
+set(c i686-w64-mingw32-)
+
+SET(CMAKE_C_COMPILER ${c}gcc)
+SET(CMAKE_CXX_COMPILER ${c}g++)
+set(CMAKE_RC_COMPILER ${c}windres)
+set(CMAKE_LINKER ${c}ld)
+set(CMAKE_AR ${c}gcc-ar CACHE STRING "" FORCE)
+set(CMAKE_NM ${c}gcc-nm CACHE STRING "" FORCE)
+set(CMAKE_RANLIB ${c}gcc-ranlib CACHE STRING "" FORCE)
+
+SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32)
+
+# search for programs in the host directories
+SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+# don't poison with system compile-time data
+SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
+set(cpu "-O2 -march=i686 -mtune=corei7-avx -ffast-math -mfpmath=both -msse -msse2 -mno-sse3 -mno-avx")
+set(rice "-ggdb")
+
+set(CFLAGS-OVERRIDE "" CACHE STRING "")
+
+set(CMAKE_C_FLAGS_RELEASE "${rice} ${cpu} ${CFLAGS-OVERRIDE}" CACHE STRING "" FORCE)
+set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} CACHE STRING "" FORCE)
+set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${cpu} ${CFLAGS-OVERRIDE}" CACHE STRING "" FORCE)
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "" FORCE)
+set(CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "" FORCE)
+set(CMAKE_BUILD_TYPE "RELEASE" CACHE STRING "" FORCE)