Skip to content

Commit 8ab920d

Browse files
Merge remote-tracking branch 'plotjuggler/main' into sync/main-to-internal-main-2026-05-29
2 parents d0e6af6 + a0d100c commit 8ab920d

75 files changed

Lines changed: 2972 additions & 481 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/cla.yml

Lines changed: 0 additions & 60 deletions
This file was deleted.

.github/workflows/linux-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
name: Linux CI
22
on:
33
push:
4-
branches: [development, main]
4+
branches: [main]
55
pull_request:
6-
branches: [development, main]
6+
branches: [main]
77
types: [opened, synchronize, reopened, ready_for_review]
88
workflow_dispatch: {}
99

.github/workflows/macos-ci.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: macOS CI
2+
on:
3+
push:
4+
branches: [main]
5+
pull_request:
6+
branches: [main]
7+
types: [opened, synchronize, reopened, ready_for_review]
8+
workflow_dispatch: {}
9+
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
13+
14+
jobs:
15+
build:
16+
if: github.event.pull_request.draft == false
17+
runs-on: macos-15-intel
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- uses: conan-io/setup-conan@v1
22+
with:
23+
cache_packages: true
24+
25+
- name: Install cmake and ninja
26+
run: pip install cmake ninja
27+
28+
- name: Conan install
29+
run: >
30+
conan install . --output-folder=build --build=missing
31+
-s build_type=RelWithDebInfo -s compiler.cppstd=20
32+
-o "plotjuggler_core/*:with_tests=True"
33+
-o "plotjuggler_core/*:with_parquet_example=False"
34+
35+
- name: Configure
36+
run: >
37+
cmake -S . -B build -G Ninja
38+
-DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/build/conan_toolchain.cmake
39+
-DCMAKE_BUILD_TYPE=RelWithDebInfo
40+
-DPJ_BUILD_PARQUET_IMPORT_EXAMPLE=OFF
41+
42+
- name: Build
43+
run: cmake --build build
44+
45+
- name: Test
46+
env:
47+
QT_QPA_PLATFORM: offscreen
48+
run: ctest --test-dir build --output-on-failure

.github/workflows/pre-commit.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: pre-commit
2+
on:
3+
push:
4+
branches: [main]
5+
pull_request:
6+
branches: [main]
7+
types: [opened, synchronize, reopened, ready_for_review]
8+
workflow_dispatch: {}
9+
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
13+
14+
jobs:
15+
pre-commit:
16+
if: github.event.pull_request.draft == false
17+
runs-on: ubuntu-22.04
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- uses: actions/setup-python@v5
22+
with:
23+
python-version: '3.12'
24+
25+
- uses: pre-commit/action@v3.0.1

.github/workflows/windows-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
name: Windows CI
22
on:
33
push:
4-
branches: [development, main]
4+
branches: [main]
55
pull_request:
6-
branches: [development, main]
6+
branches: [main]
77
types: [opened, synchronize, reopened, ready_for_review]
88
workflow_dispatch: {}
99

CLA.md

Lines changed: 0 additions & 95 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ add_library(pj_internal_fmt INTERFACE)
8181
target_compile_definitions(pj_internal_fmt INTERFACE FMT_HEADER_ONLY=1)
8282
target_link_libraries(pj_internal_fmt INTERFACE ${PJ_FMT_TARGET})
8383

84+
# fast_float backs the floating-point branch of PJ::parseNumber. Header-only;
85+
# linked PRIVATE under a BUILD_INTERFACE scope by pj_base so it never appears
86+
# in the installed plotjuggler_coreTargets file. Conan ships the CMake
87+
# package under the capitalised name `FastFloat`.
88+
find_package(FastFloat REQUIRED)
89+
8490
if(PJ_BUILD_DATASTORE)
8591
find_package(tsl-robin-map REQUIRED)
8692
if(PJ_BUILD_TESTS)
@@ -196,7 +202,7 @@ endif()
196202
if(PJ_INSTALL_SDK)
197203
include(CMakePackageConfigHelpers)
198204

199-
set(PJ_PACKAGE_VERSION "0.4.0")
205+
set(PJ_PACKAGE_VERSION "0.5.0")
200206
set(PJ_PACKAGE_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/plotjuggler_core)
201207

202208
install(EXPORT plotjuggler_coreTargets

conanfile.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
plugin_sdk — umbrella for plugin authors (base + dialog SDK + parser SDK)
88
plugin_host — umbrella for host loaders (data_source/parser/toolbox/dialog)
99
10-
A consuming Conan recipe declares e.g. `plotjuggler_core/0.4.0` and then:
10+
A consuming Conan recipe declares e.g. `plotjuggler_core/0.5.0` and then:
1111
1212
find_package(plotjuggler_core REQUIRED COMPONENTS plugin_sdk)
1313
target_link_libraries(my_plugin PRIVATE plotjuggler_core::plugin_sdk)
@@ -27,7 +27,7 @@
2727

2828
class PlotjugglerCoreConan(ConanFile):
2929
name = "plotjuggler_core"
30-
version = "0.4.0"
30+
version = "0.5.0"
3131
# Apache-2.0 covers pj_base + pj_plugins (the plugin-facing SDK);
3232
# MPL-2.0 covers pj_datastore (the storage engine). See LICENSE.
3333
license = "Apache-2.0 AND MPL-2.0"
@@ -98,6 +98,18 @@ def requirements(self):
9898
transitive_libs=False,
9999
)
100100

101+
# fast_float backs the floating-point branch of PJ::parseNumber. It
102+
# is header-only and stays private: never appears in any public
103+
# pj_base header, never propagated to downstream consumers.
104+
self.requires(
105+
"fast_float/8.1.0",
106+
headers=True,
107+
libs=False,
108+
visible=False,
109+
transitive_headers=False,
110+
transitive_libs=False,
111+
)
112+
101113
if self.options.with_datastore:
102114
# tsl-robin-map is header-only; nanoarrow is in public headers.
103115
self.requires("tsl-robin-map/1.4.0", transitive_headers=True)

0 commit comments

Comments
 (0)