[QGIS Commit] r11424 - in trunk/qgis: cmake ms-windows/osgeo4w python

svn_qgis at osgeo.org svn_qgis at osgeo.org
Tue Aug 18 07:59:43 EDT 2009


Author: jef
Date: 2009-08-18 07:59:43 -0400 (Tue, 18 Aug 2009)
New Revision: 11424

Modified:
   trunk/qgis/cmake/Bison.cmake
   trunk/qgis/cmake/Flex.cmake
   trunk/qgis/cmake/Python.cmake
   trunk/qgis/ms-windows/osgeo4w/package.cmd
   trunk/qgis/python/CMakeLists.txt
Log:
cmake improvements

Modified: trunk/qgis/cmake/Bison.cmake
===================================================================
--- trunk/qgis/cmake/Bison.cmake	2009-08-18 11:55:05 UTC (rev 11423)
+++ trunk/qgis/cmake/Bison.cmake	2009-08-18 11:59:43 UTC (rev 11424)
@@ -4,7 +4,10 @@
 MACRO(FIND_BISON)
   IF(NOT BISON_EXECUTABLE)
     IF (MSVC)
-      FIND_PROGRAM(BISON_EXECUTABLE "$ENV{LIB_DIR}/bin/bison.exe")
+      FIND_PROGRAM(BISON_EXECUTABLE PATHS
+      		   NAMES bison.exe
+	           PATHS $ENV{LIB_DIR} $ENV{PROGRAMFILES}/GnuWin32/bin
+	)
     ELSE (MSVC)
       FIND_PROGRAM(BISON_EXECUTABLE bison)
     ENDIF (MSVC)

Modified: trunk/qgis/cmake/Flex.cmake
===================================================================
--- trunk/qgis/cmake/Flex.cmake	2009-08-18 11:55:05 UTC (rev 11423)
+++ trunk/qgis/cmake/Flex.cmake	2009-08-18 11:59:43 UTC (rev 11424)
@@ -4,9 +4,10 @@
 MACRO(FIND_FLEX)
     IF(NOT FLEX_EXECUTABLE)
       IF (MSVC)
-        FIND_PROGRAM(FLEX_EXECUTABLE 
-            "$ENV{LIB_DIR}/bin/flex.exe"
-	    )
+        FIND_PROGRAM(FLEX_EXECUTABLE
+                     NAMES flex.exe
+                     PATHS $ENV{LIB_DIR}/bin $ENV{PROGRAMFILES}/GnuWin32/bin
+                    )
       ELSE(MSVC)
         FIND_PROGRAM(FLEX_EXECUTABLE flex)
       ENDIF (MSVC)

Modified: trunk/qgis/cmake/Python.cmake
===================================================================
--- trunk/qgis/cmake/Python.cmake	2009-08-18 11:55:05 UTC (rev 11423)
+++ trunk/qgis/cmake/Python.cmake	2009-08-18 11:59:43 UTC (rev 11424)
@@ -7,11 +7,20 @@
 FIND_PACKAGE(PythonLibs) # MapServer export tool
 FIND_PACKAGE(PythonInterp) # test for sip and PyQt4
 
-FIND_PROGRAM(PYUIC4_PROGRAM pyuic4)
+IF(NOT PYUIC4_PROGRAM)
+  IF (MSVC)
+    FIND_PROGRAM(PYUIC4_PROGRAM
+      NAMES pyuic4.bat
+      PATHS $ENV{LIB_DIR}/bin
+    )
+  ELSE(MSVC)
+    FIND_PROGRAM(PYUIC4_PROGRAM pyuic4)
+  ENDIF (MSVC)
 
-IF(${PYUIC4_PROGRAM} STREQUAL "PYUIC4_PROGRAM-NOTFOUND")
-  MESSAGE(ERROR "pyuic4 is required")
-ENDIF(${PYUIC4_PROGRAM} STREQUAL "PYUIC4_PROGRAM-NOTFOUND")
+  IF (NOT PYUIC4_PROGRAM)
+    MESSAGE(FATAL_ERROR "pyuic4 not found - aborting")
+  ENDIF (NOT PYUIC4_PROGRAM)
+ENDIF(NOT PYUIC4_PROGRAM)
 
 # Adapted from QT4_WRAP_UI
 MACRO(PYQT4_WRAP_UI outfiles )
@@ -27,8 +36,21 @@
   ENDFOREACH(it)
 ENDMACRO(PYQT4_WRAP_UI)
 
