Skip to content

WIP: Add and fix warnings in CMake build system - #544

Draft
MahirAbbas wants to merge 24 commits into
masterfrom
add_warnings_CMAKE
Draft

WIP: Add and fix warnings in CMake build system#544
MahirAbbas wants to merge 24 commits into
masterfrom
add_warnings_CMAKE

Conversation

@MahirAbbas

@MahirAbbas MahirAbbas commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Fixes #547

N.B. this PR also introduces the Ninja build system and uses ccache which was instrumental in speeding up the recompile times. Can be removed if unwanted.

@MahirAbbas MahirAbbas self-assigned this Aug 5, 2026
@MahirAbbas
MahirAbbas requested a review from Ohisemega August 5, 2026 15:47
@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 65.21739% with 40 lines in your changes missing coverage. Please review.
✅ Project coverage is 47.80%. Comparing base (a936eac) to head (00dc0aa).

Files with missing lines Patch % Lines
...pp/frameProcessor/src/FrameProcessorController.cpp 0.00% 6 Missing ⚠️
cpp/frameReceiver/src/DummyUDPFrameDecoder.cpp 16.66% 5 Missing ⚠️
cpp/frameProcessor/src/FileWriterPlugin.cpp 60.00% 3 Missing and 1 partial ⚠️
cpp/frameProcessor/src/GapFillPlugin.cpp 60.00% 4 Missing ⚠️
cpp/frameProcessor/src/Acquisition.cpp 76.92% 3 Missing ⚠️
cpp/frameProcessor/src/FrameProcessorPlugin.cpp 0.00% 3 Missing ⚠️
cpp/frameReceiver/src/DummyTCPFrameDecoder.cpp 57.14% 3 Missing ⚠️
cpp/frameProcessor/src/BloscPlugin.cpp 0.00% 2 Missing ⚠️
cpp/frameProcessor/src/DummyUDPProcessPlugin.cpp 33.33% 2 Missing ⚠️
cpp/frameProcessor/src/FrameMetaData.cpp 50.00% 2 Missing ⚠️
... and 6 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #544      +/-   ##
==========================================
- Coverage   47.86%   47.80%   -0.07%     
==========================================
  Files          95       95              
  Lines        7673     7658      -15     
  Branches      669      671       +2     
==========================================
- Hits         3673     3661      -12     
+ Misses       3808     3805       -3     
  Partials      192      192              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Ohisemega

Ohisemega commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Hi Mahir, I can see this is a draft, but I noticed it includes changes from other PRs that haven't been merged into master yet.
The policy is that one PR addresses a single issue. If you are working on PR1 and PR2, and PR2 gets approved and is merged into master, then you either merge master into PR1 or rebase PR1 on master's new changes.
So essentially all new PRs must be taken off master, and their commits should only address a single issue. You may have to create a new branch off master for this.
If PR-B needs PR-A's changes merged in first, you can add that relationship as "ISSUE-A blocks ISSUE-B" to their issue pages and remind the review team too.
The other thing is that the tests are failing; please check that out.

@MahirAbbas MahirAbbas changed the title Add and fix warnings in CMake build system WIP: Add and fix warnings in CMake build system Aug 7, 2026
Comment thread cpp/frameReceiver/src/FrameReceiverZMQRxThread.cpp
Comment thread cpp/frameSimulator/src/FrameSimulatorPluginUDP.cpp

@MahirAbbas MahirAbbas left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still testing

Comment thread cpp/frameProcessor/src/CMakeLists.txt

@Ohisemega Ohisemega left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The interface format you have used doesn't seem to propagate the flags you want it to. This is an older method, but adding this CMAKE instruction to the frameProcessor's and frameReceiver's src CMakeLists produces the expected errors and warnings.
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -Wpedantic")

Comment thread cpp/frameReceiver/src/CMakeLists.txt
@MahirAbbas

Copy link
Copy Markdown
Contributor Author

N.B. this PR also introduces the Ninja build system and uses ccache which was instrumental in speeding up the recompile times. Can be removed if unwanted.

@MahirAbbas
MahirAbbas requested a review from Ohisemega August 12, 2026 15:14
"workspaceMount": "source=${localWorkspaceFolder}/..,target=/workspaces,type=bind",
"mounts": [
// Mount /dev/shm for odin-data applications to use
"source=odin-data-build,target=/workspaces/odin-data/vscode_build,type=volume",

@MahirAbbas MahirAbbas Aug 12, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The vscode_build volume will be removed from final PR

@Ohisemega

Ohisemega commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

N.B. this PR also introduces the Ninja build system and uses ccache which was instrumental in speeding up the recompile times. Can be removed if unwanted.

It would be better to have this in another PR. The code_format_check is also failing.

Comment thread scripts/run_tests.sh

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file needs to be removed

Comment thread Dockerfile

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want ninja-build and ccache

@@ -29,6 +29,9 @@
]
}
},

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we want ccache

Comment thread .vscode/settings.json

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we want Ninja and ccache

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Warnings Flag to Build System

2 participants