Skip to content

Commit

Permalink
Adds Intel oneAPI and GCC Linux CMake presets (#2218)
Browse files Browse the repository at this point in the history
* Adds GCC presets (cloned from clang ones)

* Adds Intel presets

* Moves compiler flags to relevant preset to avoid CMake warnings

* Adds CMAKE_BUILD_WITH_INSTALL_RPATH to Intel presets
  • Loading branch information
MattBolitho authored Jan 5, 2025
1 parent 9ebb61d commit c759460
Showing 1 changed file with 126 additions and 7 deletions.
133 changes: 126 additions & 7 deletions enzyme/CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,34 +49,117 @@
"cacheVariables": {
"CMAKE_C_COMPILER": "clang",
"CMAKE_CXX_COMPILER": "clang++",
"CMAKE_CXX_FLAGS": "-Wall -fno-rtti -Werror=unused-variable -Werror=dangling-else -Werror=unused-but-set-variable -Werror=return-type -Werror=nonnull -Werror=unused-result -Werror=reorder -Werror=switch",
"CMAKE_CXX_FLAGS_DEBUG": "-O0 -g -ggdb -fno-omit-frame-pointer",
"CMAKE_CXX_FLAGS_RELEASE": "-O2",
"CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O2 -g -ggdb"
"CMAKE_CXX_FLAGS": "-Wall -fno-rtti -Werror=unused-variable -Werror=dangling-else -Werror=unused-but-set-variable -Werror=return-type -Werror=nonnull -Werror=unused-result -Werror=reorder -Werror=switch"
}
},
{
"name": "x64-linux-clang-debug",
"displayName": "Clang x64 Linux Debug",
"inherits": "x64-linux-clang",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS_DEBUG": "-O0 -g -ggdb -fno-omit-frame-pointer"
}
},
{
"name": "x64-linux-clang-release",
"displayName": "Clang x64 Linux Release",
"inherits": "x64-linux-clang",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS_RELEASE": "-O2"
}
},
{
"name": "x64-linux-clang-release-with-debug-info",
"displayName": "Clang x64 Linux Release with Debug Info",
"inherits": "x64-linux-clang",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O2 -g -ggdb"
}
},
{
"name": "x64-linux-gcc",
"description": "Base preset for Linux development using GNU compilers.",
"hidden": true,
"inherits": [
"config-base-x64",
"config-base-linux"
],
"cacheVariables": {
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++",
"CMAKE_CXX_FLAGS": "-Wall -fno-rtti -Werror=unused-variable -Werror=dangling-else -Werror=unused-but-set-variable -Werror=return-type -Werror=nonnull -Werror=unused-result -Werror=reorder -Werror=switch -Wno-comment"
}
},
{
"name": "x64-linux-gcc-debug",
"displayName": "GCC x64 Linux Debug",
"inherits": "x64-linux-gcc",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS_DEBUG": "-O0 -g -ggdb -fno-omit-frame-pointer"
}
},
{
"name": "x64-linux-gcc-release",
"displayName": "GCC x64 Linux Release",
"inherits": "x64-linux-gcc",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS_RELEASE": "-O2"
}
},
{
"name": "x64-linux-gcc-release-with-debug-info",
"displayName": "GCC x64 Linux Release with Debug Info",
"inherits": "x64-linux-gcc",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O2 -g -ggdb"
}
},
{
"name": "x64-linux-intel",
"description": "Base preset for Linux development using Intel oneAPI compilers.",
"hidden": true,
"inherits": [
"config-base-x64",
"config-base-linux"
],
"cacheVariables": {
"CMAKE_C_COMPILER": "icx",
"CMAKE_CXX_COMPILER": "icpx",
"CMAKE_CXX_FLAGS": "-Wall -fno-rtti -Werror=unused-variable -Werror=dangling-else -Werror=unused-but-set-variable -Werror=return-type -Werror=nonnull -Werror=unused-result -Werror=reorder -Werror=switch",
"CMAKE_BUILD_WITH_INSTALL_RPATH": "ON"
}
},
{
"name": "x64-linux-intel-debug",
"displayName": "Intel x64 Linux Debug",
"inherits": "x64-linux-intel",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS_DEBUG": "-O0 -g -ggdb -fno-omit-frame-pointer"
}
},
{
"name": "x64-linux-intel-release",
"displayName": "Intel x64 Linux Release",
"inherits": "x64-linux-intel",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS_RELEASE": "-O2"
}
},
{
"name": "x64-linux-intel-release-with-debug-info",
"displayName": "Intel x64 Linux Release with Debug Info",
"inherits": "x64-linux-intel",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O2 -g -ggdb"
}
}
],
Expand All @@ -98,6 +181,42 @@
"displayName": "Clang x64 Linux Release with Debug Info",
"description": "Builds the project using Clang on Linux in Release configuration with debug info.",
"configurePreset": "x64-linux-clang-release-with-debug-info"
},
{
"name": "x64-linux-gcc-debug",
"displayName": "GCC x64 Linux Debug",
"description": "Builds the project using GCC on Linux in Debug configuration.",
"configurePreset": "x64-linux-gcc-debug"
},
{
"name": "x64-linux-gcc-release",
"displayName": "GCC x64 Linux Release",
"description": "Builds the project using GCC on Linux in Release configuration.",
"configurePreset": "x64-linux-gcc-release"
},
{
"name": "x64-linux-gcc-release-with-debug-info",
"displayName": "GCC x64 Linux Release with Debug Info",
"description": "Builds the project using GCC on Linux in Release configuration with debug info.",
"configurePreset": "x64-linux-gcc-release-with-debug-info"
},
{
"name": "x64-linux-intel-debug",
"displayName": "Intel x64 Linux Debug",
"description": "Builds the project using Intel oneAPI compilers on Linux in Debug configuration.",
"configurePreset": "x64-linux-intel-debug"
},
{
"name": "x64-linux-intel-release",
"displayName": "Intel x64 Linux Release",
"description": "Builds the project using Intel oneAPI compilers on Linux in Release configuration.",
"configurePreset": "x64-linux-intel-release"
},
{
"name": "x64-linux-intel-release-with-debug-info",
"displayName": "Intel x64 Linux Release with Debug Info",
"description": "Builds the project using Intel oneAPI compilers on Linux in Release configuration with debug info.",
"configurePreset": "x64-linux-intel-release-with-debug-info"
}
]
}

0 comments on commit c759460

Please sign in to comment.