Skip to content

Conversation

@rgetz
Copy link
Contributor

@rgetz rgetz commented Dec 26, 2025

Currently, Azure pipelines always built with the default CMake type, causing tagged releases to use RelWithDebInfo instead of Release. This could result in slower binaries or debug artifacts being shipped inadvertently.

  • Pass CMAKE_BUILD_TYPE from azure-pipelines.yml to CI shell and PowerShell scripts based on build from tag or main
  • Default to RelWithDebInfo for nightlies and Release for tagged releases
  • Update Linux, Windows MinGW, and MSVC scripts to respect the build type

Tagged releases are built with Release, whereas nightlies default to RelWithDebInfo. Although both are optimized and define NDEBUG, some compilers apply -O3 for Release and -O2 for RelWithDebInfo. As a result, final performance characteristics may differ slightly from nightly artifacts. Pre-release validation on tagged builds is recommended for performance-critical or timing-sensitive deployments.

Note: Users can still override the build type manually by passing -DCMAKE_BUILD_TYPE=
when running cmake, as usual.

Currently, Azure pipelines always built with the default CMake type, causing
tagged releases to use RelWithDebInfo instead of Release. This could result
in slower binaries or debug artifacts being shipped inadvertently.

- Pass CMAKE_BUILD_TYPE from azure-pipelines.yml to CI shell and PowerShell
  scripts based on build from tag or main
- Default to RelWithDebInfo for nightlies and Release for tagged releases
- Update Linux, Windows MinGW, and MSVC scripts to respect the build type

Tagged releases are built with Release, whereas nightlies default to
RelWithDebInfo. Although both are optimized and define NDEBUG, some
compilers apply -O3 for Release and -O2 for RelWithDebInfo. As a result,
final performance characteristics may differ slightly from nightly artifacts.
Pre-release validation on tagged builds is recommended for
performance-critical or timing-sensitive deployments.

Note: Users can still override the build type manually by passing
-DCMAKE_BUILD_TYPE=<type>
when running cmake, as usual.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
@rgetz rgetz force-pushed the rgetz-add-build-types branch from c8903a4 to 7d94438 Compare January 1, 2026 19:29
@dNechita dNechita merged commit 0c481a2 into analogdevicesinc:main Jan 13, 2026
5 checks passed
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.

2 participants