Add a CMake Presets file (#44)

Adds the following presets: 

- `ci` - to match the common CI settings - including tests and asserts
- `debug` - True debug build - include building tests
- `debug-optimized` - include building tests
- `release` - To match the "build-release` script - no tests.

The default build folder will be `${sourceDir}/build/<preset>`.

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>


[ROCm/rocprofiler-systems commit: 92e1d84c72]
This commit is contained in:
ajanicijamd
2025-07-16 18:49:22 -04:00
کامیت شده توسط GitHub
والد 7eb189db84
کامیت 1a57db0395
6فایلهای تغییر یافته به همراه104 افزوده شده و 0 حذف شده
@@ -16,6 +16,7 @@ on:
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
- .wordlist.txt
- CMakePresets.json
pull_request:
branches: [ amd-mainline, amd-staging, release/** ]
paths-ignore:
@@ -30,6 +31,7 @@ on:
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
- .wordlist.txt
- CMakePresets.json
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -16,6 +16,7 @@ on:
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
- .wordlist.txt
- CMakePresets.json
pull_request:
branches: [ amd-mainline, amd-staging, release/** ]
paths-ignore:
@@ -30,6 +31,7 @@ on:
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
- .wordlist.txt
- CMakePresets.json
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -16,6 +16,7 @@ on:
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
- .wordlist.txt
- CMakePresets.json
pull_request:
branches: [ amd-mainline, amd-staging, release/** ]
paths-ignore:
@@ -30,6 +31,7 @@ on:
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
- .wordlist.txt
- CMakePresets.json
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -16,6 +16,7 @@ on:
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
- .wordlist.txt
- CMakePresets.json
pull_request:
branches: [ amd-mainline, amd-staging, release/** ]
paths-ignore:
@@ -30,6 +31,7 @@ on:
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
- .wordlist.txt
- CMakePresets.json
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -16,6 +16,7 @@ on:
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
- .wordlist.txt
- CMakePresets.json
pull_request:
branches: [ amd-mainline, amd-staging, release/** ]
paths-ignore:
@@ -30,6 +31,7 @@ on:
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
- .wordlist.txt
- CMakePresets.json
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -0,0 +1,94 @@
{
"version": 3,
"configurePresets": [
{
"name": "ci",
"displayName": "official CI build",
"description": "Official CI build parameters",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/ci",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_INSTALL_PREFIX": "/opt/rocprofiler-systems",
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++",
"ROCPROFSYS_USE_ROCM": "ON",
"ROCPROFSYS_USE_PYTHON": "ON",
"ROCPROFSYS_BUILD_DYNINST": "ON",
"ROCPROFSYS_BUILD_TBB": "ON",
"ROCPROFSYS_BUILD_BOOST": "ON",
"ROCPROFSYS_BUILD_ELFUTILS": "ON",
"ROCPROFSYS_BUILD_LIBIBERTY": "ON",
"ROCPROFSYS_BUILD_TESTING": "ON",
"ROCPROFSYS_STRIP_LIBRARIES": "OFF",
"ROCPROFSYS_MAX_THREADS": "64",
"ROCPROFSYS_BUILD_CI": "ON"
}
},
{
"name": "debug",
"displayName": "official debug build",
"description": "Debug build parameters with tests",
"binaryDir": "${sourceDir}/build/debug",
"generator": "Ninja",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_INSTALL_PREFIX": "/opt/rocprofiler-systems",
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++",
"ROCPROFSYS_USE_ROCM": "ON",
"ROCPROFSYS_USE_PYTHON": "ON",
"ROCPROFSYS_BUILD_DYNINST": "ON",
"ROCPROFSYS_BUILD_TBB": "ON",
"ROCPROFSYS_BUILD_BOOST": "ON",
"ROCPROFSYS_BUILD_ELFUTILS": "ON",
"ROCPROFSYS_BUILD_LIBIBERTY": "ON",
"ROCPROFSYS_BUILD_TESTING": "ON",
"ROCPROFSYS_STRIP_LIBRARIES": "OFF",
"ROCPROFSYS_BUILD_DEBUG": "ON"
}
},
{
"name": "debug-optimized",
"displayName": "release build with debug info",
"description": "Release build with debug info with tests",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/debug-optimized",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_INSTALL_PREFIX": "/opt/rocprofiler-systems",
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++",
"ROCPROFSYS_USE_ROCM": "ON",
"ROCPROFSYS_USE_PYTHON": "ON",
"ROCPROFSYS_BUILD_DYNINST": "ON",
"ROCPROFSYS_BUILD_TBB": "ON",
"ROCPROFSYS_BUILD_BOOST": "ON",
"ROCPROFSYS_BUILD_ELFUTILS": "ON",
"ROCPROFSYS_BUILD_LIBIBERTY": "ON",
"ROCPROFSYS_BUILD_TESTING": "ON",
"ROCPROFSYS_STRIP_LIBRARIES": "OFF"
}
},
{
"name": "release",
"displayName": "official release build",
"description": "Official release build",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/release",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_INSTALL_PREFIX": "/opt/rocprofiler-systems",
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++",
"ROCPROFSYS_USE_ROCM": "ON",
"ROCPROFSYS_USE_PYTHON": "ON",
"ROCPROFSYS_BUILD_DYNINST": "ON",
"ROCPROFSYS_BUILD_TBB": "ON",
"ROCPROFSYS_BUILD_BOOST": "ON",
"ROCPROFSYS_BUILD_ELFUTILS": "ON",
"ROCPROFSYS_BUILD_LIBIBERTY": "ON"
}
}
]
}