Skip to content

Instantly share code, notes, and snippets.

@caetanus
Created August 4, 2013 20:38
Show Gist options
  • Select an option

  • Save caetanus/6151845 to your computer and use it in GitHub Desktop.

Select an option

Save caetanus/6151845 to your computer and use it in GitHub Desktop.
wincross
#
# qmake configuration for win32-g++
#
# Written for MinGW
#
# Cross compile example for i686-w64-mingw32-g++:
# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
#
MAKEFILE_GENERATOR = MINGW
load(device_config)
equals(QMAKE_HOST.os, Windows): EXE_SUFFIX = .exe
#msvc
#CROSS_COMPILE=i586-mingw32msvc-
#w64
CROSS_COMPILE=i686-w64-mingw32-
CROSS_QT = $(HOME)/tcf_client_deps_win/Qt/4.8.4
CROSS_LIB = $${CROSS_QT}/lib
CROSS_HEADERS = $${CROSS_QT}/include
CROSS_INSTALL_HEADERS = $${CROSS_HEADERS}
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtCore
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtDBus
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/phonon_compat
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtNetwork
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtMeeGoGraphicsSystemHelper
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtSvg
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtOpenGL
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtMultimedia
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtXmlPatterns
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/Qt
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtScriptTools
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtWebKit
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtScript
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/ActiveQt
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtGui
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtSql
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtTest
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtHelp
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtDesigner
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/Qt3Support
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtUiTools
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtOpenVG
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/phonon
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtXml
CROSS_INSTALL_HEADERS += $${CROSS_HEADERS}/QtDeclarative
TEMPLATE = app
CONFIG += qt link_prl copy_dir_files precompile_header
QT += core gui
DEFINES += UNICODE QT_LARGEFILE_SUPPORT
QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
QMAKE_EXT_OBJ = .o
QMAKE_EXT_RES = _res.o
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = byacc
QMAKE_YACCFLAGS = -d
QMAKE_CFLAGS = -pipe
QMAKE_CFLAGS_DEPS = -M
QMAKE_CFLAGS_WARN_ON = -Wall -Wextra
QMAKE_CFLAGS_WARN_OFF = -w
QMAKE_CFLAGS_RELEASE = -O2
QMAKE_CFLAGS_DEBUG = -g
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
QMAKE_CXXFLAGS_RTTI_ON = -frtti
QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
QMAKE_INCDIR =
QMAKE_INCDIR_QT = $${CROSS_INSTALL_HEADERS}
QMAKE_LIBDIR_QT = $$CROSS_LIB
QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
QMAKE_LINK = $${CROSS_COMPILE}g++
QMAKE_LINK_C = $${CROSS_COMPILE}gcc
QMAKE_LFLAGS =
QMAKE_LFLAGS += -static-libgcc -static-libstdc++
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
QMAKE_LFLAGS_EXCEPTIONS_OFF =
QMAKE_LFLAGS_RELEASE = -Wl,-s
QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
QMAKE_LFLAGS_DLL = -shared
QMAKE_LINK_OBJECT_MAX = 20
QMAKE_LINK_OBJECT_SCRIPT= object_script
QMAKE_PREFIX_STATICLIB = lib
QMAKE_EXTENSION_STATICLIB = a
QMAKE_LIBS =
QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
QMAKE_LIBS_NETWORK = -lws2_32
QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
!isEmpty(QMAKE_SH) {
MINGW_IN_SHELL = 1
QMAKE_DIR_SEP = /
QMAKE_QMAKE ~= s,\\\\,/,
QMAKE_COPY = cp
QMAKE_COPY_DIR = cp -r
QMAKE_MOVE = mv
QMAKE_DEL_FILE = rm
QMAKE_MKDIR = mkdir -p
QMAKE_DEL_DIR = rmdir
QMAKE_CHK_DIR_EXISTS = test -d
} else {
QMAKE_COPY = copy /y
QMAKE_COPY_DIR = xcopy /s /q /y /i
QMAKE_MOVE = move
QMAKE_DEL_FILE = del
QMAKE_MKDIR = mkdir
QMAKE_DEL_DIR = rmdir
QMAKE_CHK_DIR_EXISTS = if not exist
}
QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc$${EXE_SUFFIX}
QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic$${EXE_SUFFIX}
QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc$${EXE_SUFFIX}
QMAKE_IDL = midl
QMAKE_LIB = $${CROSS_COMPILE}ar -ru
QMAKE_RC = $${CROSS_COMPILE}windres
QMAKE_ZIP = zip -r -9
QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
load(qt_config)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment