Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
291 commits
Select commit Hold shift + click to select a range
4a9e0af
2-way binding of active node/port in pipelineStripWidget
alesgenova Mar 31, 2026
8eb9e5c
bring back the ThresholdSink functionality
alesgenova Mar 31, 2026
17e3f7d
bring back the ScaleCubeSink functionality
alesgenova Apr 1, 2026
781f45e
bring back the RulerSink functionality
alesgenova Apr 1, 2026
bf7fbfe
bring back the SegmentSink functionality
alesgenova Apr 1, 2026
b26d793
properly bring back molecule related logic
alesgenova Apr 1, 2026
eb061cf
restore interactive transform of a port volume (and sink reaction)
alesgenova Apr 1, 2026
dba16ae
more fixes to sinks related to rotation/scaling and clipping
alesgenova Apr 2, 2026
23efbb6
tomviz_pipeline is now part of tomviz instead of a separate target
alesgenova Apr 2, 2026
9625829
more improvements and fixes to VolumePropertiesWidget
alesgenova Apr 2, 2026
a6d69e5
improve node data and execution state
alesgenova Apr 2, 2026
c9db000
rework transform progress reporting and live updates
alesgenova Apr 3, 2026
488d922
implement changes to pipeline widget suggested from ui/ux team
alesgenova Apr 9, 2026
918e324
add SinkGroupNode to the data model and pipeline widget
alesgenova Apr 10, 2026
c8267e4
add pipeline controls widget and improve pipeline pausing/stopping
alesgenova Apr 14, 2026
5ef2575
fix crash in about dialog
alesgenova Apr 14, 2026
94a3558
fix behavior of the various sinks when we have multiple scalar arrays
alesgenova Apr 15, 2026
caed13d
bugfixes related to dynamic data updates and active scalars
alesgenova Apr 15, 2026
ab48cf8
optionally disable pipeline elements dimming on selection
alesgenova Apr 16, 2026
cc170b2
minor fixes for wayland and paraview 6.1
alesgenova Apr 17, 2026
d6ba52a
fix minor issue that was causing most reconstruction algorithms to fail
alesgenova Apr 17, 2026
e7e5e31
Prevent sinks from running without data
psavery Apr 17, 2026
b10b899
Put VolumePropertiesWidget in a scroll area
psavery Apr 17, 2026
0dd06f8
Show slice sink by default if data is tilt series
psavery Apr 17, 2026
267aaff
Don't block in ThreadedExecutor
psavery Apr 17, 2026
b1084af
Make edit widget in "properties" panel scrollable
psavery Apr 17, 2026
94683ec
Fix shift rotation center widget
psavery Apr 17, 2026
e37d139
Make TransformEditDialog size like master behavior
psavery Apr 17, 2026
3a415eb
Enable executing in external conda env
psavery Apr 17, 2026
143ec18
Merge pull request #1 from psavery/new-pipeline-fixes
alesgenova Apr 20, 2026
b78294e
implement loading state files created by the old tomviz
alesgenova Apr 21, 2026
4f0bf1d
implement loading and saving state files created by the new tomviz
alesgenova Apr 21, 2026
e7646ae
fix a series of memory leaks, some of which were major
alesgenova Apr 22, 2026
1a6d3b2
update tomviz-pipeline cli to work with the new pipeline
alesgenova Apr 29, 2026
adccfea
add support for reading/writing table ports to hdf5 state file
alesgenova Apr 29, 2026
f7339ef
add support for reading/writing molecule ports to hdf5 state file
alesgenova Apr 29, 2026
eaa03b1
Update ITK API
psavery Apr 30, 2026
ba7d91b
Reorganize operators and add OperatorSearchDialog
psavery Apr 30, 2026
7739999
Put logic to get main window instance in function
psavery Apr 30, 2026
890b268
Add interactive cylindrical crop widget
psavery May 1, 2026
8db666b
Check for nullptr when reading CONDA_PREFIX
psavery May 1, 2026
9a426a2
Use modern cmake import targets for TBB
psavery May 1, 2026
44fa67d
Don't use a hardcoded "Monospace" font
psavery May 1, 2026
bc5488b
Prevent ParaView plugin widgets from appearing
psavery May 1, 2026
bcf630f
Fix macosx bundle path for conda packages
psavery May 1, 2026
761c5bb
Fix import paths for build trees on Mac
psavery May 1, 2026
fcec98d
Write human-readable stack trace on Windows crash
psavery May 1, 2026
1a818c6
Remove Monospace from PythonTransformEditorWidget
psavery May 1, 2026
db1e631
implement per-node external python environment execution
alesgenova May 4, 2026
f2f52b8
implement a series of minor usability updates
alesgenova May 4, 2026
8542876
Fix compile-time warnings
psavery May 4, 2026
b23c0d9
Increase vertical size of data properties tables
psavery May 4, 2026
a5f4992
Add drag-n-drop support
psavery May 4, 2026
4c1ba23
Add hyperspy format as an HDF5 format
psavery May 4, 2026
b1ce428
Always auto-execute tvh5 pipelines
psavery May 4, 2026
f13d761
Bring back scan IDs in pyxrf and ptycho workflows
psavery May 4, 2026
7c1fff6
Set tomviz_pipeline_env for custom operators
psavery May 4, 2026
859c888
Fix Python console crash
psavery May 4, 2026
7d8137a
Initialize python synchronously
psavery May 4, 2026
231eeca
add definition and infrascructure for a new version of python transfo…
alesgenova May 5, 2026
4c1c9a1
greatly improve the app integration with PythonSource
alesgenova May 6, 2026
ec8f0ab
bin slice selection in PyStackReg to slice sink (if any)
alesgenova May 6, 2026
bed50bb
various improvements to how sinks are added/removed from the view
alesgenova May 6, 2026
75ca877
Fix save data reaction
psavery May 8, 2026
dc4929d
Update Ptycho workflow to use SourceNode
psavery May 7, 2026
8570227
Refactor PyXRF workflow to be a source node
psavery May 8, 2026
467ce55
Fix default camera orbit animation
psavery May 8, 2026
50953de
Fix animation helper to use new pipeline elements
psavery May 8, 2026
d031416
Disable changing opacity with B&C editor
psavery May 8, 2026
dd8e1f2
Disable panning the histogram opacity widget
psavery May 8, 2026
ca0eda8
Fix "Monospace" font warning on macos
psavery May 8, 2026
658974f
Fix Python editor jumping around
psavery May 8, 2026
69c69d7
Fix returns on empty lines in Python editor
psavery May 8, 2026
a6eb75f
improve the custom transforms menu
alesgenova May 11, 2026
039178f
implement transient/persistent port data infrastructure
alesgenova May 14, 2026
501d410
Add segmentation colormap generator
psavery May 12, 2026
9bbdf07
refactor pipeline templates to work with the new pipeline
alesgenova May 14, 2026
158d4c8
Fix ClipSink to avoid render in worker thread
psavery May 14, 2026
38197c8
Add instructions for cylindrical crop
psavery May 14, 2026
080d713
Add SIRT, ART, and TV to tomopy methods
psavery May 14, 2026
4b700b6
Change "Modules" to "Visualizations"
psavery May 14, 2026
8ab146e
Add ability to use GPU for tomopy SIRT and MLEM
psavery May 14, 2026
9f53e47
Update animation helper module animations
psavery May 14, 2026
c7ae472
Change Module->Visualization in animation helper
psavery May 14, 2026
7fa17fb
Allow PyXRF workflow to load CSV also
psavery May 14, 2026
b3e630e
Allow download skipping in PyXRF workflow
psavery May 14, 2026
7ca8aaa
add a LabelMap port type
alesgenova May 15, 2026
e3f1832
Allow setting versions for multiple rows
psavery May 15, 2026
a165f5a
Add .npy and .mat to list of common file types
psavery May 15, 2026
374136b
Add simple mrc writer
psavery May 15, 2026
cd9cd0f
Add simple DICOM writer/reader
psavery May 15, 2026
9cccacd
Populate volume scalars options after data available
psavery May 15, 2026
ebc24f6
Add tests for new recent features
psavery May 15, 2026
e24075a
Fix existing test failures
psavery May 15, 2026
ff196dd
Fix displayed version in dev environment
psavery May 15, 2026
6fd0b3a
Disable multi-volume for now
psavery May 15, 2026
400ef10
greatly improve how node widgets that need input data behave
alesgenova May 19, 2026
463c73d
Update all label map operators with new port type
psavery May 18, 2026
ae7a9f8
Updates to LabelMap volume settings
psavery May 18, 2026
896a55d
Make PyXRF and Ptycho widgets embedded in operator
psavery May 18, 2026
a9f0f87
Hide slice sink until data arrives
psavery May 18, 2026
c3e1814
Update colormaps for all sources after first
psavery May 18, 2026
acca669
Rename "Workflows" to "Sources"
psavery May 18, 2026
d1f8dda
make the "select_scalars" parameter type work with the new pipeline
alesgenova May 19, 2026
fe1ef0d
open edit dialog when manual link completes a new transform's inputs
alesgenova May 19, 2026
f0fd2c4
fix the breakpoint feature in the new pipeline
alesgenova May 19, 2026
07980f9
partially remove dependencies from legacy classes
alesgenova May 19, 2026
02f5b05
fix build and tests
alesgenova May 19, 2026
8b0bf24
Build fixes for Windows and Mac
psavery May 19, 2026
406572f
Ensure we use pip from conda
psavery May 19, 2026
0f42074
Re-enable LegacyDataset tests
psavery May 19, 2026
fade44a
Update old python tests to use LegacyDataset
psavery May 20, 2026
c9d3895
Try to avoid Windows store stub for Python version
psavery May 20, 2026
38d63fa
Fix "Custom Transform" and "Custom ITK Transform"
psavery May 20, 2026
00bda27
Fix "Color By" other arrays for contour viz
psavery May 20, 2026
b679c68
Increase default operator dialog size
psavery May 20, 2026
6b1ae9b
Fix occasional warning from SliceSink deletion
psavery May 20, 2026
c36b2e0
Make default B&C editor width larger
psavery May 20, 2026
480c3d1
Delete pipeline node on "Delete" key press
psavery May 20, 2026
30c43ba
Delete contents of sink node group
psavery May 20, 2026
baa75b1
Check if port data is valid before accessing
psavery May 20, 2026
1e90651
Remove "too many unique values" warning
psavery May 20, 2026
112ccac
Fix warning when Clip or Slice is cleared
psavery May 20, 2026
67648cb
Ensure warning doesn't appear on slice/clip delete
psavery May 20, 2026
e1362e3
Fix "Image Viewer Mode" to use new pipeline sinks
psavery May 20, 2026
c0aea88
Stage several old features for removal
psavery May 21, 2026
e53f0a5
Simplify error printing in python transform
psavery May 21, 2026
c85c870
Stage registration operators for removal
psavery May 21, 2026
297e857
Stronger guards against seg faults
psavery May 21, 2026
d7d3264
Make PortData::value<T>() non-throwing to prevent bad_any_cast crashes
psavery May 21, 2026
948a415
Allow "missing" entries to be checked
psavery May 21, 2026
e0ffe5e
Add "executeWhenIdle()" to prevent re-execution
psavery May 21, 2026
8222674
Allow missing scans to be checked and re-downloaded in PyXRF UI
psavery May 21, 2026
9906d57
Guard against invalid JSON values
psavery May 21, 2026
28c7da7
Ensure combo box is updated in main thread
psavery May 21, 2026
1ceeecb
Trigger CI for PRs against branch 3.0
psavery May 25, 2026
cc99279
Merge pull request #26 from psavery/nsls2-q3
celiafish May 28, 2026
1ec84e1
Restore rescaling opacity to B&C editor
psavery May 29, 2026
686754b
Get the progress dialog to appear on top for macos
psavery May 30, 2026
38fb7ff
Hide "Monospace" font warning on macos
psavery May 30, 2026
77aab3e
Auto update line chart bounds when plot is added
psavery May 30, 2026
d2794b8
Look for sample EMDs at runtime
psavery May 30, 2026
f2628eb
Put deferred "insert" operators in correct place
psavery May 30, 2026
c962310
Guard against empty port values
psavery May 30, 2026
4abd11a
Restore visualization on operator cancel
psavery May 30, 2026
394c800
Fix all compile-time warnings (for macos)
psavery Jun 1, 2026
f3f190f
Fix most Windows compile warnings
psavery Jun 1, 2026
3065db4
Fix test runtime warnings
psavery Jun 1, 2026
f981c17
Update scipy import paths
psavery Jun 1, 2026
a50dea7
Add support for volume bricking
psavery Jun 8, 2026
7446154
Use custom ComputeFiniteRange for histogram range
psavery Jun 13, 2026
a4b006e
Merge pull request #27 from psavery/fix-bc-rescale-opacity
celiafish Jun 15, 2026
1e8c225
Make PyXRF param setup more robust
psavery Jun 17, 2026
ba3e94a
Print warnings when we fail to read PyXFF files
psavery Jun 17, 2026
cf7f745
Add retry logic for data.kitware.com downloads
psavery Jun 18, 2026
1f4f515
Fix a couple of segmentation fault issues
psavery Jun 18, 2026
85bda9f
Fix file dialogs for macos dev build
psavery Jun 18, 2026
21bfb62
Merge pull request #28 from psavery/3.0
celiafish Jun 19, 2026
76d89e9
Fix deconv/denoise scaling
psavery Jun 22, 2026
bdf03c7
Keep all dialogs in front of main window for macos
psavery Jun 23, 2026
d902215
massive rip out of the legacy tomviz pipeline components
alesgenova Jun 23, 2026
7c8aa37
fix use-after-free crashes from raw view-proxy captures in deferred c…
alesgenova Jun 23, 2026
02287c5
fix crash from color-map rescale racing pipeline worker thread
alesgenova Jun 23, 2026
6e5cb29
centralize sink GUI-thread marshaling into a SinkNode opt-in
alesgenova Jun 24, 2026
2a75e40
wait for in-flight execution to stop before deleting pipeline nodes
alesgenova Jun 24, 2026
ac8d569
Merge pull request #25 from alesgenova/remove-legacy-module-system
psavery Jun 24, 2026
67ad0ef
fix reentrant histogram LUT rebuild crashing color-map rescale
alesgenova Jun 25, 2026
d233318
Merge pull request #26 from alesgenova/fix-colormap-rescale-crash
psavery Jun 25, 2026
70c6114
Update PyXRF GUI error message
psavery Jun 29, 2026
f25d2a5
fix crash from VolumeData unregistering its color-map proxy on the wo…
alesgenova Jun 29, 2026
1ee518a
keep downstream visualization on screen while inserting an operator
alesgenova Jun 29, 2026
3d77880
Merge pull request #27 from alesgenova/3.0
psavery Jun 30, 2026
375880d
Request discrete GPU on Windows hybrid graphics
psavery Jul 7, 2026
a701d2d
Fix slice plane drag with origin and transforms
psavery Jul 7, 2026
63543e4
Make slice index extent-relative in plane widget
psavery Jul 7, 2026
ace2178
Fix pipeline persistence mode and icon bugs
psavery Jul 10, 2026
63c5951
Fix tomopy output ordering
psavery Jul 11, 2026
c48d2b9
Close node edit dialog when its node is removed
psavery Jul 11, 2026
b214da7
Fix brightness/contrast Auto and Reset buttons
psavery Jul 11, 2026
a14e396
better link selection and other quality of life improvements
alesgenova Jul 22, 2026
70f4707
Merge pull request #28 from alesgenova/better-link-selection
psavery Jul 22, 2026
77e69ca
Scope pipeline stylesheet, stable nav sort
psavery Jul 22, 2026
33d04d0
Avoid importing from user site-packages directory
psavery Jul 25, 2026
0cd46ed
Add MAINTENANCE.md for pyxrf-utils
psavery Jul 25, 2026
0b0de0c
Add externalOnly operator flag
psavery Jul 25, 2026
f9cef1f
Add SAM 2 segmentation operator
psavery Jul 26, 2026
299c359
Add SAM 3 segmentation operator
psavery Jul 26, 2026
728121a
Remove duplicate description from operator dialogs
psavery Jul 27, 2026
718484c
Add back help URLs for Python operators
psavery Jul 27, 2026
72ac12d
Fix default SAM3 label to work with example data
psavery Jul 27, 2026
bbd5c53
Tune SAM 3 defaults for weakly-detected features
psavery Jul 27, 2026
7a53b3a
Declare LabelMap output for the SAM operators
psavery Jul 27, 2026
9d72969
Add click-on-slice seed picker for SAM 2
psavery Jul 27, 2026
031aa9d
Remember the external env path per operator type
psavery Jul 27, 2026
a1f102c
Fix widget tests on macOS and Windows
psavery Jul 27, 2026
36f82ea
Add drift cleanup to the SAM 2 operator
psavery Jul 27, 2026
87de4d3
Match the dataset colormap in the SAM 2 seed view
psavery Jul 28, 2026
abd1218
Put the SAM 2 seed coordinates on one row
psavery Jul 28, 2026
c6e40a0
Don't show a volume prop before its mapper has data
psavery Jul 28, 2026
b252f9d
Fix colormap edit buttons not enabling on selection
psavery Jul 28, 2026
75bc2b8
Add erosion split for SAM3
psavery Jul 28, 2026
579ac1c
Fix several bugs with segmentation colormaps
psavery Jul 28, 2026
2c317dc
Don't create a colormap from the SAM 2 seed view
psavery Jul 29, 2026
0c6ed67
Apply output metadata before external outputs reach the ports
psavery Jul 29, 2026
9c31cce
reimplement "Save Data" to be in line with the new pipeline
alesgenova Jul 29, 2026
8110c1b
Merge pull request #29 from alesgenova/save-data
psavery Jul 29, 2026
3878e25
Require setuptools greater than 83
psavery Jul 29, 2026
c6c2f43
add an interactive/raw json editor for node definition
alesgenova Jul 30, 2026
477831c
Merge pull request #30 from alesgenova/json-editor
psavery Jul 30, 2026
08eb324
Add help URLs for documented operators
psavery Jul 30, 2026
4e2cc18
Fix node definition editor regressions
psavery Jul 30, 2026
134e6aa
Report 3.0.0 as the version under development
psavery Jul 30, 2026
c122322
Bring back the Save Script button
psavery Jul 30, 2026
7443425
Close the read-back files before removing them
psavery Jul 30, 2026
7f0a70e
Time out stalled test data downloads
psavery Jul 30, 2026
5bc38c4
Merge pull request #29 from psavery/3.0
celiafish Jul 30, 2026
a13c000
Update pybind11 to latest - 3.0.4
psavery Jul 31, 2026
18e4ff7
Merge pull request #30 from psavery/3.0
celiafish Jul 31, 2026
8edcbf3
Fix camera orbit after loading a state file
psavery Aug 10, 2026
5f2e6b4
Refresh animation dialog ranges on execution
psavery Aug 10, 2026
79a4bb2
Fix phantom left click from macOS trackpad
psavery Aug 13, 2026
9af65e5
Serialize HDF5 access with a process-wide mutex
psavery Aug 11, 2026
9e0e4c7
Add volume lighting presets
psavery Aug 17, 2026
9a7d39f
Fix animation progress for nonzero time ranges
psavery Aug 20, 2026
b6f1ee6
Restore time series playback
psavery Aug 20, 2026
7811204
Add movie export dialog with MP4 support
psavery Aug 20, 2026
c2b2730
Add Gentle lighting preset and a shadows toggle
psavery Aug 20, 2026
70c17b0
Key the scattering guard on voxel count, not input MTime
psavery Aug 20, 2026
a9ef5fa
Do not time the first frame of a scattering configuration
psavery Aug 20, 2026
28d0bb3
Fire the scattering safety valve on a measurement, not an extrapolation
psavery Aug 20, 2026
b44fe91
Raise the still-frame budget to one second
psavery Aug 20, 2026
7a82f00
Give Full the same shadow reach as Soft
psavery Aug 20, 2026
e490f65
Correct why the sharpening cap exists
psavery Aug 20, 2026
fa80075
Say so when the guard switches shadows off
psavery Aug 20, 2026
072f2a3
Animate clip planes, opacity and camera viewpoints
psavery Aug 20, 2026
7a62053
Save the animation setup with the state file
psavery Aug 20, 2026
8660c5f
Show camera viewpoints as thumbnails
psavery Aug 20, 2026
0503fa5
Run a visualization animation over one leg of the camera path
psavery Aug 20, 2026
30222fe
Add a Label Map visualization type
psavery Aug 20, 2026
643373f
Carry the render estimate across a changed opacity curve
psavery Aug 20, 2026
54bc6e9
Animate a volume between two opacity curves
psavery Aug 20, 2026
93fe67e
Hold one render quality across an exported morph
psavery Aug 20, 2026
2756fbd
Let Rotate keep the original dimensions
psavery Aug 20, 2026
1d97e46
Overhaul the Animation Helper
psavery Aug 20, 2026
0c6254e
Keep label maps out of the animation surface
psavery Aug 20, 2026
8d560aa
Give an animation enough frames to play
psavery Aug 20, 2026
5dfd493
Load a captured opacity curve back into the editor
psavery Aug 20, 2026
0a4eae4
Save the rest of the animation and label state
psavery Aug 20, 2026
ec10b3e
Point the pyxrf-utils fallback at the HXN shared deployment
psavery Aug 20, 2026
23520cd
Trim the animation header comments
psavery Aug 20, 2026
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
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: build and test

on:
push:
branches: [ master ]
branches: [ master, 3.0 ]
pull_request:
branches: [ master ]
branches: [ master, 3.0 ]

jobs:
test:
Expand Down Expand Up @@ -91,7 +91,7 @@ jobs:
TOMVIZ_REQUIRE_PYXRF: true
run: |
cd tomviz-build
export TOMVIZ_TEST_PYTHON_EXECUTABLE=$(which python3)
export TOMVIZ_TEST_PYTHON_EXECUTABLE=$(which python)
ctest --output-on-failure

- name: Upload CTest Log (On Failure Only)
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ libxml2-devel=2.14*
gtest
# This is needed for installing stuff on Python3.13
setuptools
pip
7 changes: 4 additions & 3 deletions .github/workflows/pyxrf_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ hatchling
# it gets fixed and a new release comes out.
# See: https://github.com/NSLS-II-SRX/xrf-tomo/pull/10
pandas<3.0
# This is required for running pyxrf-utils on Python3.11
# Setuptools was removed in versions 80+
setuptools<80
# Setuptools comes in transitively, but keep a floor here to stay clear of
# CVE-2026-59890. The previous "setuptools<80" ceiling is no longer needed,
# since the pyxrf imports now work without pkg_resources.
setuptools>=83
35 changes: 26 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,12 @@ set(tomviz_js_binary_path "${tomviz_html_binary_dir}/tomviz.js")
set(tomviz_html_binary_path "${tomviz_html_binary_dir}/tomviz.html")
set(tomviz_web_install_dir "${INSTALL_DATA_DIR}/tomviz/web")

# Centrally set the grand exception for macOS...
if(APPLE)
option(TOMVIZ_MACOSX_BUNDLE "Build a macOS app bundle" ON)
endif()

# Centrally set the grand exception for macOS...
if(APPLE AND TOMVIZ_MACOSX_BUNDLE)
set(MACOSX_BUNDLE_NAME "tomviz")
set(prefix "Applications/${MACOSX_BUNDLE_NAME}.app/Contents")
set(INSTALL_INCLUDE_DIR "${prefix}/${INSTALL_INCLUDE_DIR}")
Expand Down Expand Up @@ -100,21 +104,34 @@ include(tomvizDetermineVersion)
include(Git)

determine_version("${tomviz_SOURCE_DIR}" "${GIT_EXECUTABLE}" "tomviz")
# Hard coded for source tarballs, releases, etc.
set(tomviz_version_major 2)
# The version being developed here. Authoritative, because "git
# describe" keeps reporting the previous release until the matching tag
# is created, and a 3.0 build must not label itself 2.3.1. Also what
# source tarballs (no git at all) fall back on.
set(tomviz_version_major 3)
set(tomviz_version_minor 0)
set(tomviz_version_patch 0)
set(tomviz_version_extra)
set(tomviz_version
"${tomviz_version_major}.${tomviz_version_minor}.${tomviz_version_patch}")
if(tomviz_VERSION)
set(tomviz_version_major ${tomviz_VERSION_MAJOR})
set(tomviz_version_minor ${tomviz_VERSION_MINOR})
set(tomviz_version_patch ${tomviz_VERSION_PATCH})

# git describe refines that in two ways: it supplies the commit-count
# and sha suffix that distinguishes a development build from the release
# (empty when sitting exactly on the tag), and once a tag newer than the
# version above exists it takes over the number too, so tagging 3.0.1
# needs no edit here. Packaging that builds outside a git checkout can
# pass -DTOMVIZ_GIT_DESCRIBE=<version> to drive both.
if(tomviz_VERSION_FULL)
set(tomviz_version_extra ${tomviz_VERSION_PATCH_EXTRA})
set(tomviz_git_version
"${tomviz_VERSION_MAJOR}.${tomviz_VERSION_MINOR}.${tomviz_VERSION_PATCH}")
if("${tomviz_git_version}" VERSION_GREATER "${tomviz_version}")
set(tomviz_version_major ${tomviz_VERSION_MAJOR})
set(tomviz_version_minor ${tomviz_VERSION_MINOR})
set(tomviz_version_patch ${tomviz_VERSION_PATCH})
set(tomviz_version "${tomviz_git_version}")
endif()
endif()
set(tomviz_version
"${tomviz_version_major}.${tomviz_version_minor}.${tomviz_version_patch}")

option(TOMVIZ_USE_EXTERNAL_VTK "Use an external VTK." OFF)
mark_as_advanced(TOMVIZ_USE_EXTERNAL_VTK)
Expand Down
8 changes: 7 additions & 1 deletion cmake/CompilerFlags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,13 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang"
include(CheckCXXCompilerFlag)

