Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Builds without a build type are unoptimized: the README's commands and CI's main job

Aperta
#192 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@SizzleUnrlsd ci sta già lavorando.

Dal 15/10/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

build severity/minor

Neither CMakeLists.txt nor the stack analyzer sets a default CMAKE_BUILD_TYPE. With a single-config generator such as Ninja, an empty build type compiles without optimization: no -O flag. Two builds are affected:

  • the README's BUILD commands, for Ubuntu 24.04 and macOS;
  • CI's main job (build.yml, "Build on ubuntu-24.04 / macos-14"). Its cmake --build build --config Release has no effect, because Ninja ignores --config.

The release archives (Dockerfile.release-binaries) and the coverage job pass -DCMAKE_BUILD_TYPE=Release.

Observed

ctrace --compile-commands <CoreTrace's 22 translation units> --invoke ctrace_stack_analyzer, on Linux x86_64 (32 cores) with LLVM 20.1.2, a fresh cache, and one run at a time:

Stack analyzer No build type Release
v0.22.0 29 min 39 s 3 min 16 s
main 0668fb8 5 min 18 s 1 min 33 s

The run of #169 that was still going after 42 minutes was an unoptimized build too.

To do

  • When CMAKE_BUILD_TYPE is empty and the generator is single-config, default it to Release.
  • Remove the --config Release that does nothing from the main CI job.
  • Decide which build type CI's main job tests. Today it builds the analyzers that ctrace links with their assertions enabled (no NDEBUG), and a Release default would turn them off. To keep them, the job can pass its build type explicitly.

Acceptance

  • The README's commands build an optimized ctrace.
  • The main CI job states the build type it tests.
Lingua principale
C++
Stelle
5
Fork
4
Merge medio
1h 9m
PR unite (30g)
81

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di CoreTrace/coretrace

Tutte le issue di CoreTrace/coretrace

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.