-FIND_PROGRAM(PYRCC4_PROGRAM pyrcc4)
+IF(NOT PYRCC4_PROGRAM)
+  IF (MSVC)
+    FIND_PROGRAM(PYRCC4_PROGRAM
+      NAMES pyrcc4.exe
+      PATHS $ENV{LIB_DIR}/bin
+    )
+  ELSE(MSVC)
+    FIND_PROGRAM(PYRCC4_PROGRAM pyrcc4)
+  ENDIF (MSVC)
 
+  IF (NOT PYRCC4_PROGRAM)
+    MESSAGE(FATAL_ERROR "pyrcc4 not found - aborting")
+  ENDIF (NOT PYRCC4_PROGRAM)
+ENDIF(NOT PYRCC4_PROGRAM)
+
 # Adapted from QT4_ADD_RESOURCES
 MACRO (PYQT4_ADD_RESOURCES outfiles )
   FOREACH (it ${ARGN})

Modified: trunk/qgis/ms-windows/osgeo4w/package.cmd
===================================================================
--- trunk/qgis/ms-windows/osgeo4w/package.cmd	2009-08-18 11:55:05 UTC (rev 11423)
+++ trunk/qgis/ms-windows/osgeo4w/package.cmd	2009-08-18 11:59:43 UTC (rev 11424)
@@ -1,35 +1,47 @@
 @echo off
 set GRASS_VERSION=6.4.0svn
 
+set VERSION=%1
+set PACKAGE=%2
+if "%VERSION%"=="" goto error
+if "%PACKAGE%"=="" goto error
+
 path %SYSTEMROOT%\system32;%SYSTEMROOT%;%SYSTEMROOT%\System32\Wbem;%PROGRAMFILES%\CMake 2.6\bin
 set PYTHONPATH=
 
 set VS90COMNTOOLS=%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\Tools\
 call "%PROGRAMFILES%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
 
-set OSGEO4W_ROOT=%PROGRAMFILES%\OSGeo4W
+if "%OSGEO4W_ROOT%"=="" set OSGEO4W_ROOT=%PROGRAMFILES%\OSGeo4W
+if not exist "%OSGEO4W_ROOT%\bin\o4w_env.bat" goto error
+
 call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
 
+set BUILDDIR=%CD%\build
+REM set BUILDDIR=%TEMP%\qgis_unstable
+
 set O4W_ROOT=%OSGEO4W_ROOT:\=/%
 set LIB_DIR=%O4W_ROOT%
 
-set FLEX=%PROGRAMFILES%\GnuWin32\bin\flex.exe
-set BISON=%PROGRAMFILES%\GnuWin32\bin\bison.exe
-set PYUIC4=%O4W_ROOT%/bin/pyuic4.bat
+set DEVENV=
+if exist "%DevEnvDir%\vcexpress.exe" set DEVENV=vcexpress
+if exist "%DevEnvDir%\devenv.exe" set DEVENV=devenv
+if "%DEVENV%"=="" goto error
 
-set VERSION=%1
-set PACKAGE=%2
-if %VERSION%=="" goto error
-if %PACKAGE%=="" goto error
-
 PROMPT qgis%VERSION%$g 
 
 set BUILDCONF=RelWithDebInfo
 REM set BUILDCONF=Release
 
-if not exist build mkdir build
-if not exist build goto error
+if not exist "%BUILDDIR%" mkdir %BUILDDIR%
+if not exist "%BUILDDIR%" goto error
 
+cd ..\..
+set SRCDIR=%CD%
+
+if "%BUILDDIR:~1,1%"==":" %BUILDDIR:~0,2%
+cd %BUILDDIR%
+
 if not exist build.log goto build
 
 REM
@@ -55,10 +67,8 @@
 goto error
 
 :build
-set LOG=%CD%\build.log
+set LOG=%BUILDDIR%\build.log
 
-cd build
-
 echo Logging to %LOG%
 echo BEGIN: %DATE% %TIME%>>%LOG% 2>&1
 if errorlevel 1 goto error
@@ -76,9 +86,6 @@
         -D WITH_INTERNAL_SPATIALITE=TRUE ^
 	-D CMAKE_CONFIGURATION_TYPE=%BUILDCONF% ^
 	-D CMAKE_BUILDCONFIGURATION_TYPES=%BUILDCONF% ^
