-
-
Notifications
You must be signed in to change notification settings - Fork 34
/
GdalCore.opt
130 lines (102 loc) · 5.05 KB
/
GdalCore.opt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
##### ----------- gdal.netcore ----------- #####
##### ------- SHARED CONFIGURATION ------- #####
##### repo root
ROOTDIR_=$(BASE)/..
BUILD_NUMBER_TAIL=100
### build (drivers) root
BUILD_ROOT=$(ROOTDIR_)/build-$(BASE_RID)
# May 10, 2024
GDAL_VERSION=3.9.0
GDAL_ROOT=$(BUILD_ROOT)/gdal-source
GDAL_REPO=https://github.com/OSGeo/gdal.git
GDAL_COMMIT_VER=v$(GDAL_VERSION)
# Mar 1, 2024
PROJ_VERSION=9.4.0
PROJ_ROOT=$(BUILD_ROOT)/proj-source
PROJ_REPO=https://github.com/OSGeo/PROJ.git
PROJ_COMMIT_VER=$(PROJ_VERSION)
# ---------------------- VCPKG ----------------------
VCPKG_ROOT=$(BUILD_ROOT)/vcpkg
VCPKG_REPO=https://github.com/microsoft/vcpkg.git
VCPKG_COMMIT_VER=2024.04.26
# base requirements for both runtimes
VCPKG_REQUIRE=geos "tiff[zstd,zip,jpeg,tools,lzma,cxx,webp]" curl
VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio "openexr[tools]" unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" "sqlite3[tool,rtree]" cryptopp blosc
# windows runtime now depends on GisInternals SDK
# we have nothing to install except custom geos and proj
VCPKG_REQUIRE_WIN=$(VCPKG_REQUIRE) "sqlite3[tool,rtree]" libiconv lz4 liblzma "libjxl[tools]" blosc cryptopp
VCPKG_REQUIRE_WIN_STATIC=
# the default configuration is dynamic
# libmysql is not available from vcpkg for arm64
VCPKG_REQUIRE_UNIX=
VCPKG_REQUIRE_UNIX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC)
# osx requires the same libs as linux
# sqlite static is required only to build proj.db
VCPKG_REQUIRE_OSX=$(VCPKG_REQUIRE_UNIX) "sqlite3[tool,rtree]"
VCPKG_REQUIRE_OSX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) netcdf-c libmysql
VCPKG_CLEANUP=buildtrees downloads packages installed
VCPKG_INSTALLED=$(VCPKG_ROOT)/installed/$(VCPKG_RID)
VCPKG_INSTALLED_STATIC=$(VCPKG_ROOT)/installed/$(VCPKG_RID)-static
VCPKG_INSTALLED_DYNAMIC=$(VCPKG_ROOT)/installed/$(VCPKG_RID)-dynamic
# triplets
VPCKG_CUSTOM_TRIPLETS=$(VCPKG_ROOT)/custom-triplets
VCPKG_TRIPLETS_OVERLAY=--overlay-triplets=$(VCPKG_ROOT)/custom-triplets
VCPKG_PARAMS_INSTALL=$(VCPKG_TRIPLETS_OVERLAY) --recurse --no-print-usage
VCPKG_PARAMS_REMOVE=$(VCPKG_TRIPLETS_OVERLAY) --recurse
# --------------------- !VCPKG! --------------------
# ---------------------- CONFIG ---------------------
PRE=[gdal.netcore]
PACKAGE_BUILD_ROOT=$(ROOTDIR_)/package-build
__libshared=maxrev.gdal.core.libshared
LIBSHARED=$(PACKAGE_BUILD_ROOT)/$(__libshared)/$(RID)/$(__libshared)
##### GDAL source extended location
GDAL_ROOT=$(BUILD_ROOT)/gdal-source
##### Dotnet version for GDAL
DOTNET_VERSION=8.0
GDAL_CSHARP_VERSION=net8.0
##### SWIG executable and interface
BASE_SWIG_=$(GDAL_ROOT)/swig
BASE_CSHARP_=$(BASE_SWIG_)/csharp
SWIG_INCLUDE_=$(BASE_SWIG_)/include
##### HDF build location (only for osx)
HDF_BUILD=$(BUILD_ROOT)/hdf-build
HDF_CMAKE_TMP=$(BUILD_ROOT)/hdf-cmake-temp
HDF_VERSION=4.2.16-2
##### PROJ build location
PROJ_BUILD=$(BUILD_ROOT)/proj-build
PROJ_CMAKE_TMP=$(BUILD_ROOT)/proj-cmake-temp
##### GDAL build location
GDAL_BUILD=$(BUILD_ROOT)/gdal-build
GDAL_CMAKE_TMP=$(BUILD_ROOT)/gdal-cmake-temp
##### NUGET output folder
NUGET_=$(ROOTDIR_)/nuget
### Shared .NET Core Tests
TEST_DIR=$(ROOTDIR_)/tests/MaxRev.Gdal.Core.Tests.XUnit
TEST_DIR_APP=$(ROOTDIR_)/tests/MaxRev.Gdal.Core.Tests
TEST_FORMATS_OUTPUT=$(ROOTDIR_)/tests/gdal-formats
# Templates for project files
GDALCORE_PROJECT=$(ROOTDIR_)/shared/templates/gdalcore.loader.csproj.in
RUNTIME_PROJECT_UNIX=$(ROOTDIR_)/shared/templates/gdalcore.linuxruntime.csproj.in
RUNTIME_PROJECT_OSX=$(ROOTDIR_)/shared/templates/gdalcore.macosruntime.csproj.in
RUNTIME_PROJECT_WIN=$(ROOTDIR_)/shared/templates/gdalcore.windowsruntime.csproj.in
RUNTIME_PROJECT_BUNDLE=$(ROOTDIR_)/shared/templates/gdalcore.bundle.csproj.in
RUNTIME_PROJECT_BUNDLE_UNIX=$(ROOTDIR_)/shared/templates/gdalcore.linuxruntime.bundle.csproj.in
RUNTIME_PROJECT_BUNDLE_OSX=$(ROOTDIR_)/shared/templates/gdalcore.macosruntime.bundle.csproj.in
# Generated project files
GDALCORE_PROJECT_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.loader.final.csproj
RUNTIME_PROJECT_UNIX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.linuxruntime.final.csproj
RUNTIME_PROJECT_OSX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.macosruntime.final.csproj
RUNTIME_PROJECT_WIN_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.windowsruntime.final.csproj
RUNTIME_PROJECT_BUNDLE_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.bundle.final.csproj
RUNTIME_PROJECT_BUNDLE_UNIX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.linuxruntime.bundle.final.csproj
RUNTIME_PROJECT_BUNDLE_OSX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.macosruntime.bundle.final.csproj
PACKAGE_NAME_CORE=MaxRev.Gdal.Core
PACKAGE_NAME_RUNTIME=MaxRev.Gdal.$(RUNTIME_PACKAGE_PARTIAL).Minimal
RUNTIME_TARGET_BUNDLE=$(ROOTDIR_)/shared/msbuild/default.targets.in
RUNTIME_TARGET_BUNDLE_FINAL=$(PACKAGE_BUILD_ROOT)/$(PACKAGE_NAME_RUNTIME).$(BUILD_ARCH).targets
RUNTIME_TARGET_BUNDLE_FINAL_WIN=$(PACKAGE_BUILD_ROOT)/$(PACKAGE_NAME_RUNTIME).targets
RUNTIME_TARGET_BUNDLE_FINAL_CORE=$(PACKAGE_BUILD_ROOT)/$(PACKAGE_NAME_CORE).targets
GIT=git
GIT_CLEAN=$(GIT) clean -fqdx
GIT_CLONE_DEPTH=--depth=1
# --------------------- !CONFIG! --------------------