Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Capture profile points #4

Open
wants to merge 471 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
471 commits
Select commit Hold shift + click to select a range
efdb16e
Qt6 compatibility
nirvn Jan 27, 2025
b4b2dfd
Address review
nirvn Jan 29, 2025
964ef3a
auto sipify 🍺
Jan 29, 2025
a0414c4
QgsChunkBoundsEntity: use 3D boxes in map coordinates + QgsGeoTransform
wonder-sk Jan 29, 2025
5905092
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 29, 2025
8511426
doc and clang tidy fixes
wonder-sk Jan 29, 2025
02719c5
auto sipify 🍺
Jan 29, 2025
4f8fbc6
Update src/gui/vector/qgsvectorlayerproperties.cpp
nyalldawson Jan 30, 2025
307b362
Merge pull request #60338 from alexbruy/vector-join-editing
alexbruy Jan 30, 2025
3f911af
Merge pull request #60295 from nyalldawson/avoid_project_break
troopa81 Jan 30, 2025
84c126d
Fix incorrect annotation HTML shown when clicking between annotations
nyalldawson Jan 29, 2025
1683962
Improve HTML text detection
nyalldawson Jan 30, 2025
5af35f6
Cleanup unnecessary old cmake debug message
nyalldawson Jan 29, 2025
9fab88e
Require PROJ >= 8.2
nyalldawson Jan 29, 2025
977f861
Remove misleading comment
nyalldawson Jan 29, 2025
af584b3
Remove duplicate proj version checks, support for very old proj versions
nyalldawson Jan 29, 2025
10eb247
Reluctantly allow 8.1 for mac builds
nyalldawson Jan 29, 2025
8c99b4c
Remove dead code from PROJ <8.1
nyalldawson Jan 29, 2025
5ccaad7
Improve condition check
nyalldawson Jan 29, 2025
6257874
Fix README
nyalldawson Jan 29, 2025
ed6b7b9
Fix check
nyalldawson Jan 29, 2025
1b2b06d
Update CMakeLists.txt
nyalldawson Jan 29, 2025
ca8643e
Restore correct version of test
nyalldawson Jan 29, 2025
91c4e96
auto sipify 🍺
Jan 30, 2025
176890f
fix(SipDeprecated): Don't use deprecated annotation with message
troopa81 Jan 30, 2025
6dae454
add raster creation options support to georeferencer (fix #47362)
alexbruy Jan 29, 2025
03226d9
adapt existing methods instead of creating overrides
alexbruy Jan 30, 2025
6bf6d04
do not translate settings descriptions
alexbruy Jan 30, 2025
0398734
Use font button in annotation widgets instead of full text format widget
nyalldawson Jan 30, 2025
b3a88a2
Register vector tile label features first when all tiles are fetched
Jan 30, 2025
9e0e881
update raster resampling widgets after loading a style (fix #56771)
alexbruy Jan 30, 2025
2e3be25
remove option to set layer name from WMS, WFS and delimited text pages
alexbruy Jan 21, 2025
9f7f9d7
remove unused variable
alexbruy Jan 29, 2025
5158569
Remove an extraneous setting of layer scope for vectors
nyalldawson Jan 31, 2025
1bdce04
Simplify cmake condition
nyalldawson Jan 30, 2025
3e50833
Only include Dart when push to cdash is enabled
nyalldawson Jan 30, 2025
096d6d0
Remove unused/unmaintained jenkins_run script
nyalldawson Jan 30, 2025
7a0e929
Remove unused script for listing pull requests
nyalldawson Jan 30, 2025
68d29e9
Remove scripts/remove_non_svn_files.sh
nyalldawson Jan 30, 2025
8977aac
Remove unused sipdiff script
nyalldawson Jan 30, 2025
033512a
Remove unused widgets_tree.py script
nyalldawson Jan 30, 2025
3ed5714
Fix incorrect QGISDEBUG definition check
nyalldawson Jan 31, 2025
4a3f5d5
[sensorthings] Remove option for basic authentication
nyalldawson Jan 31, 2025
65670a5
auto sipify 🍺
Jan 31, 2025
1cf9734
When a layer changes from non-spatial to spatial, update canvas layers
nyalldawson Jan 31, 2025
c42f86f
Add Raster Layer: do not include credentials in layer name
rouault Jan 31, 2025
27a2846
[pal] Always iterate through labeled layers in original layer order
nyalldawson Jan 31, 2025
31df6fa
[pal] reverse iterate through layers
nyalldawson Jan 31, 2025
3c23af4
[vector tiles] Fix handling of zoom levels for mbtiles datasets
nirvn Feb 2, 2025
aa5de9a
Add test coverage
nirvn Feb 2, 2025
05a22ea
[annotations][ui] Fix fixed-size unit combo box not set when editing …
nirvn Feb 2, 2025
8dc43d7
[sensorthings] Offer choices of non-polygon geometry types for multid…
nyalldawson Jan 31, 2025
2cc2a22
[sensorthings] Don't allow expansion back to base entity type
nyalldawson Jan 31, 2025
47a72b4
Limit number of hardcoded strings for layer type by leveraging QgsMap…
rouault Jan 30, 2025
530eb4b
Test and code adjustments related to MIME type serialization for Poin…
rouault Jan 31, 2025
f24a5c4
auto sipify 🍺
Feb 2, 2025
5e324ef
[ui] Fix missing @cluster_size and @cluster_color variables not visib…
nirvn Feb 2, 2025
1907ab3
QgsMapLayer::publicSource(): make it redact/remove GDAL credentials
rouault Jan 31, 2025
775c207
auto sipify 🍺
Feb 2, 2025
39260ec
[georeferencer] Fix the layer -> georeferencer menu action when in do…
nirvn Feb 2, 2025
fcff471
fix handling empty raster column
JanCaha Jan 22, 2025
6935c13
add tests for raster style saving in postgresql db
JanCaha Jan 22, 2025
edc5453
add test case with specified raster column
JanCaha Jan 22, 2025
beb2b1d
Avoid coverity warning about wrapper use after free
nyalldawson Feb 3, 2025
664abaa
Remove redundant nullptr check
nyalldawson Feb 3, 2025
3cca51b
[sensorthings] only allow expansion removal from end of table
nyalldawson Feb 3, 2025
0a87489
fix crash in editing without current layer (#60411)
3nids Feb 3, 2025
d4c592e
Move provider-specific credential redaction logic to QgsProviderMetadata
nyalldawson Feb 2, 2025
597a945
Apply suggestions from code review
rouault Feb 3, 2025
b63d11e
Apply suggestions from code review
rouault Feb 3, 2025
94e27d5
Remove unused method
uclaros Jan 23, 2025
53a981e
Check if point is within view frustum / not behind the near plane
uclaros Jan 23, 2025
7632aac
Check if point is within 3d map's clipping extent
uclaros Jan 23, 2025
60fc97d
Check if points have a visible classified renderer category
uclaros Jan 23, 2025
fc041a5
Check if points satisfy the point cloud layer's filter expression
uclaros Jan 23, 2025
1ccdc1c
Adjust point elevation using the layer's elevation properties scale a…
uclaros Jan 23, 2025
5cadd75
Make subsetString/setSubsetString virtual
uclaros Jan 27, 2025
ccbcc27
Update ignoreIndexFilterEnabled docstrings and make sure it is respec…
uclaros Jan 27, 2025
5337d49
Check bbox intersection before polygon intersection
uclaros Jan 27, 2025
1ec3325
Store filter expression as a QString in QgsPointCloudCacheKey
uclaros Jan 28, 2025
7f9b277
Add test for editing a filtered layer
uclaros Jan 28, 2025
a5788aa
Use prepared geometry for intersection checking
uclaros Jan 29, 2025
3bb99d9
make clang-tidy happy
uclaros Jan 30, 2025
64100e8
more clang
uclaros Jan 30, 2025
f51d66d
auto sipify 🍺
Feb 3, 2025
5745bd6
Update FindProj.cmake
elpaso Feb 3, 2025
12a2079
Ensure consistent label positioning by sorting rule based label provi…
PatrikSylve Feb 4, 2025
0459679
auto sipify 🍺
Feb 4, 2025
266746a
[sensorthings] Offer MultiDatastreams as valid expansion targets
nyalldawson Feb 3, 2025
207a57f
[sensorthings] Fix provider does not work with oauth2 config method
nyalldawson Feb 3, 2025
dd03eeb
Add a linux triplet to (more) easily build QGIS against vcpkg (#60393)
nirvn Feb 4, 2025
623388e
[ogr] Fix mapinfo (multi)polygo type layers
elpaso Feb 3, 2025
3743612
Refactor the logic to collapse geometry types into multi
elpaso Feb 4, 2025
095fce6
Test data
elpaso Feb 4, 2025
5e19673
Attempt to delegate bounding box transformation to proj on >= 8.2
nyalldawson Jan 29, 2025
b8d57e0
Explain magic number
nyalldawson Jan 29, 2025
911ae29
Add render masks
nyalldawson Jan 29, 2025
3a0909b
Add render mask
nyalldawson Jan 29, 2025
505aa63
Add some tolerance to test
nyalldawson Jan 29, 2025
70f15cc
Update server reference files to proj >= 8.2 versions
nyalldawson Jan 29, 2025
dde5abb
Adapt tests for proj 8.2 results
nyalldawson Jan 30, 2025
fa1bae1
Adapt tests for proj 8.2 results
nyalldawson Jan 30, 2025
f3b20de
Demote crs to 2d only crs before calling proj_trans_bounds
nyalldawson Jan 30, 2025
b9de4c4
Use compound crs workaround only on proj < 9.6
nyalldawson Feb 3, 2025
0f2b0e4
Update test to newer infrastructure
nyalldawson Feb 4, 2025
eac6d8e
Fix testing for vertical axis of bound crs
nyalldawson Feb 4, 2025
be08c25
Don't transform 2d bounding boxes when geocentric crs involved
nyalldawson Feb 4, 2025
d733612
Test mask
nyalldawson Feb 4, 2025
4b66a86
Test mask update
nyalldawson Feb 4, 2025
638e6a9
auto sipify 🍺
Feb 4, 2025
0520d1f
QString fixup
nyalldawson Feb 4, 2025
db7b9af
Use translated string for password helper
nyalldawson Feb 4, 2025
57a108b
Use more precise string if we're running on KDE
nyalldawson Feb 4, 2025
e9a6e05
Don't offer to backup auth database if non-sqlite storage in use
nyalldawson Feb 4, 2025
349ab7e
Remove useless signal blocking
nyalldawson Feb 4, 2025
57979ff
Simplify password validation in reset password dialog
nyalldawson Feb 4, 2025
5ae9dfe
Add new password confirmation step to reset master password dialog
nyalldawson Feb 4, 2025
cbee832
Can't use SIP_DEPRECATED with non-methods
nyalldawson Feb 4, 2025
cc53e8a
[processing][gui] Fix InterpolationDataWidget
agiudiceandrea Feb 4, 2025
16c197d
include destination file name in the error message when export of vector
alexbruy Feb 4, 2025
1b0a1d8
[processing] "Order by expression" needs to regenerate fid
agiudiceandrea Feb 4, 2025
87ffd09
fix(CategorizedRenderer): reset mask information on source symbol
troopa81 Jan 28, 2025
6865325
clean(MaskingWidget): remove unused variables
troopa81 Jan 28, 2025
94279ad
fix(SymbolCopyPaste): reset symbol layer ids on copy/paste
troopa81 Jan 28, 2025
ed11cc6
design(MaskSymbolLayer): add clearMasks only in mask symbol layer
troopa81 Feb 4, 2025
997a591
auto sipify 🍺
Feb 4, 2025
4a1761b
Always use switch for layer tree insertion method enum checks
nyalldawson Feb 5, 2025
d26104f
Fix potential crashes when layer tree insertion target group is deleted
nyalldawson Feb 5, 2025
b676079
auto sipify 🍺
Feb 5, 2025
7ed63c0
When changing rect text annotation to fixed size mode, use current size
nyalldawson Feb 4, 2025
8749c3a
Fix crash in text renderer when wrapping with one word + small rect
nyalldawson Feb 4, 2025
20972fc
More fixes for use of inline data for SVG content
nyalldawson Feb 5, 2025
e021958
auto sipify 🍺
Feb 5, 2025
f705bad
[sensorthings] Hide proxy fields for interval fields in filter builder
nyalldawson Jan 31, 2025
21224e9
[sensorthings] Offer geometry for Datastream entities
nyalldawson Jan 31, 2025
3f207fa
Fix test
nyalldawson Feb 2, 2025
6b3d6c8
auto sipify 🍺
Feb 5, 2025
08a410c
main annotation layer should be used as a valid option even if type hint
alexbruy Jan 29, 2025
ba555f1
fix layer resolution logic
alexbruy Feb 3, 2025
e7d22c7
always return "main" label for main annotation layer
alexbruy Feb 4, 2025
ff09724
Update src/core/processing/qgsprocessingutils.cpp
nyalldawson Feb 4, 2025
a99adcd
Fix tests
elpaso Feb 5, 2025
e381be9
Merge pull request #60441 from nyalldawson/auth_manager_ux_tweaks
elpaso Feb 5, 2025
aa8c168
auto sipify 🍺
Feb 5, 2025
431bf62
Cleanup memory management in paint effects
nyalldawson Feb 5, 2025
0bd47dc
Fix paint effects sometimes result in aliased rendering
nyalldawson Feb 5, 2025
c99605c
Add test
nyalldawson Feb 5, 2025
5cb1720
Fix clang tidy warnings
nyalldawson Feb 5, 2025
33aad3e
auto sipify 🍺
Feb 5, 2025
e1ab89b
Silence deprecation warnings for QgsMaskPaintEngine
nyalldawson Feb 5, 2025
1f7d1ad
restore fill brush when switching back to single and double box scalebar
alexbruy Feb 4, 2025
2fd0175
restore default scalebar style only if fill symbol is invisible
alexbruy Feb 5, 2025
b088ef2
use dynamic_cast
alexbruy Feb 5, 2025
e32f996
auto sipify 🍺
Feb 5, 2025
7dde9a9
More descriptive expression parsing errors when a function is not found
nyalldawson Feb 5, 2025
8a0bb7f
On systems with keychain support, automatically just create a random
nyalldawson Nov 3, 2023
8b94188
Don't show message bar messages for successful wallet operations
nyalldawson Feb 4, 2025
893d135
Add documentation
nyalldawson Feb 5, 2025
dc20991
Add user facing warning if password cannot be verified
nyalldawson Feb 5, 2025
6c3ad4b
Use translated wallet name
nyalldawson Feb 5, 2025
32881f5
auto sipify 🍺
Feb 5, 2025
e3db42f
Update test
nyalldawson Feb 6, 2025
ae383d5
Merge pull request #60472 from nyalldawson/exp_errors
troopa81 Feb 6, 2025
ab9582b
Merge pull request #60470 from nyalldawson/deprecated_mask
troopa81 Feb 6, 2025
79e4ccb
fix(QgsMapToolCapture): Allow snapping point with different crs
lbartoletti Feb 5, 2025
d4526d7
auto sipify 🍺
Feb 6, 2025
685a002
Mention in the docs that to_string is not locale-aware
elpaso Feb 6, 2025
b6d1d7e
add missed import and fix getThemeIcon() call (follow-up #60261)
alexbruy Feb 6, 2025
278eb79
fix(Build): fix warning issues (#60428)
troopa81 Feb 6, 2025
6b4ffb3
Merge pull request #60480 from alexbruy/processing-script-editor-typos
alexbruy Feb 6, 2025
c90eb46
Address PR comments
elpaso Feb 6, 2025
2f6bcb3
Merge pull request #60479 from elpaso/bugfix-gh60440-to_string-not-lo…
elpaso Feb 6, 2025
58b9c3e
Fix test
elpaso Feb 6, 2025
c004c66
Use reply content as an error string if it is plain text
uclaros Feb 6, 2025
48b7079
[symbology][gui] Fix symbol selector dialog not passing on its contex…
nirvn Feb 6, 2025
912bf7d
qgsvectorlayer: Properly invalidate extent cache on feature addition
ptitjano Feb 4, 2025
98bfa4a
qgsvectorlayer: Properly invalidate extent cache on feature deletion
ptitjano Feb 5, 2025
bf6268f
when adding WMS/WFS layers from Browser use project CRS if it is
alexbruy Feb 6, 2025
bd4eb2f
qgslayertreeregistrybridge: Add a layerInsertionPoint getter
ptitjano Feb 5, 2025
a46f3e9
postprocessing: Use QgsLayerTreeRegistryBridge to add layers
ptitjano Feb 4, 2025
e8c0d70
use null value when pasting as temporary layer and attributes cannot …
uclaros Jul 4, 2024
a4ccbb0
auto sipify 🍺
Feb 7, 2025
b7bd622
Fix QgsError.isEmpty() documentation
kannes Feb 6, 2025
c5dee65
fix(RuleBasedRendering): keep rule key while cloning when needed
troopa81 Feb 6, 2025
e73c010
Update tests/src/gui/testqgslabelingwidget.cpp
nyalldawson Feb 6, 2025
96b09f2
auto sipify 🍺
Feb 7, 2025
b3308cf
If password keychain helper is enabled, always sync password
nyalldawson Nov 9, 2023
49146a4
Explicitly state when new password will be stored in the system wallet
nyalldawson Feb 4, 2025
61f36f1
Don't try to sync passwords on CI runs
nyalldawson Feb 5, 2025
7eb4125
Use translated string
nyalldawson Feb 5, 2025
55288fe
Update some auth strings
nyalldawson Feb 7, 2025
038036d
Use "auto" for std::unique_ptr<X> = std::make_unique<X>
nyalldawson Feb 6, 2025
2db0254
Catch another variant of make_unique
nyalldawson Feb 6, 2025
0ac9936
Upgrade std::unique_ptr xx( new XX ) to auto/std::make_unique
nyalldawson Feb 6, 2025
e6746f3
Also upgrade make_shared
nyalldawson Feb 6, 2025
1403b21
Rename qstringfixup to code_fixup
nyalldawson Feb 6, 2025
4677b6d
fix(reshape-line): keep original direction on reshaping linestrings
Djedouas Feb 5, 2025
f7702bc
Add method to verify that password stored in password helper is valid
nyalldawson Nov 9, 2023
0450bf5
Add method to reset master password using the existing password
nyalldawson Nov 9, 2023
ea9ac1d
When changing master password, don't prompt for the existing
nyalldawson Nov 9, 2023
8d4fc08
Add boolean setting for whether the user is still using a random
nyalldawson Feb 6, 2025
af8394f
Don't dump hashes to console
nyalldawson Feb 6, 2025
e4a083d
Only skip existing password verification when changing master pw
nyalldawson Feb 6, 2025
83ad87f
Documentation precision
nyalldawson Feb 7, 2025
529b36a
Tweak API so that password helper read success state can be determine…
nyalldawson Feb 7, 2025
669e1a0
More fine-grained error reporting
nyalldawson Feb 7, 2025
c1e5e62
Merge pull request #60410 from elpaso/bugfix-gh_60396-mapinfo-multipo…
elpaso Feb 7, 2025
7c5db3b
Update to_string
elpaso Feb 7, 2025
e38c80e
auto sipify 🍺
Feb 7, 2025
87dba21
launch ci
ptitjano Nov 6, 2024
517214b
Remove useless headers
Simon-Lopez Sep 2, 2024
14de632
Toggle layer edition from elevation profile layer tree
Simon-Lopez Sep 2, 2024
7afa86a
WIP Add capture point tool
Simon-Lopez Sep 2, 2024
162fcf0
fix compilation
ptitjano Nov 6, 2024
0b99a2f
qgselevationprofilewidget: Limit toogle editing menu to points
ptitjano Nov 13, 2024
6b8724c
qgselevationprofilewidget: Fix add feature icon
ptitjano Nov 13, 2024
6e927e5
qgselevationprofilewidget: Move the edit action
ptitjano Nov 13, 2024
6c4a3f5
qgselevationprofilewidget: Properly enable add point button
ptitjano Nov 13, 2024
e3cd9d3
qgselevationprofiletooladdpoint: First implementation
ptitjano Nov 15, 2024
acd77e9
qgselevationprofiletooladdpoint: fixed toggle action logic
Djedouas Nov 29, 2024
6d1324b
qgselevationprofiletooladdpoint: don't add point if no profile
Djedouas Nov 29, 2024
25cf38a
qgselevationprofiletooladdpoint: include moc
Djedouas Nov 29, 2024
a3b675d
qgselevationprofilelayertreeview: handle edit marker on layer symbol
Djedouas Nov 29, 2024
b32620b
qgselevationprofiletooladdpoint: Handle snapping
ptitjano Dec 1, 2024
5578f0f
qgselevationprofiletooladdpoint: better warning message
Djedouas Dec 2, 2024
8dc37b5
qgselevationprofilewidget: formatting and cleaning includes
Djedouas Dec 3, 2024
62b8f0c
qgselevationprofilewidget: fix wrong initialization
Djedouas Dec 3, 2024
1833707
qgselevationprofiletooladdpoint: remove unnecessary method
Djedouas Dec 3, 2024
f2b82bc
qgselevationprofiletooladdpoint: minor simplification
Djedouas Dec 3, 2024
d783952
qgsplotrubberband: add a new point rubberband
Djedouas Dec 3, 2024
95be1ff
qgselevationprofiletoolmovepoint: add a new tool to move points
Djedouas Dec 3, 2024
1c71380
qgselevationprofilewidget: layertreeview - contextual menu for edit a…
Djedouas Dec 4, 2024
ac4306c
qgselevationprofiletooladdpoint: add warning if edit tool still the a…
Djedouas Dec 4, 2024
3a5b65b
qgselevationprofilewidget: add edit and save layer actions
Djedouas Dec 4, 2024
dc25213
qgselevationprofilewidget: Do not allow to edit a read only layer
ptitjano Dec 12, 2024
c54fa7c
qgselevationprofile: add new action to select features in plot canvas
Djedouas Jan 8, 2025
4e2d78e
refacto(qgselevationprofiletool): use instance method
Djedouas Jan 8, 2025
8880234
fix(qgselevationprofiletoolmovepoint): handle different layer/canvas …
Djedouas Jan 8, 2025
8aa1bd2
refacto(qgselevationprofilewidget): simplify members
Djedouas Jan 8, 2025
bc4bfec
clang-format
Djedouas Jan 8, 2025
6aa5e05
fix(qgselevationprofilewidget): bad context in connect()
Djedouas Jan 8, 2025
62e527b
sipify
Djedouas Jan 9, 2025
a60e20b
include moc
Djedouas Jan 9, 2025
85b1241
fix(qgselevationprofile): segfault on contextual menu for non vector …
Djedouas Jan 9, 2025
983e163
qgsvectorlayerprofilegenerator: Fix indentation
ptitjano Jan 10, 2025
5b26788
qgselevationprofilewidget: add delete features action
Djedouas Jan 10, 2025
fff116c
qgselevationprofilecanvas: give possibility to delegate the cross hai…
Djedouas Jan 10, 2025
67bd808
qgselevationprofilewidget: move tool can lock the abscissa with ctrl …
Djedouas Jan 10, 2025
9574723
qgselevationprofilecanvas: Allow to display inflection lines
ptitjano Feb 13, 2025
e6e94f2
qgselevationprofilewidget: Add an action to enable inflection lines
ptitjano Feb 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 7 additions & 1 deletion .ci/run_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,13 @@ test -n "${DOCKER}" || {

DOCKER_COMPOSE=$(command -v podman-compose docker-compose | head -1)
test -n "${DOCKER_COMPOSE}" || {
DOCKER_COMPOSE="${DOCKER} compose" # TODO: check if supported
DOCKER_COMPOSE="${DOCKER} compose"
# check if supported
${DOCKER_COMPOSE} > /dev/null || {
echo "Cannot find podman-compose or docker-compose, and '${DOCKER_COMPOSE}' fails" >&2
echo "HINT: try installing podman-compose" >&2
exit 1
}
}

IMAGE_BUILD_DEPS=docker.io/qgis/qgis3-build-deps:latest
Expand Down
15 changes: 8 additions & 7 deletions .docker/qgis3-qt5-build-deps.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -156,13 +156,14 @@ RUN apt-get update \

# HANA: client side
# Install hdbsql tool
RUN curl -j -k -L -H "Cookie: eula_3_2_agreed=tools.hana.ondemand.com/developer-license-3_2.txt" https://tools.hana.ondemand.com/additional/hanaclient-latest-linux-x64.tar.gz --output hanaclient-latest-linux-x64.tar.gz \
&& tar -xvf hanaclient-latest-linux-x64.tar.gz \
&& mkdir /usr/sap \
&& ./client/hdbinst -a client --sapmnt=/usr/sap \
&& rm -rf client \
&& rm hanaclient*
ENV PATH="/usr/sap/hdbclient:${PATH}"
# Does not always work
# RUN curl -j -k -L -H "Cookie: eula_3_2_agreed=tools.hana.ondemand.com/developer-license-3_2.txt" https://tools.hana.ondemand.com/additional/hanaclient-latest-linux-x64.tar.gz --output hanaclient-latest-linux-x64.tar.gz \
# && tar -xvf hanaclient-latest-linux-x64.tar.gz \
# && mkdir /usr/sap \
# && ./client/hdbinst -a client --sapmnt=/usr/sap \
# && rm -rf client \
# && rm hanaclient*
# ENV PATH="/usr/sap/hdbclient:${PATH}"

# MSSQL: client side
# RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Expand Down
23 changes: 12 additions & 11 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ on:
- master
- release-**
- queued_ltr_backports
- capture-profile-points
# paths cannot be filtered on this workflow on pull request as it is a required one in the branch protection
# feature request and hacks: https://github.community/t/feature-request-conditional-required-checks/16761

Expand Down Expand Up @@ -118,7 +119,7 @@ jobs:
echo QT_VERSION: ${QT_VERSION}

- name: Login to Docker Hub
if: ${{ github.event_name == 'push' && github.actor == 'qgis' }}
if: ${{ github.event_name == 'push' && github.repository == 'qgis/QGIS' }}
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
Expand All @@ -131,7 +132,7 @@ jobs:
context: .
file: .docker/qgis3-qt${{ matrix.qt-version }}-build-deps.dockerfile
tags: qgis/qgis3-build-deps-${{ matrix.distro-version }}-qt${{ matrix.qt-version }}:${{ github.event.pull_request.base.ref || github.ref_name }}
push: ${{ github.event_name == 'push' && github.actor == 'qgis' }}
push: false
pull: true
build-args:
DISTRO_VERSION=${{ matrix.distro-version }}
Expand Down Expand Up @@ -296,12 +297,12 @@ jobs:
run: |
echo CTEST_BUILD_NAME: ${CTEST_BUILD_NAME}

- name: Login to Docker Hub
if: ${{ github.event_name == 'push' && github.actor == 'qgis' }}
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# - name: Login to Docker Hub
# if: ${{ github.event_name == 'push' && github.actor == 'qgis' }}
# uses: docker/login-action@v3
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build Docker Container with Testing Environment
id: docker-build
Expand All @@ -310,7 +311,7 @@ jobs:
context: .
file: .docker/qgis3-qt${{ matrix.qt-version }}-build-deps.dockerfile
tags: qgis/qgis3-qt${{ matrix.qt-version }}-build-deps-bin-only:${{ github.event.pull_request.base.ref || github.ref_name }}
push: ${{ github.event_name == 'push' && github.actor == 'qgis' }}
push: false
pull: true
target: ${{ matrix.docker-target }}
build-args:
Expand Down Expand Up @@ -408,7 +409,7 @@ jobs:
fetch-depth: 2

- name: Login to Docker Hub
if: ${{ github.event_name == 'push' && github.actor == 'qgis' }}
if: ${{ github.event_name == 'push' && github.repository == 'qgis/QGIS' }}
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
Expand All @@ -421,7 +422,7 @@ jobs:
context: .
file: .docker/qgis3-qt${{ matrix.qt-version }}-build-deps.dockerfile
tags: qgis/qgis3-qt${{ matrix.qt-version }}-build-deps-bin-only:${{ github.event.pull_request.base.ref || github.ref_name }}
push: ${{ github.event_name == 'push' && github.actor == 'qgis' }}
push: ${{ github.event_name == 'push' && github.repository == 'qgis/QGIS' }}
pull: true
target: ${{ matrix.docker-target }}
build-args:
Expand Down
12 changes: 9 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ set(CMAKE_AUTORCC ON)
# set path to additional CMake modules
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
# POLICIES
if(NOT "${CMAKE_VERSION}" VERSION_LESS "3.27")
if("${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.27")
# include(Dart) still used, as is the "Experimental" target
cmake_policy(SET CMP0145 OLD)
endif()
Expand Down Expand Up @@ -435,6 +435,10 @@ if(WITH_CORE)
# required
find_package(Proj REQUIRED)
message(STATUS "Found Proj: ${PROJ_VERSION} ${PROJ_DIR}")
if(PROJ_VERSION VERSION_LESS "8.1")
message(FATAL_ERROR "Cannot build QGIS using Proj older than 8.1")
endif()

find_package(GEOS REQUIRED)
message(STATUS "Found Geos: ${GEOS_VERSION} ${GEOS_DIR}")
find_package(GDAL REQUIRED)
Expand Down Expand Up @@ -691,8 +695,10 @@ if (ENABLE_TESTS)
set (PUSH_TO_CDASH FALSE CACHE BOOL "Determines whether test results should be pushed to CDASH site")
set(QT_USE_QTTEST TRUE)
enable_testing()
# Adds some testing specific build targets e.g. make Experimental
include(Dart)
if (PUSH_TO_CDASH)
# Adds some testing specific build targets e.g. make Experimental
include(Dart)
endif()
# Additional test configuration options e.g. max upload size of test report
configure_file(
"${CMAKE_SOURCE_DIR}/cmake_templates/CTestCustom.cmake.in"
Expand Down
9 changes: 5 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ You can help us **by submitting bug reports or fixing bugs** in the [QGIS bug tr

If you wish to contribute patches you can:

1. [fork the project](https://help.github.com/forking/)
1. make your changes
1. commit to your repository
1. and then [create a pull request](https://help.github.com/articles/creating-a-pull-request-from-a-fork/).
1. [Fork the project](https://help.github.com/forking/)
2. Install the [pre-commit](https://pre-commit.com/) hook: `pre-commit install --install-hooks` (version 4.1+ required)
3. Make your changes
4. Commit to your repository
5. [Create a pull request](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)

The development team can then review your contribution and commit it upstream as appropriate.

Expand Down
43 changes: 39 additions & 4 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Building QGIS from source - step by step
+ [3.11.2. Suggested system tweaks](#3112-suggested-system-tweaks)
+ [3.11.3. Additional tools for QGIS development](#3113-additional-tools-for-qgis-development)
+ [3.11.4. QT6 experimental builds with Fedora Rawhide](#3114-qt6-experimental-builds-with-fedora-rawhide)
* [3.12. Building on Linux with vcpkg](#312-building-on-linux-with-vcpkg)
- [4. Building on Windows](#4-building-on-windows)
* [4.1. Building with Microsoft Visual Studio](#41-building-with-microsoft-visual-studio)
+ [4.1.1. Visual Studio 2022 Community Edition](#411-visual-studio-2022-community-edition)
Expand Down Expand Up @@ -106,7 +107,7 @@ Required build tools:
Required build dependencies:

* Qt >= 5.15.2
* Proj >= 7.2.0
* Proj >= 8.1.0
* GEOS >= 3.9
* Sqlite3 >= 3.0.0
* SpatiaLite >= 4.2.0
Expand Down Expand Up @@ -581,27 +582,61 @@ To build,
cmake .. -DBUILD_WITH_QT6=ON -DWITH_QTWEBKIT=OFF -DWITH_QTWEBENGINE=ON
```

## 3.12. Building on Linux with vcpkg

With [vcpkg](https://github.com/microsoft/vcpkg/) you can develop QGIS using
Qt6 on a Linux system.

First, [Install and initialize vcpkg](https://github.com/microsoft/vcpkg-tool/blob/main/README.md#installuseremove).

Get the QGIS source code:

```sh
git clone [email protected]:qgis/QGIS.git
```

Configure:

```sh
cmake -S . \
-B ./build-x64-linux \
-GNinja \
-DCMAKE_BUILD_TYPE=Debug \
-DWITH_VCPKG=ON \
-DBUILD_WITH_QT6=ON \
-DWITH_QTWEBKIT=OFF \
-DWITH_BINDINGS=ON \
-DVCPKG_TARGET_TRIPLET=x64-linux-dynamic-release \
-DVCPKG_HOST_TRIPLET=x64-linux-dynamic-release
```

Build:

```sh
cmake --build ./build-x64-linux
```

# 4. Building on Windows

## 4.1. Building with Microsoft Visual Studio

This section describes how to build QGIS using Visual Studio (MSVC) 2019 on Windows.
This section describes how to build QGIS using Visual Studio (MSVC) 2022 on Windows.
The official Windows packages are built using OSGeo4W.

This section describes the setup required to allow Visual Studio to be used to
build QGIS.

### 4.1.1. Visual Studio 2022 Community Edition

Download and install the [free (as in free beer) Community installer](https://download.visualstudio.microsoft.com/download/pr/68d6b204-9df0-4fcc-abcc-08ee0eff9cb2/b029547488a9383b0c8d8a9c813e246feb3ec19e0fe55020d4878fde5f0983fe/vs_Community.exe)
Download and install the [free (as in free beer) Community installer](https://c2rsetup.officeapps.live.com/c2r/downloadVS.aspx?sku=community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030:7851336a02d44ba38a548acc719002df)

Select "Desktop Development with C++"

### 4.1.2. Other tools and dependencies

Download and install following packages:

* [CMake](https://cmake.org/files/v3.12/cmake-3.12.3-win64-x64.msi)
* [CMake](https://github.com/Kitware/CMake/releases/download/v3.31.4/cmake-3.31.4-windows-x86_64.msi)
* GNU flex, GNU bison and GIT with [cygwin 64bit](https://cygwin.com/setup-x86_64.exe)
* [OSGeo4W](https://download.osgeo.org/osgeo4w/v2/osgeo4w-setup.exe)
* [ninja](https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip): Copy the `ninja.exe` to `C:\OSGeo4W\bin\`
Expand Down
32 changes: 5 additions & 27 deletions cmake/FindProj.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ if(NOT PROJ_FOUND)
OR NOT CMAKE_FIND_FRAMEWORK)
SET (CMAKE_FIND_FRAMEWORK_save ${CMAKE_FIND_FRAMEWORK} CACHE STRING "" FORCE)
SET (CMAKE_FIND_FRAMEWORK "ONLY" CACHE STRING "" FORCE)
#FIND_PATH(PROJ_INCLUDE_DIR PROJ/proj_api.h)
FIND_LIBRARY(PROJ_LIBRARY PROJ)
IF (PROJ_LIBRARY)
# FIND_PATH doesn't add "Headers" for a framework
Expand All @@ -39,17 +38,11 @@ if(NOT PROJ_FOUND)
SET (CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_save} CACHE STRING "" FORCE)
ENDIF ()
ENDIF (APPLE)
FIND_PATH(PROJ_INCLUDE_DIR proj_api.h

FIND_PATH(PROJ_INCLUDE_DIR proj.h
"$ENV{INCLUDE}"
"$ENV{LIB_DIR}/include"
)
IF (NOT PROJ_INCLUDE_DIR)
FIND_PATH(PROJ_INCLUDE_DIR proj.h
"$ENV{INCLUDE}"
"$ENV{LIB_DIR}/include"
)
ENDIF (NOT PROJ_INCLUDE_DIR)
)

FIND_LIBRARY(PROJ_LIBRARY NAMES proj_i proj PATHS
"$ENV{LIB}"
Expand All @@ -67,27 +60,12 @@ if(NOT PROJ_FOUND)
STRING(REGEX REPLACE "^.*PROJ_VERSION_MINOR +([0-9]+).*$" "\\1" PROJ_VERSION_MINOR "${proj_version}")
STRING(REGEX REPLACE "^.*PROJ_VERSION_PATCH +([0-9]+).*$" "\\1" PROJ_VERSION_PATCH "${proj_version}")
STRING(CONCAT PROJ_VERSION_STR "(" ${PROJ_VERSION_MAJOR} "." ${PROJ_VERSION_MINOR} "." ${PROJ_VERSION_PATCH} ")")
IF ((PROJ_VERSION_MAJOR EQUAL 7) AND ((PROJ_VERSION_MINOR LESS 2) OR (PROJ_VERSION_MAJOR LESS 7)))
MESSAGE (FATAL_ERROR "Cannot build QGIS using Proj ${PROJ_VERSION_MAJOR}.${PROJ_VERSION_MINOR}.${PROJ_VERSION_PATCH} Use 7.2.0 or higher.")
ENDIF ((PROJ_VERSION_MAJOR EQUAL 7) AND ((PROJ_VERSION_MINOR LESS 2) OR (PROJ_VERSION_MAJOR LESS 7)))
ELSE(EXISTS ${PROJ_INCLUDE_DIR}/proj.h AND EXISTS ${PROJ_INCLUDE_DIR}/proj_experimental.h)
FILE(READ ${PROJ_INCLUDE_DIR}/proj_api.h proj_version)
STRING(REGEX REPLACE "^.*PJ_VERSION ([0-9]+).*$" "\\1" PJ_VERSION "${proj_version}")

# This will break if 4.10.0 ever will be released (highly unlikely)
STRING(REGEX REPLACE "([0-9])([0-9])([0-9])" "\\1" PROJ_VERSION_MAJOR "${PJ_VERSION}")
STRING(REGEX REPLACE "([0-9])([0-9])([0-9])" "\\2" PROJ_VERSION_MINOR "${PJ_VERSION}")
STRING(REGEX REPLACE "([0-9])([0-9])([0-9])" "\\3" PROJ_VERSION_PATCH "${PJ_VERSION}")
STRING(CONCAT PROJ_VERSION_STR "(" ${PROJ_VERSION_MAJOR} "." ${PROJ_VERSION_MINOR} "." ${PROJ_VERSION_PATCH} ")")

# Minimum Proj version required is 4.9.3
IF ((PROJ_VERSION_MAJOR EQUAL 4) AND ((PROJ_VERSION_MINOR LESS 9) OR ((PROJ_VERSION_MINOR EQUAL 9) AND (PROJ_VERSION_PATCH LESS 3))))
MESSAGE(FATAL_ERROR "Found Proj: ${PROJ_VERSION_MAJOR}.${PROJ_VERSION_MINOR}.${PROJ_VERSION_PATCH}. Cannot build QGIS using Proj older than 4.9.3.")
ENDIF((PROJ_VERSION_MAJOR EQUAL 4) AND ((PROJ_VERSION_MINOR LESS 9) OR ((PROJ_VERSION_MINOR EQUAL 9) AND (PROJ_VERSION_PATCH LESS 3))))
ENDIF(EXISTS ${PROJ_INCLUDE_DIR}/proj.h AND EXISTS ${PROJ_INCLUDE_DIR}/proj_experimental.h)
IF (NOT PROJ_FIND_QUIETLY)
MESSAGE(STATUS "Found Proj: ${PROJ_LIBRARY} version ${PROJ_VERSION_MAJOR} ${PROJ_VERSION_STR}")
ENDIF (NOT PROJ_FIND_QUIETLY)

SET(PROJ_VERSION ${PROJ_VERSION_MAJOR}.${PROJ_VERSION_MINOR}.${PROJ_VERSION_PATCH})

INCLUDE_DIRECTORIES(BEFORE SYSTEM ${PROJ_INCLUDE_DIR})

Expand Down
13 changes: 8 additions & 5 deletions cmake/SIPMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,14 @@ MACRO(GENERATE_SIP_PYTHON_MODULE_CODE MODULE_NAME MODULE_SIP SIP_FILES CPP_FILES
CONFIGURE_FILE(${_sip_file} ${_out_sip_file})

# Deprecated annotation supports message only since version 6.9.0
if(${SIP_VERSION_STR} VERSION_LESS 6.9.0)
file(READ ${_out_sip_file} _content)
string(REGEX REPLACE "([/,])Deprecated=\"[^\"]*\"([/,])" "\\1Deprecated\\2" _content "${_content}")
file(GENERATE OUTPUT ${_out_sip_file} CONTENT "${_content}")
endif()
# if(${SIP_VERSION_STR} VERSION_LESS 6.9.0)

# For now disabling SIP deprecated because it crashes the application
file(READ ${_out_sip_file} _content)
string(REGEX REPLACE "([/,])Deprecated=\"[^\"]*\"([/,])" "\\1Deprecated\\2" _content "${_content}")
file(GENERATE OUTPUT ${_out_sip_file} CONTENT "${_content}")

# endif()

ENDFOREACH (_sip_file)

Expand Down
1 change: 1 addition & 0 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ Standards-Version: 3.9.7
Vcs-Browser: https://github.com/qgis/QGIS/
Vcs-Git: https://github.com/qgis/QGIS.git
Homepage: https://qgis.org/
Rules-Requires-Root: no

Package: qgis
Architecture: any
Expand Down
16 changes: 9 additions & 7 deletions debian/control.in
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Build-Depends:
opencl-headers,
#oracle# oracle-instantclient-basiclite,
#oracle# oracle-instantclient-devel,
pkg-config,
pkgconf,
pyqt5-dev-tools,
pyqt5-dev,
pyqt5.qsci-dev,
Expand All @@ -61,7 +61,8 @@ Build-Depends:
python3-pyqt5.qtserialport,
python3-pyqt5.qtsql,
python3-pyqt5.qtsvg,
python3-pyqtbuild, sip-tools,
python3-pyqtbuild,
sip-tools,
python3-termcolor,
python3-yaml,
qt3d5-dev,
Expand Down Expand Up @@ -99,6 +100,7 @@ Standards-Version: 3.9.7
Vcs-Browser: https://github.com/qgis/QGIS/
Vcs-Git: https://github.com/qgis/QGIS.git
Homepage: https://qgis.org/
Rules-Requires-Root: no

Package: qgis
Architecture: any
Expand Down Expand Up @@ -502,7 +504,7 @@ Description: QGIS server providing various OGC services
QGIS is a Geographic Information System (GIS) which manages, analyzes and
display databases of geographic information.
.
This package contains the wms service.
This package contains the WMS service.

Package: qgis-server-wmts
Architecture: any
Expand All @@ -514,7 +516,7 @@ Description: QGIS server providing various OGC services
QGIS is a Geographic Information System (GIS) which manages, analyzes and
display databases of geographic information.
.
This package contains the wmts service.
This package contains the WMTS service.

Package: qgis-server-wfs
Architecture: any
Expand All @@ -526,7 +528,7 @@ Description: QGIS server providing various OGC services
QGIS is a Geographic Information System (GIS) which manages, analyzes and
display databases of geographic information.
.
This package contains the wfs service.
This package contains the WFS service.

Package: qgis-server-wfs3
Architecture: any
Expand All @@ -538,7 +540,7 @@ Description: QGIS server providing various OGC services
QGIS is a Geographic Information System (GIS) which manages, analyzes and
display databases of geographic information.
.
This package contains the wfs 3 service.
This package contains the WFS 3 service.

Package: qgis-server-wcs
Architecture: any
Expand All @@ -550,7 +552,7 @@ Description: QGIS server providing various OGC services
QGIS is a Geographic Information System (GIS) which manages, analyzes and
display databases of geographic information.
.
This package contains the wcs service.
This package contains the WCS service.

Package: qgis-server-landingpage
Architecture: any
Expand Down
Loading
Loading