-	-D FLEX_EXECUTABLE=%FLEX% ^
-	-D BISON_EXECUTABLE=%BISON% ^
-	-D PYUIC4_PROGRAM=%PYUIC4% ^
 	-D GDAL_INCLUDE_DIR=%O4W_ROOT%/apps/gdal-16/include ^
 	-D GDAL_LIBRARY=%O4W_ROOT%/apps/gdal-16/lib/gdal_i.lib ^
 	-D PYTHON_EXECUTABLE=%O4W_ROOT%/bin/python.exe ^
@@ -92,7 +99,7 @@
 	-D QT_ZLIB_LIBRARY=%O4W_ROOT%/lib/zlib.lib ^
 	-D QT_PNG_LIBRARY=%O4W_ROOT%/lib/libpng13.lib ^
 	-D CMAKE_INSTALL_PREFIX=%O4W_ROOT%/apps/qgis-dev ^
-	../../..>>%LOG% 2>&1
+	%SRCDIR%>>%LOG% 2>&1
 if errorlevel 1 goto error
 
 REM bail out if python or grass was not found
@@ -102,15 +109,15 @@
 :skipcmake
 
 echo ZERO_CHECK: %DATE% %TIME%>>%LOG% 2>&1
-devenv qgis%VERSION%.sln /Project ZERO_CHECK /Build %BUILDCONF% /Out %LOG%>>%LOG% 2>&1
+%DEVENV% qgis%VERSION%.sln /Project ZERO_CHECK /Build %BUILDCONF% /Out %LOG%>>%LOG% 2>&1
 if errorlevel 1 goto error 
 
 echo ALL_BUILD: %DATE% %TIME%>>%LOG% 2>&1
-devenv qgis%VERSION%.sln /Project ALL_BUILD /Build %BUILDCONF% /Out %LOG%>>%LOG% 2>&1
+%DEVENV% qgis%VERSION%.sln /Project ALL_BUILD /Build %BUILDCONF% /Out %LOG%>>%LOG% 2>&1
 if errorlevel 1 goto error 
 
 echo INSTALL: %DATE% %TIME%>>%LOG% 2>&1
-devenv qgis%VERSION%.sln /Project INSTALL /Build %BUILDCONF% /Out %LOG%>>%LOG% 2>&1
+%DEVENV% qgis%VERSION%.sln /Project INSTALL /Build %BUILDCONF% /Out %LOG%>>%LOG% 2>&1
 if errorlevel 1 goto error
 
 echo PACKAGE: %DATE% %TIME%>>%LOG% 2>&1

Modified: trunk/qgis/python/CMakeLists.txt
===================================================================
--- trunk/qgis/python/CMakeLists.txt	2009-08-18 11:55:05 UTC (rev 11423)
+++ trunk/qgis/python/CMakeLists.txt	2009-08-18 11:59:43 UTC (rev 11424)
@@ -26,7 +26,6 @@
 SET (BINDINGS_CORE_MAKEFILE ${CMAKE_CURRENT_BINARY_DIR}/core/Makefile)
 SET (BINDINGS_GUI_MAKEFILE  ${CMAKE_CURRENT_BINARY_DIR}/gui/Makefile)
 
-
 # 'python' target will force to build bindings libs for core and gui
 ADD_CUSTOM_TARGET (python ALL DEPENDS ${BINDINGS_CORE_LIB} ${BINDINGS_GUI_LIB})
 
@@ -36,13 +35,6 @@
 FILE(GLOB CORE_SIP_FILES "${CMAKE_CURRENT_SOURCE_DIR}/core/*.sip")
 FILE(GLOB GUI_SIP_FILES  "${CMAKE_CURRENT_SOURCE_DIR}/gui/*.sip")
 
-# Extract GDAL library path and name for configure.py.in
-STRING(REGEX REPLACE "^(.*)/.*$" "\\1" GDAL_LIB_PATH ${GDAL_LIBRARY})
-STRING(REGEX REPLACE "^.*/(lib)?(.*)\\.[^.]+$" "\\2" GDAL_LIB_NAME ${GDAL_LIBRARY})
-# Extract GEOS library path and name for configure.py.in
-STRING(REGEX REPLACE "^(.*)/.*$" "\\1" GEOS_LIB_PATH ${GEOS_LIBRARY})
-STRING(REGEX REPLACE "^.*/(lib)?(.*)\\.[^.]+$" "\\2" GEOS_LIB_NAME ${GEOS_LIBRARY})
-
 # Step 1: during configuration
 # create file configure.py from configure.py.in
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/configure.py.in



More information about the QGIS-commit mailing list