Skip to content
Permalink
Browse files

updates and fixes for windows qt5/py3 build

  • Loading branch information
jef-n committed Jan 24, 2017
1 parent ea116fd commit 6a56cb0dd09338b145820542d89e9ef5c923adba
Showing with 453 additions and 636 deletions.
  1. +8 −7 CMakeLists.txt
  2. +1 −1 cmake/FindProj.cmake
  3. +0 −6 cmake/SIPMacros.cmake
  4. +3 −1 ms-windows/osgeo4w/browser-grass.bat.tmpl
  5. +3 −1 ms-windows/osgeo4w/browser.bat.tmpl
  6. +2 −1 ms-windows/osgeo4w/designer.bat.tmpl
  7. +7 −0 ms-windows/osgeo4w/ninja/ninja.bat
  8. +22 −0 ms-windows/osgeo4w/ninja/ninja.sln
  9. +108 −0 ms-windows/osgeo4w/ninja/ninja.vcxproj
  10. +31 −27 ms-windows/osgeo4w/package-nightly.cmd
  11. +35 −25 ms-windows/osgeo4w/package.cmd
  12. +1 −0 ms-windows/osgeo4w/postinstall-common.bat
  13. +3 −1 ms-windows/osgeo4w/python.bat.tmpl
  14. +1 −1 ms-windows/osgeo4w/qgis-grass.bat.tmpl
  15. +2 −1 ms-windows/osgeo4w/qgis.bat.tmpl
  16. +2 −32 python/CMakeLists.txt
  17. +0 −1 python/analysis/analysis.sip
  18. +2 −4 python/core/composer/qgscomposition.sip
  19. +25 −138 python/core/conversions.sip
  20. +0 −1 python/core/core.sip
  21. +0 −1 python/core/qgsdatumtransformstore.sip
  22. +1 −1 python/core/qgsfeature.sip
  23. +0 −4 python/core/qgsnetworkaccessmanager.sip
  24. +2 −1 python/core/qgsvectorlayerfeatureiterator.sip
  25. +6 −6 python/core/raster/qgsrasterprojector.sip
  26. +0 −1 python/gui/gui.sip
  27. +18 −16 python/gui/qgsmapcanvas.sip
  28. +0 −2 python/gui/qgsmapcanvasitem.sip
  29. +5 −13 python/gui/qgsmaptooltouch.sip
  30. +7 −5 python/gui/qgstreewidgetitem.sip
  31. +18 −17 python/server/qgsserverprojectparser.sip
  32. +1 −1 python/server/qgswmsconfigparser.sip
  33. +1 −1 python/server/qgswmsprojectparser.sip
  34. +0 −1 python/server/server.sip
  35. +0 −39 python/sip_helpers/CMakeLists.txt
  36. +0 −48 python/sip_helpers/qgissiphelper.cpp
  37. +0 −24 python/sip_helpers/qgissiphelper.h
  38. +3 −1 scripts/pyuic-wrapper.bat
  39. +1 −1 scripts/pyuic-wrapper.sh
  40. +1 −1 scripts/sipdiff
  41. +4 −1 src/analysis/CMakeLists.txt
  42. +1 −7 src/app/CMakeLists.txt
  43. +0 −1 src/browser/CMakeLists.txt
  44. +0 −1 src/core/CMakeLists.txt
  45. +2 −1 src/core/effects/qgsgloweffect.h
  46. +3 −0 src/core/qgscoordinatereferencesystem.cpp
  47. +1 −1 src/core/qgsdatumtransformstore.h
  48. +1 −1 src/core/qgsexpressioncontextgenerator.h
  49. +2 −2 src/core/qgsmaprendererparalleljob.cpp
  50. +0 −1 src/core/qgsmapthemecollection.cpp
  51. +2 −2 src/core/qgsmapthemecollection.h
  52. +2 −1 src/core/qgsproperty.h
  53. +1 −1 src/core/qgsvectorlayerfeatureiterator.h
  54. +3 −3 src/core/raster/qgsrasterblock.cpp
  55. +1 −1 src/core/symbology-ng/qgscategorizedsymbolrenderer.h
  56. +1 −1 src/core/symbology-ng/qgssymbollayerutils.h
  57. +11 −0 src/gui/editorwidgets/qgsrangeconfigdlg.cpp
  58. +1 −1 src/gui/qgsactionmenu.h
  59. +1 −1 src/gui/qgsattributeform.cpp
  60. +2 −2 src/gui/qgsattributeformlegacyinterface.cpp
  61. +0 −1 src/gui/qgsmapcanvas.h
  62. +4 −6 src/gui/qgsmaptooltouch.h
  63. +2 −0 src/gui/qgstreewidgetitem.h
  64. +1 −1 src/gui/symbology-ng/qgslayerpropertieswidget.h
  65. +0 −1 src/helpviewer/CMakeLists.txt
  66. +1 −1 src/providers/db2/qgsdb2featureiterator.cpp
  67. +1 −0 src/providers/delimitedtext/CMakeLists.txt
  68. +1 −1 src/providers/grass/qgis.d.rast.c
  69. +3 −3 src/providers/grass/qgsgrass.cpp
  70. +1 −1 src/providers/grass/qgsgrassvectormap.cpp
  71. +2 −2 src/providers/ogr/qgsogrprovider.cpp
  72. +1 −1 src/providers/oracle/ocispatial/qsqlcachedresult_p.h
  73. +1 −1 src/providers/spatialite/qspatialite/qsqlcachedresult_p.h
  74. +1 −1 src/providers/wms/qgstilescalewidget.cpp
  75. +3 −3 src/python/qgspythonutilsimpl.cpp
  76. +54 −102 src/server/CMakeLists.txt
  77. +4 −3 src/server/qgsconfigcache.h
  78. +2 −2 src/server/qgsfcgiserverresponse.h
  79. +2 −5 src/server/qgsserverplugins.cpp
  80. +0 −1 src/server/qgsserverplugins.h
  81. +1 −2 src/server/qgsserverresponse.cpp
  82. +1 −1 src/server/qgsserversettings.h
  83. +1 −1 src/server/qgsservice.cpp
  84. +0 −1 src/server/qgsservice.h
  85. +1 −2 src/server/qgsservicemodule.cpp
  86. +1 −1 src/server/qgsserviceregistry.cpp
  87. +1 −0 src/server/qgswfsprojectparser.cpp
  88. +3 −1 src/server/qgswmsconfigparser.cpp
  89. +0 −24 src/ui/editorwidgets/qgsrangeconfigdlgbase.ui
  90. +0 −1 tests/bench/CMakeLists.txt
  91. +1 −1 tests/bench/main.cpp
  92. +0 −1 tests/src/gui/CMakeLists.txt
  93. +0 −1 tests/src/providers/CMakeLists.txt
  94. +0 −2 tests/src/providers/grass/CMakeLists.txt
