Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#192 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@SizzleUnrlsd đang làm issue này rồi.

Từ ngày 15/10/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

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.
Ngôn ngữ chính
C++
Star
5
Fork
4
Merge trung bình
1 giờ 57 phút
Pull request đã merge (30 ngày)
88

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của CoreTrace/coretrace

Tất cả issue của CoreTrace/coretrace

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.