Conversation
|
@phlexbot cmake-fix |
|
Automatic cmake-format fixes pushed (commit c2b60b7). |
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #410 +/- ##
=======================================
Coverage 83.71% 83.71%
=======================================
Files 126 126
Lines 3291 3291
Branches 583 583
=======================================
Hits 2755 2755
Misses 325 325
Partials 211 211
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds an opt-in CMake configuration to profile build-time behavior (compile and link), helping developers identify expensive translation units and link steps during Phlex builds.
Changes:
- Introduces
ENABLE_BUILD_PROFILINGCMake option to wrap compile/link rules withcmake -E time. - Enables compile time tracing (
-ftime-trace) for Clang/GNU toolchains when profiling is enabled. - Enables additional LLD link tracing/statistics flags when LLD is detected.
| if(CMAKE_CXX_COMPILER_LINKER_ID STREQUAL "LLD") | ||
| message(STATUS "LLD detected (Phlex build) - Enabling tracing") | ||
| add_link_options("-Wl,--time-trace") | ||
| add_link_options("-Wl,--Map=phlex_link.map") |
There was a problem hiding this comment.
-Wl,--Map=phlex_link.map is added globally when build profiling is enabled. Since this project links multiple shared libraries/modules/executables in parallel, all link steps will try to write the same map file in the build directory, leading to races/overwrites (and potentially interleaved/corrupt output under parallel builds). Consider removing the global map generation, or emitting a per-target map file (e.g., via target-specific link options or a small helper that sets a unique map path per target).
| add_link_options("-Wl,--Map=phlex_link.map") |
No description provided.