@@ -569,15 +569,16 @@ IF(COMMAND cmake_policy)
IF(NOT "${CMAKE_VERSION}" VERSION_LESS "3.3")
cmake_policy(SET CMP0063 NEW)
ENDIF(NOT "${CMAKE_VERSION}" VERSION_LESS "3.3")
IF(MSVC)
cmake_policy(SET CMP0020 NEW)
ENDIF(MSVC)
ENDIF(COMMAND cmake_policy)

IF (WIN32)
IF(PEDANTIC AND NOT APPLE)
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined")
ENDIF(PEDANTIC AND NOT APPLE)
ENDIF(WIN32)
IF (PEDANTIC AND NOT WIN32 AND NOT APPLE)
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined")
ENDIF(PEDANTIC AND NOT WIN32 AND NOT APPLE)

SET(CMAKE_CXX_VISIBILITY_PRESET hidden)
INCLUDE(GenerateExportHeader)
@@ -41,7 +41,7 @@ FIND_PATH(PROJ_INCLUDE_DIR proj_api.h
"$ENV{LIB_DIR}/include"
)

FIND_LIBRARY(PROJ_LIBRARY NAMES proj proj_i PATHS
FIND_LIBRARY(PROJ_LIBRARY NAMES proj_i proj PATHS
"$ENV{LIB}"
"$ENV{LIB_DIR}/lib"
)
@@ -97,12 +97,6 @@ MACRO(GENERATE_SIP_PYTHON_MODULE_CODE MODULE_NAME MODULE_SIP CPP_FILES)
ENDIF(MSVC)

SET(SIPCMD ${SIP_BINARY_PATH} ${_sip_tags} -w -e ${_sip_x} ${SIP_EXTRA_OPTIONS} -j ${SIP_CONCAT_PARTS} -c ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} ${_sip_includes} ${_abs_module_sip})
SET(SUPPRESS_SIP_WARNINGS FALSE CACHE BOOL "Hide SIP warnings")
MARK_AS_ADVANCED(SUPPRESS_SIP_WARNINGS)
IF(SUPPRESS_SIP_WARNINGS)
SET(SIPCMD ${SIPCMD} 2> /dev/null || true)
ENDIF(SUPPRESS_SIP_WARNINGS)

