Browse Source

BUG: QtMobility: fix supberbuild on Windows with Visual Studio

Sascha Zelzer 15 years ago
parent
commit
7ef2e3c351

+ 5 - 3
CMakeLists.txt

@@ -12,9 +12,11 @@ PROJECT(CTK)
 SET(CTK_LIBRARY_MODE "SHARED")
 SET(CTK_BUILD_SHARED_LIBS TRUE)
 
-# Set the default symbol visibility to hidden for gcc
-IF(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
-  SET(CTK_CXX_FLAGS "-fvisibility=hidden -fvisibility-inlines-hidden")
+IF(CMAKE_CXX_COMPILER_ID)
+  # Set the default symbol visibility to hidden for gcc
+  IF(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
+    SET(CTK_CXX_FLAGS "-fvisibility=hidden -fvisibility-inlines-hidden")
+  ENDIF()
 ENDIF()
 
 #-----------------------------------------------------------------------------

+ 13 - 1
SuperBuild.cmake

@@ -44,6 +44,9 @@ set(sep "^^")
 # (e.g. for QtMobility)
 find_program(Git_EXECUTABLE git DOC "git command line client")
 mark_as_advanced(Git_EXECUTABLE)
+if(NOT Git_EXECUTABLE)
+  message(SEND_ERROR "Set Git_EXECUTABLE to the path of your git executable")
+endif()
 
 #-----------------------------------------------------------------------------
 # Update CMake module path
@@ -183,13 +186,22 @@ IF(${add_project})
   ELSEIF(NOT ${CMAKE_CFG_INTDIR} STREQUAL "Release")
   SET(qtmobility_build_type "debug")
   ENDIf()
+  
+  SET(qtmobility_make_cmd)
+  IF(UNIX OR MINGW)
+    SET(qtmobility_make_cmd make)
+  ELSEIF(WIN32)
+    SET(qtmobility_make_cmd nmake)
+  ENDIF()
 
   ExternalProject_Add(${proj}
     GIT_REPOSITORY git://gitorious.org/qt-mobility/qt-mobility.git
     # the patch command is also used to checkout the 1.0 branch    
     PATCH_COMMAND ${CMAKE_COMMAND} -P ${qtmobility_patchscript}
     CONFIGURE_COMMAND <SOURCE_DIR>/configure -${qtmobility_build_type} -libdir ${CMAKE_BINARY_DIR}/CTK-build/bin -no-docs -modules ${qtmobility_modules}
-    BUILD_IN_SOURCE 1
+    BUILD_COMMAND ${qtmobility_make_cmd}
+	INSTALL_COMMAND ${qtmobility_make_cmd} install
+	BUILD_IN_SOURCE 1
     )
 ENDIF()
 

+ 1 - 1
Utilities/QtMobility/QtMobilityBeta1-patch.cmake.in

@@ -28,4 +28,4 @@ IF(UNIX)
 ENDIF()
 
 # Apply patches
-ctkMacroApplyPatches(@CTK_PATCH_EXECUTABLE@ @qtmobility_src_dir@ "${patch_files}")
+ctkMacroApplyPatches("@CTK_PATCH_EXECUTABLE@" "@qtmobility_src_dir@" "${patch_files}")

+ 1 - 1
Utilities/QtMobility/QtMobilityGitBranch1.0-patch.cmake.in

@@ -43,7 +43,7 @@ IF(UNIX)
 ENDIF()
 
 # Apply patches
-ctkMacroApplyPatches(@CTK_PATCH_EXECUTABLE@ @qtmobility_src_dir@ "${patch_files}")
+ctkMacroApplyPatches("@CTK_PATCH_EXECUTABLE@" "@qtmobility_src_dir@" "${patch_files}")
 
 IF(UNIX)
 

+ 31 - 20
Utilities/QtMobility/QtMobilityGitBranch1.0-win32.patch.in

@@ -1,20 +1,31 @@
-diff -crB ../qt-mobility-src-1.0.0-beta1/configure.bat configure.bat
-*** ./qt-mobility-src-1.0.0-beta1/configure.bat	2010-02-12 03:54:12.000000000 -0500
---- configure.bat	2010-03-18 13:19:42.000000000 -0400
-***************
-*** 60,66 ****
-  set MOBILITY_MODULES=bearer location contacts multimedia publishsubscribe versit messaging systeminfo serviceframework sensors
-  set MOBILITY_MODULES_UNPARSED=
-  set VC_TEMPLATE_OPTION=
-! set QT_PATH=
-  set QMAKE_CACHE=%BUILD_PATH%\.qmake.cache
-  
-  if exist "%QMAKE_CACHE%" del %QMAKE_CACHE%
---- 60,66 ----
-  set MOBILITY_MODULES=bearer location contacts multimedia publishsubscribe versit messaging systeminfo serviceframework sensors
-  set MOBILITY_MODULES_UNPARSED=
-  set VC_TEMPLATE_OPTION=
-! set QT_PATH=@QT_BINARY_DIR@/
-  set QMAKE_CACHE=%BUILD_PATH%\.qmake.cache
-  
-  if exist "%QMAKE_CACHE%" del %QMAKE_CACHE%
+--- C:/development/CTK-master-vc9/CMakeExternals/Source/QtMobility/configure_orig.bat	Sun Apr 11 18:17:43 2010
++++ C:/development/CTK-master-vc9/CMakeExternals/Source/QtMobility/configure.bat	Sun Apr 11 21:19:33 2010
+@@ -60,7 +60,7 @@
+ set MOBILITY_MODULES=bearer location contacts multimedia publishsubscribe versit messaging systeminfo serviceframework sensors
+ set MOBILITY_MODULES_UNPARSED=
+ set VC_TEMPLATE_OPTION=
+-set QT_PATH=
++set QT_PATH=@QT_BINARY_DIR@\
+ set QMAKE_CACHE=%BUILD_PATH%\.qmake.cache
+ 
+ if exist "%QMAKE_CACHE%" del %QMAKE_CACHE%
+@@ -457,10 +457,15 @@
+ echo.
+ echo Start of compile tests
+ REM compile tests go here.
+-call :compileTest LBT lbt
+-call :compileTest SNAP snap
+-call :compileTest OCC occ
+-call :compileTest SymbianContactSIM symbiancntsim
++REM for CTK the compile tests generate errors in Visual Studio -> just disabling them
++REM call :compileTest LBT lbt
++echo lbt_enabled = no >> %PROJECT_CONFIG%
++REM call :compileTest SNAP snap
++echo snap_enabled = no >> %PROJECT_CONFIG%
++REM call :compileTest OCC occ
++echo occ_enabled = no >> %PROJECT_CONFIG%
++REM call :compileTest SymbianContactSIM symbiancntsim
++echo symbiancntsim_enabled = no >> %PROJECT_CONFIG%
+ echo End of compile tests
+ echo.
+ echo.