From aed2d69ff82f54784e5cd014379e489bcd9e7af9 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 2 Jan 2011 00:59:46 +0100 Subject: [PATCH] Build system: revised Qt4 detection for Win32/Win64 builds I updated the MinGW cross compiling packages to come alogn with Qt 4.7 and a revised build architecture. Qt's devel tools such as qmake, moc & friends are now built natively and allow using them like native Qt installations. This means there's less to hardcode in the MinGWCrossCompile file. --- CMakeLists.txt | 13 ++++--------- cmake/modules/MinGWCrossCompile.cmake | 11 +---------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index faf06c3e8b..824592566a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -86,18 +86,13 @@ CHECK_INCLUDE_FILES(process.h LMMS_HAVE_PROCESS_H) CHECK_INCLUDE_FILES(locale.h LMMS_HAVE_LOCALE_H) # check for Qt4 -SET(QT_MIN_VERSION "4.3.0") +SET(QT_MIN_VERSION "4.3.0" COMPONENTS QtCore QtGui QtXml) FIND_PACKAGE(Qt4 REQUIRED) SET(QT_USE_QTXML 1) EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_TRANSLATIONS" OUTPUT_VARIABLE QT_TRANSLATIONS_DIR) -IF(LMMS_BUILD_WIN32) - SET(QT_TRANSLATIONS_DIR "/opt/mingw32/share/qt4/translations/") - # hack to allow making moc.exe a symlink to native moc-binary in compatible version - SET(QT_MOC_EXECUTABLE ${QT_BINARY_DIR}/moc.exe) -ENDIF(LMMS_BUILD_WIN32) -IF(LMMS_BUILD_WIN64) - SET(QT_TRANSLATIONS_DIR "/opt/mingw64/share/qt4/translations/") -ENDIF(LMMS_BUILD_WIN64) +IF(WIN32) + SET(QT_TRANSLATIONS_DIR "${MINGW_PREFIX}/share/qt4/translations/") +ENDIF(WIN32) IF(EXISTS "${QT_TRANSLATIONS_DIR}") MESSAGE("-- Found Qt translations in ${QT_TRANSLATIONS_DIR}") ADD_DEFINITIONS(-D'QT_TRANSLATIONS_DIR="${QT_TRANSLATIONS_DIR}"') diff --git a/cmake/modules/MinGWCrossCompile.cmake b/cmake/modules/MinGWCrossCompile.cmake index 57d7e69098..fa711625c5 100644 --- a/cmake/modules/MinGWCrossCompile.cmake +++ b/cmake/modules/MinGWCrossCompile.cmake @@ -26,16 +26,7 @@ SET(WINDRES ${MINGW_TOOL_PREFIX}windres) SET(PKG_CONFIG_EXECUTABLE ${MINGW_TOOL_PREFIX}pkg-config) SET(QT_BINARY_DIR ${MINGW_PREFIX}/bin) -SET(QT_LIBRARY_DIR ${MINGW_PREFIX}/lib) -SET(QT_QTCORE_LIBRARY ${MINGW_PREFIX}/lib/libQtCore4.a) -SET(QT_INCLUDE_DIR ${MINGW_PREFIX}/include/qt4) -SET(QT_HEADERS_DIR ${MINGW_PREFIX}/include/qt4) -SET(QT_QTCORE_INCLUDE_DIR ${MINGW_PREFIX}/include/qt4/QtCore) -SET(QT_MKSPECS_DIR ${MINGW_PREFIX}/share/qt4/mkspecs) -SET(QT_MOC_EXECUTABLE ${QT_BINARY_DIR}/moc.exe) -SET(QT_RCC_EXECUTABLE ${QT_BINARY_DIR}/rcc.exe) -SET(QT_QMAKE_EXECUTABLE /usr/bin/qmake) -SET(QT_UIC_EXECUTABLE ${QT_BINARY_DIR}/uic.exe) +SET(QT_QMAKE_EXECUTABLE ${QT_BINARY_DIR}/qmake) # search for programs in the build host directories SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)