[CMake] patch : Qt Static on windows
John Biddiscombe
biddisco at cscs.ch
Fri May 12 12:39:30 EDT 2006
> I've removed all trace of them and done a couple of test builds. All ok
> so far.
oops. there is an SQL reference. I've put back the QT_GUI_LIB as an
always defined.
JB
-------------- next part --------------
Index: Modules/FindQt4.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindQt4.cmake,v
retrieving revision 1.30
diff -u -r1.30 FindQt4.cmake
--- Modules/FindQt4.cmake 11 May 2006 14:41:42 -0000 1.30
+++ Modules/FindQt4.cmake 12 May 2006 16:38:56 -0000
@@ -165,12 +165,6 @@
SET(QT_USE_FILE ${CMAKE_ROOT}/Modules/UseQt4.cmake)
-SET( QT_DEFINITIONS "")
-
-IF (WIN32)
- SET(QT_DEFINITIONS -DQT_DLL)
-ENDIF(WIN32)
-
# check for qmake
FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake qmake-qt4 PATHS
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
@@ -180,6 +174,7 @@
SET(QT4_INSTALLED_VERSION_TOO_OLD FALSE)
+SET(QT_DEFINITIONS "-DQT_GUI_LIB")
IF (QT_QMAKE_EXECUTABLE)
@@ -854,7 +849,23 @@
SET(QT_QTCORE_LIBRARY ${QT_QTCORE_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
ENDIF(UNIX)
-
+ #######################################
+ #
+ # if Qt Static build on windows,
+ #
+ #######################################
+ IF (WIN32)
+ # if Qt was built as a static lib then don't set QT_DLL flag
+ IF(EXISTS ${QT_LIBRARY_DIR}/QtCore.prl)
+ FILE(READ ${QT_LIBRARY_DIR}/QtCore.prl QT_CORE_PRL)
+ IF(${QT_CORE_PRL} MATCHES "static")
+ SET(QT_STATIC 1)
+ ELSE(${QT_CORE_PRL} MATCHES "static")
+ SET(QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_DLL)
+ ENDIF(${QT_CORE_PRL} MATCHES "static")
+ ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtCore.prl)
+ ENDIF(WIN32)
+
#######################################
#
# compatibility settings
Index: Modules/UseQt4.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/UseQt4.cmake,v
retrieving revision 1.4
diff -u -r1.4 UseQt4.cmake
--- Modules/UseQt4.cmake 27 Apr 2006 19:07:23 -0000 1.4
+++ Modules/UseQt4.cmake 12 May 2006 16:26:14 -0000
@@ -13,7 +13,6 @@
IF (NOT QT_DONT_USE_QTCORE)
IF (QT_QTCORE_FOUND)
INCLUDE_DIRECTORIES(${QT_QTCORE_INCLUDE_DIR})
- ADD_DEFINITIONS(-DQT_CORE_LIB)
IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
SET(QT_LIBRARIES ${QT_LIBRARIES}
optimized "${QT_QTCORE_LIBRARY}"
@@ -35,7 +34,6 @@
IF (NOT QT_DONT_USE_QTGUI)
IF (QT_QTGUI_FOUND)
INCLUDE_DIRECTORIES(${QT_QTGUI_INCLUDE_DIR})
- ADD_DEFINITIONS(-DQT_GUI_LIB)
IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
SET(QT_LIBRARIES ${QT_LIBRARIES}
optimized "${QT_QTGUI_LIBRARY}"
@@ -57,7 +55,6 @@
IF (QT_USE_QT3SUPPORT)
IF (QT_QT3SUPPORT_FOUND)
INCLUDE_DIRECTORIES(${QT_QT3SUPPORT_INCLUDE_DIR})
- ADD_DEFINITIONS(-DQT3_SUPPORT)
IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
SET(QT_LIBRARIES ${QT_LIBRARIES}
optimized "${QT_QT3SUPPORT_LIBRARY}"
@@ -135,7 +132,6 @@
IF (QT_USE_QTNETWORK)
IF (QT_QTNETWORK_FOUND)
INCLUDE_DIRECTORIES(${QT_QTNETWORK_INCLUDE_DIR})
- ADD_DEFINITIONS(-DQT_NETWORK_LIB)
IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
SET(QT_LIBRARIES ${QT_LIBRARIES}
optimized "${QT_QTNETWORK_LIBRARY}"
@@ -168,7 +164,6 @@
IF (QT_USE_QTOPENGL)
IF (QT_QTOPENGL_FOUND)
INCLUDE_DIRECTORIES(${QT_QTOPENGL_INCLUDE_DIR})
- ADD_DEFINITIONS(-DQT_OPENGL_LIB)
IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
SET(QT_LIBRARIES ${QT_LIBRARIES}
optimized "${QT_QTOPENGL_LIBRARY}"
@@ -185,7 +180,6 @@
IF (QT_USE_QTSQL)
IF (QT_QTSQL_FOUND)
INCLUDE_DIRECTORIES(${QT_QTSQL_INCLUDE_DIR})
- ADD_DEFINITIONS(-DQT_SQL_LIB)
IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
SET(QT_LIBRARIES ${QT_LIBRARIES}
optimized "${QT_QTSQL_LIBRARY}"
@@ -202,7 +196,6 @@
IF (QT_USE_QTXML)
IF (QT_QTXML_FOUND)
INCLUDE_DIRECTORIES(${QT_QTXML_INCLUDE_DIR})
- ADD_DEFINITIONS(-DQT_XML_LIB)
IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
SET(QT_LIBRARIES ${QT_LIBRARIES}
optimized "${QT_QTXML_LIBRARY}"
More information about the CMake
mailing list