ADD_CUSTOM_COMMAND(
OUTPUT ${_sip_output_files}
COMMAND ${CMAKE_COMMAND} -E echo ${message}
@@ -1,8 +1,10 @@
@echo off
call "%~dp0\o4w_env.bat"
call "%OSGEO4W_ROOT%"\apps\grass\grass-@grassversion@\etc\env.bat
call "%~dp0\qt5_env.bat"
call "%~dp0\py3_env.bat"
@echo off
path %OSGEO4W_ROOT%\apps\@package@\bin;%OSGEO4W_ROOT%\apps\grass\grass-@grassversion@\lib;%OSGEO4W_ROOT%\apps\grass\grass-@grassversion@\bin;%PATH%
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/@package@
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\@package@\qtplugins;%OSGEO4W_ROOT%\apps\qt4\plugins
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\@package@\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
start "QGIS Browser" /B "%OSGEO4W_ROOT%"\bin\@package@-browser-bin.exe %*
@@ -1,7 +1,9 @@
@echo off
call "%~dp0\o4w_env.bat"
call "%~dp0\qt5_env.bat"
call "%~dp0\py3_env.bat"
@echo off
path %OSGEO4W_ROOT%\apps\@package@\bin;%PATH%
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/@package@
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\@package@\qtplugins;%OSGEO4W_ROOT%\apps\qt4\plugins
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\@package@\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
start "QGIS Browser" /B "%OSGEO4W_ROOT%"\bin\@package@-browser-bin.exe %*
@@ -1,6 +1,7 @@
@echo off
call "%~dp0\o4w_env.bat"
call "%~dp0\qt5_env.bat"
path %OSGEO4W_ROOT%\apps\@package@\bin;%PATH%
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/@package@
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\@package@\qtplugins;%OSGEO4W_ROOT%\apps\qt4\plugins
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\@package@\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
start "Qt Designer with QGIS custom widgets" /B "%OSGEO4W_ROOT%"\bin\designer.exe %*
@@ -0,0 +1,7 @@
@echo off
call %OSGEO4W_ROOT%\bin\o4w_env.bat
call py3_env.bat
call qt5_env.bat
call "c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
path %PATH%;c:\cygwin\bin;c:\program files\cmake\bin
%OSGEO4W_ROOT%\bin\ninja -j4 -C ..\build-qgis-dev-x86_64
@@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ninja", "ninja.vcxproj", "{02B448C7-945C-46D6-954C-AEAE0653BA59}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
RelWithDebInfo|Win32 = RelWithDebInfo|Win32
RelWithDebInfo|x64 = RelWithDebInfo|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{02B448C7-945C-46D6-954C-AEAE0653BA59}.RelWithDebInfo|Win32.ActiveCfg = Release|Win32
{02B448C7-945C-46D6-954C-AEAE0653BA59}.RelWithDebInfo|Win32.Build.0 = Release|Win32
{02B448C7-945C-46D6-954C-AEAE0653BA59}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{02B448C7-945C-46D6-954C-AEAE0653BA59}.RelWithDebInfo|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{02B448C7-945C-46D6-954C-AEAE0653BA59}</ProjectGuid>
<Keyword>MakeFileProj</Keyword>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<NMakeBuildCommandLine>ninja -C ../build-qgis-dev-x86 all</NMakeBuildCommandLine>
<NMakeOutput>..\build-qgis-dev-x86\output\bin\qgis.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN32;_DEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<OutDir>..\build-qgis-dev-x86</OutDir>
<IntDir />
<NMakeReBuildCommandLine>ninja -C ../build-qgis-dev-x86 clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>ninja -C ../build-qgis-dev-x86 clean</NMakeCleanCommandLine>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<NMakeBuildCommandLine>ninja -C ../build-qgis-dev-x86 all</NMakeBuildCommandLine>
<NMakeOutput>..\build-qgis-dev-x86\output\bin\qgis.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN32;NDEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<OutDir>..\build-qgis-dev-x86</OutDir>
<IntDir />
<NMakeReBuildCommandLine>ninja -C ../build-qgis-dev-x86 clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>ninja -C ../build-qgis-dev-x86 clean</NMakeCleanCommandLine>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<NMakeBuildCommandLine>ninja -C ../build-qgis-dev-x86_64 -j4 -k1000 all</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>ninja -C ../build-qgis-dev-x86_64 -j4 -k1000 clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>ninja -C ../build-qgis-dev-x86_64 clean</NMakeCleanCommandLine>
<NMakeOutput>..\build-qgis-dev-x86_64\output\bin\qgis.exe</NMakeOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<NMakeBuildCommandLine>ninja -C ../build-qgis-dev-x86_64 -j4 -k1000 all</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>ninja -C ../build-qgis-dev-x86_64 -j4 -k1000 clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>ninja -C ../build-qgis-dev-x86_64 clean</NMakeCleanCommandLine>
<NMakeOutput>..\build-qgis-dev-x86_64\output\bin\qgis.exe</NMakeOutput>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<BuildLog>
<Path>x86.log</Path>
</BuildLog>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<BuildLog>
<Path>x86.log</Path>
</BuildLog>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -44,6 +44,8 @@ if not exist "%BUILDDIR%" (echo could not create build directory %BUILDDIR% & go

if not exist "%OSGEO4W_ROOT%\bin\o4w_env.bat" (echo o4w_env.bat not found & goto error)
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
call "%OSGEO4W_ROOT%\bin\py3_env.bat"
call "%OSGEO4W_ROOT%\bin\qt5_env.bat"

set O4W_ROOT=%OSGEO4W_ROOT:\=/%
set LIB_DIR=%O4W_ROOT%
@@ -56,35 +58,33 @@ if "%ARCH%"=="x86" goto cmake_x86
goto cmake_x86_64

:cmake_x86
set GRASS6_VERSION=6.4.4
call "%PF86%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
call "%PF86%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
if exist "c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" call "c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /x86 /Release
path %path%;%PF86%\Microsoft Visual Studio 10.0\VC\bin
set CMAKE_COMPILER_PATH=%PF86%\Microsoft Visual Studio 10.0\VC\bin
path %path%;%PF86%\Microsoft Visual Studio 14.0\VC\bin
set CMAKE_COMPILER_PATH=%PF86%\Microsoft Visual Studio 14.0\VC\bin
set SETUPAPI_LIBRARY=c:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x86\SetupAPI.Lib

set CMAKE_OPT=^
-D SIP_BINARY_PATH=%O4W_ROOT%/apps/Python27/sip.exe ^
-D QWT_LIBRARY=%O4W_ROOT%/lib/qwt.lib ^
-D SIP_BINARY_PATH=%O4W_ROOT%/apps/Python36/sip.exe ^
-D CMAKE_CXX_FLAGS_RELWITHDEBINFO="/MD /ZI /MP /Od /D NDEBUG /D QGISDEBUG" ^
-D CMAKE_PDB_OUTPUT_DIRECTORY_RELWITHDEBINFO=%BUILDDIR%\apps\%PACKAGENAME%\pdb ^
-D SPATIALINDEX_LIBRARY=%O4W_ROOT%/lib/spatialindex_i.lib

goto cmake

:cmake_x86_64
set GRASS6_VERSION=6.4.3
call "%PF86%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" amd64
call "%PF86%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
if exist "c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" call "c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /x64 /Release
path %path%;%PF86%\Microsoft Visual Studio 10.0\VC\bin
set CMAKE_COMPILER_PATH=%PF86%\Microsoft Visual Studio 10.0\VC\bin\amd64

set SETUPAPI_LIBRARY=%PF86%\Microsoft SDKs\Windows\v7.0A\Lib\x64\SetupAPI.Lib
path %path%;%PF86%\Microsoft Visual Studio 14.0\VC\bin
set CMAKE_COMPILER_PATH=%PF86%\Microsoft Visual Studio 14.0\VC\bin\amd64
set SETUPAPI_LIBRARY=c:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x64\SetupAPI.Lib
if not exist "%SETUPAPI_LIBRARY%" set SETUPAPI_LIBRARY=%PF86%\Microsoft SDKs\Windows\v7.0A\Lib\x64\SetupAPI.Lib
if not exist "%SETUPAPI_LIBRARY%" set SETUPAPI_LIBRARY=%PROGRAMFILES%\Microsoft SDKs\Windows\v7.1\Lib\x64\SetupAPI.lib
if not exist "%SETUPAPI_LIBRARY%" (echo SETUPAPI_LIBRARY not found & goto error)

set CMAKE_OPT=^
-D SPATIALINDEX_LIBRARY=%O4W_ROOT%/lib/spatialindex-64.lib ^
-D SIP_BINARY_PATH=%O4W_ROOT%/bin/sip.exe ^
-D QWT_LIBRARY=%O4W_ROOT%/lib/qwt5.lib ^
-D SIP_BINARY_PATH=%O4W_ROOT%/apps/Python36/sip.exe ^
-D CMAKE_CXX_FLAGS_RELWITHDEBINFO="/MD /Zi /MP /Od /D NDEBUG /D QGISDEBUG" ^
-D CMAKE_PDB_OUTPUT_DIRECTORY_RELWITHDEBINFO=%BUILDDIR%\apps\%PACKAGENAME%\pdb ^
-D SETUPAPI_LIBRARY="%SETUPAPI_LIBRARY%" ^
@@ -94,10 +94,11 @@ set CMAKE_OPT=^
for /f "usebackq tokens=1" %%a in (`%OSGEO4W_ROOT%\bin\grass72 --config path`) do set GRASS72_PATH=%%a
for %%i in ("%GRASS72_PATH%") do set GRASS72_VERSION=%%~nxi
set GRASS72_VERSION=%GRASS72_VERSION:grass-=%
set GRASS_VERSIONS=%GRASS6_VERSION% %GRASS72_VERSION%
set GRASS_VERSIONS=%GRASS72_VERSION%

set PYTHONPATH=
path %PF86%\CMake\bin;%PATH%;c:\cygwin\bin
if exist "%PF86%\CMake\bin" path %PATH%;c:\cygwin\bin;%PF86%\CMake\bin
if exist "%PROGRAMFILES%\CMake\bin" path %PATH%;c:\cygwin\bin;%PROGRAMFILES%\CMake\bin

PROMPT qgis%VERSION%$g

@@ -158,33 +159,32 @@ cmake -G Ninja ^
-D CMAKE_CXX_COMPILER="%CMAKE_COMPILER_PATH:\=/%/cl.exe" ^
-D CMAKE_C_COMPILER="%CMAKE_COMPILER_PATH:\=/%/cl.exe" ^
-D CMAKE_LINKER="%CMAKE_COMPILER_PATH:\=/%/link.exe" ^
-D BUILDNAME="%PACKAGENAME%-%VERSION%%SHA%-Nightly-VC10-%ARCH%" ^
-D BUILDNAME="%PACKAGENAME%-%VERSION%%SHA%-Nightly-VC14-%ARCH%" ^
-D SITE="%SITE%" ^
-D PEDANTIC=TRUE ^
-D WITH_QSPATIALITE=TRUE ^
-D WITH_SERVER=TRUE ^
-D SERVER_SKIP_ECW=TRUE ^
-D WITH_GRASS=TRUE ^
-D WITH_GRASS6=TRUE ^
-D WITH_GRASS6=FALSE ^
-D WITH_GRASS7=TRUE ^
-D GRASS_PREFIX=%O4W_ROOT%/apps/grass/grass-%GRASS6_VERSION% ^
-D GRASS_PREFIX7=%GRASS72_PATH:\=/% ^
-D WITH_GLOBE=TRUE ^
-D WITH_GLOBE=FALSE ^
-D WITH_TOUCH=TRUE ^
-D WITH_ORACLE=TRUE ^
-D WITH_QTWEBKIT=FALSE ^
-D WITH_CUSTOM_WIDGETS=TRUE ^
-D CMAKE_BUILD_TYPE=%BUILDCONF% ^
-D CMAKE_CONFIGURATION_TYPES=%BUILDCONF% ^
-D GEOS_LIBRARY=%O4W_ROOT%/lib/geos_c.lib ^
-D SQLITE3_LIBRARY=%O4W_ROOT%/lib/sqlite3_i.lib ^
-D SPATIALITE_LIBRARY=%O4W_ROOT%/lib/spatialite_i.lib ^
-D PYTHON_EXECUTABLE=%O4W_ROOT%/bin/python.exe ^
-D PYTHON_INCLUDE_PATH=%O4W_ROOT%/apps/Python27/include ^
-D PYTHON_LIBRARY=%O4W_ROOT%/apps/Python27/libs/python27.lib ^
-D PYTHON_EXECUTABLE=%O4W_ROOT%/bin/python3.exe ^
-D PYTHON_INCLUDE_PATH=%O4W_ROOT%/apps/Python36/include ^
-D PYTHON_LIBRARY=%O4W_ROOT%/apps/Python36/libs/python36.lib ^
-D QT_BINARY_DIR=%O4W_ROOT%/bin ^
-D QT_LIBRARY_DIR=%O4W_ROOT%/lib ^
-D QT_HEADERS_DIR=%O4W_ROOT%/include/qt4 ^
-D QWT_INCLUDE_DIR=%O4W_ROOT%/include/qwt ^
-D QT_HEADERS_DIR=%O4W_ROOT%/apps/qt5/include ^
-D CMAKE_INSTALL_PREFIX=%O4W_ROOT%/apps/%PACKAGENAME% ^
-D FCGI_INCLUDE_DIR=%O4W_ROOT%/include ^
-D FCGI_LIBRARY=%O4W_ROOT%/lib/libfcgi.lib ^
@@ -199,6 +199,10 @@ cmake -G Ninja ^
-D WITH_INTERNAL_MOCK=FALSE ^
-D WITH_INTERNAL_HTTPLIB2=FALSE ^
-D WITH_INTERNAL_FUTURE=FALSE ^
-D QCA_INCLUDE_DIR=%OSGEO4W_ROOT%\apps\Qt5\include\QtCrypto ^
-D QCA_LIBRARY=%OSGEO4W_ROOT%\apps\Qt5\lib\qca.lib ^
-D QSCINTILLA_LIBRARY=%OSGEO4W_ROOT%\apps\Qt5\lib\qscintilla2.lib ^
-D SUPPRESS_SIP_WARNINGS=TRUE ^
%CMAKE_OPT% ^
%SRCDIR:\=/%
if errorlevel 1 (echo cmake failed & goto error)
@@ -303,8 +307,8 @@ if not exist %PKGDIR%\qtplugins\designer mkdir %PKGDIR%\qtplugins\designer
move %OSGEO4W_ROOT%\apps\qt4\plugins\designer\qgis_customwidgets.dll %PKGDIR%\qtplugins\designer
if errorlevel 1 (echo move of customwidgets failed & goto error)

if not exist %PKGDIR%\python\PyQt4\uic\widget-plugins mkdir %PKGDIR%\python\PyQt4\uic\widget-plugins
move %OSGEO4W_ROOT%\apps\Python27\Lib\site-packages\PyQt4\uic\widget-plugins\qgis_customwidgets.py %PKGDIR%\python\PyQt4\uic\widget-plugins
if not exist %PKGDIR%\python\PyQt5\uic\widget-plugins mkdir %PKGDIR%\python\PyQt5\uic\widget-plugins
move %OSGEO4W_ROOT%\apps\Python36\Lib\site-packages\PyQt5\uic\widget-plugins\qgis_customwidgets.py %PKGDIR%\python\PyQt5\uic\widget-plugins
if errorlevel 1 (echo move of customwidgets binding failed & goto error)

if not exist %ARCH%\release\qgis\%PACKAGENAME% mkdir %ARCH%\release\qgis\%PACKAGENAME%

3 comments on commit 6a56cb0

@NathanW2

This comment has been minimized.

Copy link
Member

@NathanW2 NathanW2 replied Jan 24, 2017

@jef-n thanks heaps!

@nirvn

This comment has been minimized.

Copy link
Contributor

@nirvn nirvn replied Jan 24, 2017

@jef-n , yay, exciting! Thanks for working on this.

@tigerfoot

This comment has been minimized.

Copy link

@tigerfoot tigerfoot replied Jan 30, 2017

I'm looking a way to have the fixes for sip 4.19 backported to 2.18 and eventually 2.14 lts.
What would be the best approach for that ?

Please sign in to comment.
You can’t perform that action at this time.