Skip to content

Commit

Permalink
Merge branch 'master' into installer-x86-vc-fix-01
Browse files Browse the repository at this point in the history
  • Loading branch information
SpecterShell authored Dec 26, 2024
2 parents caed4ff + 8d4db84 commit 6548674
Show file tree
Hide file tree
Showing 32 changed files with 1,790 additions and 1,421 deletions.
45 changes: 35 additions & 10 deletions .github/workflows/osx_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,24 @@ on:
jobs:
# This workflow contains a single job called "build"
osx_build:
# The type of runner that the job will run on
runs-on: macos-latest
# The type of runner that the job will run on, macos-13 is x86_64
runs-on: ${{ matrix.distro }}
if: ${{ !contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]') }}

strategy:
fail-fast: true
matrix:
distro:
- 'macos-13'
- 'macos-14'
include:
- distro: 'macos-13'
pre: 'x86_64'
- distro: 'macos-14'
pre: 'arm64'
env:
GEODA_VER: '1.22.0'
GEODA_ARCH: ${{ matrix.pre }}

# Steps represent a sequence of tasks that will be executed as part of the job

Expand All @@ -42,40 +54,53 @@ jobs:
p12-file-base64: ${{ secrets.MACOS_CERTIFICATE }}
p12-password: ${{ secrets.MACOS_CERTIFICATE_PWD }}

- name: Setup Brew
- name: Install GDAL using Brew x86_64
if: ${{ matrix.pre == 'x86_64' }}
run: |
brew install [email protected]
ln -s /usr/local/opt/[email protected] /usr/local/opt/boost
rm /usr/local/bin/2to3 || true
rm /usr/local/bin/idle3 || true
rm /usr/local/bin/pydoc3 || true
rm /usr/local/bin/python3 || true
rm /usr/local/bin/python3-config || true
brew install --force --overwrite --quiet gdal || true
- name: Install GDAL using Brew Arm64
if: ${{ matrix.pre == 'arm64' }}
run: |
arch
brew install gdal
sudo ln -s /opt/homebrew/opt/gdal /usr/local/opt/gdal
sudo ln -s /opt/homebrew/opt/proj /usr/local/opt/proj
- uses: actions/cache@v3
id: cache
with:
path: |
BuildTools/macosx/libraries
BuildTools/macosx/temp
key: ${{ runner.os }}-deps-cache-${{ hashFiles('BuildTools/macosx/install.sh') }}
key: ${{ runner.os }}-${{ matrix.pre }}-deps-cache-${{ hashFiles('BuildTools/macosx/install.sh') }}

- if: steps.cache.outputs.cache-hit != 'true'
name: Build Dependencies
run: |
cd BuildTools/macosx
export GEODA_HOME=$PWD
export GEODA_ARCH=x86_64
export GEODA_ARCH=${{ env.GEODA_ARCH }}
./install.sh
- name: Build GeoDa
run: |
mkdir -p o
cd BuildTools/macosx
export GEODA_HOME=$PWD
export GEODA_ARCH=${{ env.GEODA_ARCH }}
cp ../../GeoDamake.macosx.opt ../../GeoDamake.opt
echo "find identity"
security find-identity -v
VER_MAJOR=$(grep version_major $GEODA_HOME/../../version.h | sed -e 's/^[[:space:]][[:alpha:]|[:space:]|_|=]*//g' | sed -e 's/;//g')
VER_MINOR=$(grep version_minor $GEODA_HOME/../../version.h | sed -e 's/^[[:space:]][[:alpha:]|[:space:]|_|=]*//g' | sed -e 's/;//g')
VER_BUILD=$(grep version_build $GEODA_HOME/../../version.h | sed -e 's/^[[:space:]][[:alpha:]|[:space:]|_|=]*//g' | sed -e 's/;//g')
GEODA_VERSION=$VER_MAJOR.$VER_MINOR.$VER_BUILD
GEODA_VERSION=$VER_MAJOR.$VER_MINOR.$VER_BUILD-$GEODA_ARCH
echo $GEODA_VERSION
make -j$(sysctl -n hw.ncpu)
make app
Expand All @@ -86,5 +111,5 @@ jobs:
# Upload artifact
- uses: actions/upload-artifact@v3
with:
name: GeoDa-${{ env.GEODA_VER }}-MacOS
path: ${{ github.workspace }}/BuildTools/macosx/create-dmg/GeoDa${{ env.GEODA_VER }}-Installer.dmg
name: GeoDa-${{ env.GEODA_VER }}-${{ env.GEODA_ARCH }}-MacOS
path: ${{ github.workspace }}/BuildTools/macosx/create-dmg/GeoDa${{ env.GEODA_VER }}-${{ env.GEODA_ARCH }}-Installer.dmg
27 changes: 26 additions & 1 deletion .github/workflows/ubuntu_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,30 +29,54 @@ jobs:
fail-fast: true
matrix:
distro:
- 'ubuntu-24.04'
- 'ubuntu-22.04'
- 'ubuntu-20.04'
include:
- distro: 'ubuntu-24.04'
pre: 'noble'
ldflags: '-lgdal -lcurl -L/usr/lib/x86_64-linux-gnu -lz -lwebkit2gtk-4.1 -lEGL -ljavascriptcoregtk-4.1'
- distro: 'ubuntu-22.04'
pre: 'jammy'
ldflags: '-lgdal -lcurl -L/usr/lib/x86_64-linux-gnu -lz -lwebkit2gtk-4.0 -lEGL -ljavascriptcoregtk-4.0'
- distro: 'ubuntu-20.04'
pre: 'focal'
ldflags: '-lgdal -lcurl -L/usr/lib/x86_64-linux-gnu -lz -lwebkit2gtk-4.0 -lEGL -ljavascriptcoregtk-4.0'

env:
platform: ${{ matrix.distro }}
GEODA_VER: '1.22.0'
TARGET_OS: ${{ matrix.pre }}
EXTRA_GEODA_LD_FLAGS: ${{ matrix.ldflags }}

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3

# Prepare
- name: Prepare on ${{ matrix.distro }}
run: |
chmod +x BuildTools/ubuntu/create_deps.sh
chmod +x BuildTools/ubuntu/install.sh
echo ${{ env.TARGET_OS }}
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update -y
sudo apt-get install -y ca-certificates libgnutls30
echo '-k' > ~/.curlrc
sudo apt-get install -y libpq-dev
sudo apt-get install -y gdal-bin
sudo apt-get install -y libgdal-dev
sudo apt-get install -y unzip cmake dh-autoreconf libgtk-3-dev libgl1-mesa-dev libglu1-mesa-dev
export OS=${{ env.TARGET_OS }}
if [ $OS = 'jammy' ] ; then
sudo apt-get install -y libwebkit2gtk-4.0-dev
elif [ $OS = 'focal' ] ; then
sudo apt-get install -y libwebkit2gtk-4.0-dev
elif [ $OS = 'noble' ] ; then
sudo apt-get install -y libgtk-4-dev libwebkit2gtk-4.1-dev
else
sudo apt-get install -y libwebkitgtk-3.0-dev
fi
- uses: actions/cache@v3
id: cache
Expand Down Expand Up @@ -81,6 +105,7 @@ jobs:
export WORK_DIR=$PWD
export OS=${{ env.TARGET_OS }}
export VER=${{ env.GEODA_VER }}
export EXTRA_GEODA_LD_FLAGS='${{ env.EXTRA_GEODA_LD_FLAGS }}'
export APT="sudo apt-get"
cd BuildTools/ubuntu
./install.sh
Expand Down
15 changes: 7 additions & 8 deletions .github/workflows/windows_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,15 @@ jobs:
BuildTools/windows/temp
key: ${{ runner.os }}-${{ matrix.platform }}-deps-cache-${{ hashFiles('BuildTools/windows/deps.md') }}

# Install innosetup
- name: Install innosetup
uses: crazy-max/ghaction-chocolatey@v3
with:
args: install innosetup --no-progress

# Create Deps
- if: steps.cache.outputs.cache-hit != 'true'
name: Create Dependencies
name: Create Dependencies
shell: pwsh
run: |
$ErrorActionPreference = 'continue'
Expand Down Expand Up @@ -250,13 +256,6 @@ jobs:
{
msbuild.exe GeoDa.vs2019.sln /t:GeoDa /property:Configuration="Release" /m /p:Platform="x64"
}
#
# InnoSetup
#
Choco-Install -PackageName innosetup
#
# Binary
#
if($env:platform -eq "x86")
{
ISCC.exe /q installer\32bit\GeoDa.iss
Expand Down
14 changes: 13 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,17 @@
"typeinfo": "cpp",
"algorithm": "cpp"
},
"C_Cpp.default.compilerPath": "/usr/bin/clang++"
"C_Cpp.default.compilerPath": "/usr/bin/clang++",
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
"**/temp": true,
"**/build": true,
"**/debug": true,
"**/libraries": true
}
}
3 changes: 1 addition & 2 deletions BuildTools/CommonDistFiles/osx/proj/CH
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
# See: https://shop.swisstopo.admin.ch/en/products/geo_software/GIS_info
#
# You'll need to download the grids separately and put in a directory
# scanned by libproj. Directories may be added to the scan list through
# the PROJ_LIB environment variable
# scanned by libproj.
#
# Note that an independent effort was made to derive an usable grid
# from the CH1903->CH1903+ grid initially available from the Swisstopo
Expand Down
39 changes: 36 additions & 3 deletions BuildTools/CommonDistFiles/osx/proj/ITRF2008
Original file line number Diff line number Diff line change
Expand Up @@ -42,20 +42,53 @@