# Additional warnings for GCC
set(CMAKE_CXX_FLAGS_WARN "-Wnon-virtual-dtor -Wno-long-long -Wcast-align -Wchar-subscripts -Wall -Wpointer-arith -Wformat-security -Woverloaded-virtual -fno-check-new -fno-common")
set(CMAKE_CXX_FLAGS_WARN "-Wnon-virtual-dtor -Wno-long-long -Wcast-align -Wchar-subscripts -Wall -Wpointer-arith -Wformat-security -Woverloaded-virtual -fno-common")

# -fno-check-new is a GCC-only flag; clang accepts but ignores it and then
# warns that the argument is unused, so only pass it to GCC.
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(CMAKE_CXX_FLAGS_WARN "${CMAKE_CXX_FLAGS_WARN} -fno-check-new")
endif()

# This flag is useful as not returning from a non-void function is an error
# with MSVC, but it is not supported on all GCC compiler versions
Expand Down
2 changes: 1 addition & 1 deletion cmake/tomvizDetermineVersion.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ function(determine_version source_dir git_command var_prefix)
if (NOT TOMVIZ_GIT_DESCRIBE)
if (EXISTS ${git_command})
execute_process(
COMMAND ${git_command} describe
COMMAND ${git_command} describe --tags
WORKING_DIRECTORY ${source_dir}
RESULT_VARIABLE result
OUTPUT_VARIABLE output
Expand Down
Loading
Loading