88991 Commits

Author SHA1 Message Date
Even Rouault
8dd4f8455c Fix issue with .gch ccach'ing not working with QT6 and gcc 2024-12-03 04:39:49 +10:00
Even Rouault
ddaca73dbf Due to the introduction of precompiled headers, ccache builds require setting 'ccache -set-config sloppiness=pch_defines,time_macros' 2024-12-03 04:39:49 +10:00
Even Rouault
7b7cab76b2 src/server: use unity builds if ENABLE_UNITY_BUILDS 2024-12-03 04:39:49 +10:00
Even Rouault
528c1eb62d src/app: use unity builds if ENABLE_UNITY_BUILDS 2024-12-03 04:39:49 +10:00
Even Rouault
534257b768 qgsdwgimporter.h: add import guard 2024-12-03 04:39:49 +10:00
Even Rouault
f62d1329eb src/3d: use unity builds if ENABLE_UNITY_BUILDS 2024-12-03 04:39:49 +10:00
Even Rouault
dbf2872972 src/analysis: use unity builds if ENABLE_UNITY_BUILDS 2024-12-03 04:39:49 +10:00
Even Rouault
1bb1e7fc24 src/analysis: changes to allow unity builds 2024-12-03 04:39:49 +10:00
Even Rouault
40692edcec windows-qt6.yml: enable ENABLE_UNITY_BUILDS=ON 2024-12-03 04:39:49 +10:00
Even Rouault
5e5cb683c5 CI: set ENABLE_UNITY_BUILDS=ON for run-test.yml 2024-12-03 04:39:49 +10:00
Even Rouault
6a3f0d8fb2 src/gui: use unity builds if ENABLE_UNITY_BUILDS 2024-12-03 04:39:49 +10:00
Even Rouault
e88eb7ae96 src/gui/editorwidgets: remove unused private members 2024-12-03 04:39:49 +10:00
Even Rouault
cf868f8f4c QgsMapLayerConfigWidget/QgsRendererRasterPropertiesWidget: suppress -Woverloaded-virtual warning related to syncToLayer() method 2024-12-03 04:39:49 +10:00
Even Rouault
6c861c4be6 src/gui/auth: factor common code to make it unity builds friendly 2024-12-03 04:39:49 +10:00
Even Rouault
779d5343fc Make unity builds conditioned by ENABLE_UNITY_BUILDS that defaults to OFF 2024-12-03 04:39:49 +10:00
Even Rouault
ddacd8ab9e src/core/CMakeLists.txt: enable UNITY_BUILD 2024-12-03 04:39:49 +10:00
Even Rouault
84950b5e07 QgsLayoutItemLabel: remove unused private member 2024-12-03 04:39:49 +10:00
Even Rouault
457310de6b qgis.cpp: namespace str() and xstr() macros 2024-12-03 04:39:49 +10:00
Even Rouault
57c30bd172 Undefine #define at end of compilation units to avoid conflicts 2024-12-03 04:39:49 +10:00
Even Rouault
8cfa9b2266 Add missing #define CPL_SUPRESS_CPLUSPLUS 2024-12-03 04:39:49 +10:00
Even Rouault
31543612a4 qgspointcloudrequest.cpp: add explicit cast for qHash() to avoid a qHash(QgsFeature) to be a potential candidate 2024-12-03 04:39:49 +10:00
Even Rouault
e7d6063d3a src/core/numericformats: avoid potential one-definition-rule violation 2024-12-03 04:39:49 +10:00
Even Rouault
3220819a2b src/core/geocoding: avoid same name for global constant 2024-12-03 04:39:49 +10:00
Even Rouault
456d6bc09e src/core/mesh: factor a common method 2024-12-03 04:39:49 +10:00
Even Rouault
43292fad70 qgsgml/qgsgmlshema: avoid redefining same constant 2024-12-03 04:39:49 +10:00
Even Rouault
aecccc8b7e [OGR provider] Fix inappropriate use of OGREnvelope3D 2024-12-03 04:39:49 +10:00
Even Rouault
9c8000ee6e
Merge pull request #59696 from rouault/test_qgsproviderconnection_ogr_gpkg_precommit_fix
run precommit on test_qgsproviderconnection_ogr_gpkg
2024-12-02 19:25:19 +01:00
Even Rouault
99a4d34676
run precommit on test_qgsproviderconnection_ogr_gpkg 2024-12-02 19:23:10 +01:00
hxbb00
fbd05dbebc
Fix: incorrect gpkg table comment (#59626)
* Fix: incorrect gpkg table comment

* add table comment test
2024-12-02 19:06:39 +01:00
qgis-bot
f802e20284 auto sipify 🍺 2024-12-02 14:21:09 +00:00
Alexander Bruy
1c9c8f21c4
Merge pull request #59686 from nyalldawson/label_metrics
Move class, method out of QgsPalLabeling to central location
2024-12-02 14:17:52 +00:00
Alexander Bruy
45e0cdf9c0
Merge pull request #59687 from nyalldawson/no_warn_con
Avoid false-positive warning when showing context menu for layers
2024-12-02 14:17:34 +00:00
Stefanos Natsis
21f693e952
[Feature] Data Source Manager STAC search initial implementation (#59534)
* Data Source Manager STAC search initial implementation

* Review fixes

* More stac tests

* Silence clang-tidy
2024-12-02 09:50:50 +01:00
Nyall Dawson
28707893ff
Avoid false-positive warning when showing context menu for layers 2024-12-02 12:49:35 +10:00
Nyall Dawson
7670fbe362
Move class, method out of QgsPalLabeling to central location 2024-12-02 12:46:23 +10:00
Matthias Kuhn
f041077a36
Merge pull request #59681 from qgis/dependabot/github_actions/actions/setup-python-5
Bump actions/setup-python from 4 to 5
2024-12-01 21:39:53 +01:00
dependabot[bot]
5b85d403b7
Bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-01 20:39:29 +00:00
Matthias Kuhn
bba8eec7c0
Merge pull request #59680 from qgis/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2024-12-01 21:37:53 +01:00
dependabot[bot]
0e7a3f49e7
Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-01 19:45:14 +00:00
Even Rouault
3c143d501a server: use qgis.h precompiled header 2024-12-01 05:30:10 +10:00
Even Rouault
e32fea0425 Significantly (23 to 33%) faster builds of qgis_core/analysis/3d/gui/app
by precompiling qgis.h

Needs to be precompiled for each target due to different includes, defines, etc. (~ 4 second for each target to build the precompiled header in below timings)

Executive summary:
- ~ 33% faster builds on ubuntu 22.04, QT5
- ~ 23% faster builds (only measured on qgis_core) on fedora:rawhide, QT6
- build artifact increase size: + ~7%
- shared library increase size: + 1% at most

Setup: laptop with Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz, host OS Ubuntu 20.04,
QGIS built in Docker

Details:

* ubuntu 22.04, QT5, regular, CMAKE_BUILD_TYPE=Debug

```bash
$ time make -j12 qgis_core
real	9m8.566s
user	90m24.917s
sys	    9m51.179s

$ du -c src/core | tail -n 1
1994796	total

$ ll ./output/lib/libqgis_core.so.3.41.0
-rwxr-xr-x 1 root root 590223936 Nov 30 00:35 ./output/lib/libqgis_core.so.3.41.0*
```

```bash
$ time make -j12 qgis_gui
real	8m26.430s
user	80m28.457s
sys	    11m27.936s

$ du -c src/gui | tail -n 1
1538440	total

$ ll ./output/lib/libqgis_gui.so.3.41.0
-rwxr-xr-x 1 root root 454560448 Nov 30 00:47 ./output/lib/libqgis_gui.so.3.41.0*
```

```bash
$ time make -j12 qgis_app
real	4m55.189s
user	47m4.876s
sys	    6m54.868s

$ du -c src/app | tail -n 1
783256	total

$ ll ./output/lib/libqgis_app.so.3.41.0
-rwxr-xr-x 1 root root 232041152 Nov 30 01:25 ./output/lib/libqgis_app.so.3.41.0*
```

* ubuntu 22.04, QT5, qgis.h as precompiled header, CMAKE_BUILD_TYPE=Debug:

```bash
$ time make -j12 qgis_core
real	6m3.472s
user	59m3.835s
sys	    5m22.424s

$ du -c src/core | tail -n 1
2137448	total

$ ll ./output/lib/libqgis_core.so.3.41.0
-rwxr-xr-x 1 root root 598395456 Nov 30 00:56 ./output/lib/libqgis_core.so.3.41.0*
```

```bash
$ time make -j12 qgis_gui
real	5m45.719s
user	53m30.107s
sys	    6m11.246s

$ du -c src/gui | tail -n 1
1660444	total

$ ll ./output/lib/libqgis_gui.so.3.41.0
-rwxr-xr-x 1 root root 456432320 Nov 30 01:04 ./output/lib/libqgis_gui.so.3.41.0*
```

```bash
$ time make -j12 qgis_analysis
real	2m36.504s
user	26m25.310s
sys	    2m17.601s

$ du -c src/analysis/ | tail -n 1
920912	total

$ ll ./output/lib/libqgis_analysis.so.3.41.0
-rwxr-xr-x 1 root root 228178496 Nov 30 01:11 ./output/lib/libqgis_analysis.so.3.41.0*
```

```bash
$ time make -j12 qgis_3d
real	0m43.710s
user	6m9.148s
sys	    0m39.859s

$ du -c src/3d | tail -n 1
315212	total

$ ll ./output/lib/libqgis_3d.so.3.41.0
-rwxr-xr-x 1 root root 58472960 Nov 30 01:14 ./output/lib/libqgis_3d.so.3.41.0*
```

```bash
$ time make -j12 qgis_app
real	3m35.156s
user	34m17.371s
sys	    3m52.111s

$ du -c src/app | tail -n 1
905160	total

$ ll ./output/lib/libqgis_app.so.3.41.0
-rwxr-xr-x 1 root root 232577728 Nov 30 01:19 ./output/lib/libqgis_app.so.3.41.0*
```

* fedora:rawhide, QT6, regular, CMAKE_BUILD_TYPE=Debug:

```bash
$ time ninja qgis_core
real	13m47.521s
user	134m48.546s
sys	    10m2.176s

$ du -c src/core | tail -n 1
2862200	total

$ ll ./output/lib/libqgis_core.so.3.41.0
-rwxr-xr-x 1 root root 824605072 Nov 30 00:53 ./output/lib/libqgis_core.so.3.41.0

```

* fedora:rawhide, QT6, qgis.h as precompiled header, CMAKE_BUILD_TYPE=Debug:

```bash
$ time ninja qgis_core
real	10m35.657s
user	97m51.161s
sys	    7m59.564s

$ du -c src/core | tail -n 1
3028420	total

$ ll ./output/lib/libqgis_core.so.3.41.0
-rwxr-xr-x 1 root root 825732184 Nov 30 00:38 ./output/lib/libqgis_core.so.3.41.0
```
2024-12-01 05:30:10 +10:00
Denis Rouzaud
f86385ef5d
Update .git-blame-ignore-revs (#59674) 2024-11-30 16:32:22 +01:00
Denis Rouzaud
4f61a6b998
Run pre commit on PRs on 3.40 too (#59672) 2024-11-30 16:30:15 +01:00
Denis Rouzaud
33ea41a100 run pre-commit 2024-11-30 15:07:24 +01:00
Denis Rouzaud
5b60c23a49 discard non-sipified directories in prepare_commit and verify_indent 2024-11-30 15:07:24 +01:00
Denis Rouzaud
e8b702b9b8 add clang-format for non-sipified directories 2024-11-30 15:07:24 +01:00
Denis Rouzaud
79812e01ac add clang format 2024-11-30 15:07:24 +01:00
qgis-bot
292bb8fa79 auto sipify 🍺 2024-11-29 21:40:53 +00:00
Andrea Giudiceandrea
ff622ab7d5 [GUI][Annotations] Rename "Create Picture" to "Create Picture Annotation"
Uniform the action name to the other ones
2024-11-30 07:37:42 +10:00
Nyall Dawson
c31d4dcda1 Modernize combobox handling 2024-11-30 07:36:47 +10:00