<CARB> +proj=helmert +drx=0.000049 +dry=-0.001088 +drz=0.000664 +convention=position_vector

<EURA> +proj=helmert +drx=-0.000083 +dry=0.000534 +drz=0.000750 +convention=position_vector
<EURA> +proj=helmert +drx=-0.000083 +dry=-0.000534 +drz=0.000750 +convention=position_vector

<INDI> +proj=helmert +drx=0.001232 +dry=0.000303 +drz=0.001540 +convention=position_vector

<NAZC> +proj=helmert +drx=-0.000330 +dry=-0.001551 +drz=0.001625 +convention=position_vector

<NOAM> +proj=helmert +drx=0.000035 +dry=-0.000662 +drz=0.0001 +convention=position_vector
<NOAM> +proj=helmert +drx=0.000035 +dry=-0.000662 +drz=-0.0001 +convention=position_vector

<NUBI> +proj=helmert +drx=0.000095 +dry=-0.000598 +drz=0.000723 +convention=position_vector

<PCFC> +proj=helmert +drx=0.000411 +dry=0.001036 +drz=-0.002166 +convention=position_vector
<PCFC> +proj=helmert +drx=-0.000411 +dry=0.001036 +drz=-0.002166 +convention=position_vector

<SOAM> +proj=helmert +drx=-0.000243 +dry=-0.000311 +drz=-0.000154 +convention=position_vector

