Skip to content

Commit 9238045

Browse files
authored
Allow suppression of incompatible compiler warning (#2272)
* Add `ENZYME_WARN_COMPILER` option * Conditionally warn in EnzymeConfig.cmake.in * Conditionally warn in EnzymeConfigVersion.cmake.in
1 parent f1bad2e commit 9238045

File tree

3 files changed

+31
-26
lines changed

3 files changed

+31
-26
lines changed

enzyme/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ option(ENZYME_MLIR "Build enzyme mlir plugin" OFF)
3838
option(ENZYME_IFX "Enable enzyme support for the Intel Fortran compiler IFX" OFF)
3939
option(ENZYME_EXTERNAL_SHARED_LIB "Build external shared library" OFF)
4040
option(ENZYME_STATIC_LIB "Build static library" OFF)
41+
option(ENZYME_WARN_COMPILER "Warn if enzyme detects potentially incompatible compiler" ON)
4142
set(ENZYME_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
4243
set(ENZYME_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
4344
list(APPEND CMAKE_MODULE_PATH "${ENZYME_SOURCE_DIR}/cmake/modules")

enzyme/cmake/EnzymeConfig.cmake.in

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,23 @@
22

33
get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
44

5-
if("C" IN_LIST languages)
6-
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
7-
message("project languages: ${languages}")
8-
message(WARNING "C compiler ID equals ${CMAKE_C_COMPILER_ID}\n"
9-
"C compiler: ${CMAKE_C_COMPILER}\n"
10-
"Using Enzyme without an LLVM based C compiler.")
5+
if(ENZYME_WARN_COMPILER)
6+
if("C" IN_LIST languages)
7+
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
8+
message("project languages: ${languages}")
9+
message(WARNING "C compiler ID equals ${CMAKE_C_COMPILER_ID}\n"
10+
"C compiler: ${CMAKE_C_COMPILER}\n"
11+
"Using Enzyme without an LLVM based C compiler.")
12+
endif()
1113
endif()
12-
endif()
1314

14-
if("CXX" IN_LIST languages)
15-
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
16-
message("project languages: ${languages}")
17-
message(WARNING "C++ compiler equals ${CMAKE_CXX_COMPILER_ID}\n"
18-
"C++ compiler: ${CMAKE_CXX_COMPILER}\n"
19-
"Using Enzyme without an LLVM based C++ compiler.")
15+
if("CXX" IN_LIST languages)
16+
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
17+
message("project languages: ${languages}")
18+
message(WARNING "C++ compiler equals ${CMAKE_CXX_COMPILER_ID}\n"
19+
"C++ compiler: ${CMAKE_CXX_COMPILER}\n"
20+
"Using Enzyme without an LLVM based C++ compiler.")
21+
endif()
2022
endif()
2123
endif()
2224

enzyme/cmake/EnzymeConfigVersion.cmake.in

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,23 @@ set(PACKAGE_VERSION "@ENZYME_VERSION@")
22

33
get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
44

5-
if("C" IN_LIST languages)
6-
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
7-
message("project languages: ${languages}")
8-
message(WARNING "C compiler ID equals ${CMAKE_C_COMPILER_ID}\n"
9-
"C compiler: ${CMAKE_C_COMPILER}\n"
10-
"Using Enzyme without an LLVM based C compiler.")
5+
if(ENZYME_WARN_COMPILER)
6+
if("C" IN_LIST languages)
7+
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
8+
message("project languages: ${languages}")
9+
message(WARNING "C compiler ID equals ${CMAKE_C_COMPILER_ID}\n"
10+
"C compiler: ${CMAKE_C_COMPILER}\n"
11+
"Using Enzyme without an LLVM based C compiler.")
12+
endif()
1113
endif()
12-
endif()
1314

14-
if("CXX" IN_LIST languages)
15-
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
16-
message("project languages: ${languages}")
17-
message(WARNING "C++ compiler equals ${CMAKE_CXX_COMPILER_ID}\n"
18-
"C++ compiler: ${CMAKE_CXX_COMPILER}\n"
19-
"Using Enzyme without an LLVM based C++ compiler.")
15+
if("CXX" IN_LIST languages)
16+
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
17+
message("project languages: ${languages}")
18+
message(WARNING "C++ compiler equals ${CMAKE_CXX_COMPILER_ID}\n"
19+
"C++ compiler: ${CMAKE_CXX_COMPILER}\n"
20+
"Using Enzyme without an LLVM based C++ compiler.")
21+
endif()
2022
endif()
2123
endif()
2224

0 commit comments

Comments
 (0)