<SOMA> +proj=helmert +drx=-0.000080 +dry=-0.000745 +drz=0.000897 +convention=position_vector

<SUND> +proj=helmert +drx=0.000047 +dry=-0.001 +drz=0.000975 +convention=position_vector


# Plate names suffixed by _T (for Translation) that includes the translation
# rates +dx=0.00041 +dy=0.00022 +dz=0.00041 given by Table 2 of the ITRF2008 plate motion model
# paper

<AMUR_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000190 +dry=-0.000442 +drz=0.000915 +convention=position_vector

<ANTA_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000252 +dry=-0.000302 +drz=0.000643 +convention=position_vector

<ARAB_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.001202 +dry=-0.000054 +drz=0.001485 +convention=position_vector

<AUST_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.001504 +dry=0.001172 +drz=0.001228 +convention=position_vector

<CARB_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.000049 +dry=-0.001088 +drz=0.000664 +convention=position_vector

<EURA_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000083 +dry=-0.000534 +drz=0.000750 +convention=position_vector

<INDI_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.001232 +dry=0.000303 +drz=0.001540 +convention=position_vector

<NAZC_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000330 +dry=-0.001551 +drz=0.001625 +convention=position_vector

<NOAM_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.000035 +dry=-0.000662 +drz=-0.0001 +convention=position_vector

<NUBI_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.000095 +dry=-0.000598 +drz=0.000723 +convention=position_vector

<PCFC_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000411 +dry=0.001036 +drz=-0.002166 +convention=position_vector

<SOAM_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000243 +dry=-0.000311 +drz=-0.000154 +convention=position_vector

<SOMA_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000080 +dry=-0.000745 +drz=0.000897 +convention=position_vector

<SUND_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.000047 +dry=-0.001 +drz=0.000975 +convention=position_vector
6 changes: 3 additions & 3 deletions BuildTools/CommonDistFiles/osx/proj/ITRF2014
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@

<ITRF97> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +d=0.0038 +rz=0.00026 +dx0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector

<ITRF96> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +s=0.0038 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +t_epoch=2010.0 +convention=position_vector
<ITRF96> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +s=0.0038 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector

<ITRF94> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +s=0.0038 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +t_epoch=2010.0 +convention=position_vector
<ITRF94> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +s=0.0038 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector

<ITRF93> +proj=helmert +x=-0.0504 +y=0.0033 +z=-0.0602 +s=0.00429 +rx=-0.00281 +ry=-0.00338 +rz=0.0004 +dx=-0.0028 +dy=-0.0001 +dz=-0.0025 +ds=0.00012 +drx=-0.00011 +dry=-0.00019 +drz=0.00007 +t_epoch=2010.0 +convention=position_vector

Expand All @@ -23,7 +23,7 @@

<ITRF89> +proj=helmert +x=0.0304 +y=0.0355 +z=-0.1308 +s=0.00819 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector

<ITRF88> +proj=helmert +x=0.0254 +y=-0.0005 +z=-0.1548 +s=0.01129 +rx=0.0001 +rz= +dx=0.00026 +dy=0.0001 +dx=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector
<ITRF88> +proj=helmert +x=0.0254 +y=-0.0005 +z=-0.1548 +s=0.01129 +rx=0.0001 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector

# ITRF2014 Plate Motion Model parameters
#
Expand Down
Binary file modified BuildTools/CommonDistFiles/osx/proj/proj.db
Binary file not shown.
29 changes: 28 additions & 1 deletion BuildTools/CommonDistFiles/osx/proj/proj.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,44 @@

; Network capabilities disabled by default.
; Can be overridden with the PROJ_NETWORK=ON environment variable.
; network = on
; Cf https://proj.org/en/latest/usage/network.html
; Valid values = on, off
network = off

; Endpoint of the Content Delivery Network where remote resources might
; be accessed. Only used if network access is allowed (cf above "network"
; option)
; Can be overridden with the PROJ_NETWORK_ENDPOINT environment variable.
cdn_endpoint = https://cdn.proj.org

; Whether to enable a cache of remote resources that are accessed, on the
; local file system
; Valid values = on, off
cache_enabled = on

; Size of the cache in megabytes
cache_size_MB = 300

; Time-to-live delay in seconds before already accessed remote resources are
; acessed again to check if they have been updated.
cache_ttl_sec = 86400

; Can be set to on so that by default the lack of a known resource files needed
; for the best transformation PROJ would normally use causes an error, or off
; to accept missing resource files without errors or warnings.
; This default value itself is overriden by the PROJ_ONLY_BEST_DEFAULT environment
; variable if set, and then by the ONLY_BEST setting that can be
; passed to the proj_create_crs_to_crs() method, or with the --only-best
; option of the cs2cs program.
; (added in PROJ 9.2)
; Valid values = on, off
only_best_default = off

; Filename of the Certificate Authority (CA) bundle.
; Can be overriden with the PROJ_CURL_CA_BUNDLE / CURL_CA_BUNDLE environment variable.
; (added in PROJ 9.0)
; ca_bundle_path = /path/to/cabundle.pem

; Transverse Mercator (and UTM) default algorithm: auto, evenden_snyder or poder_engsager
; * evenden_snyder is the fastest, but less accurate far from central meridian
; * poder_engsager is slower, but more accurate far from central meridian
Expand Down
Loading

0 comments on commit 6548674

Please sign in to comment.