From f8d4ac8858bb0e8e32148dbc998e7e3e2f80a0b5 Mon Sep 17 00:00:00 2001 From: David Ittah Date: Tue, 1 Apr 2025 14:38:36 -0400 Subject: [PATCH 1/3] Add `ENZYME_WARN_COMPILER` option --- enzyme/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/enzyme/CMakeLists.txt b/enzyme/CMakeLists.txt index 95e2588897ad..71fd95cf45be 100644 --- a/enzyme/CMakeLists.txt +++ b/enzyme/CMakeLists.txt @@ -38,6 +38,7 @@ option(ENZYME_MLIR "Build enzyme mlir plugin" OFF) option(ENZYME_IFX "Enable enzyme support for the Intel Fortran compiler IFX" OFF) option(ENZYME_EXTERNAL_SHARED_LIB "Build external shared library" OFF) option(ENZYME_STATIC_LIB "Build static library" OFF) +option(ENZYME_WARN_COMPILER "Warn if enzyme detects potentially incompatible compiler" ON) set(ENZYME_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(ENZYME_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) list(APPEND CMAKE_MODULE_PATH "${ENZYME_SOURCE_DIR}/cmake/modules") From c0765d165e22b3bfc4ac40bed927d4b276a84463 Mon Sep 17 00:00:00 2001 From: David Ittah Date: Tue, 1 Apr 2025 14:46:30 -0400 Subject: [PATCH 2/3] Conditionally warn in EnzymeConfig.cmake.in --- enzyme/cmake/EnzymeConfig.cmake.in | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/enzyme/cmake/EnzymeConfig.cmake.in b/enzyme/cmake/EnzymeConfig.cmake.in index 84d630ed6a41..028bf3b90937 100644 --- a/enzyme/cmake/EnzymeConfig.cmake.in +++ b/enzyme/cmake/EnzymeConfig.cmake.in @@ -2,21 +2,23 @@ get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES) -if("C" IN_LIST languages) - if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") - message("project languages: ${languages}") - message(WARNING "C compiler ID equals ${CMAKE_C_COMPILER_ID}\n" - "C compiler: ${CMAKE_C_COMPILER}\n" - "Using Enzyme without an LLVM based C compiler.") +if(ENZYME_WARN_COMPILER) + if("C" IN_LIST languages) + if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") + message("project languages: ${languages}") + message(WARNING "C compiler ID equals ${CMAKE_C_COMPILER_ID}\n" + "C compiler: ${CMAKE_C_COMPILER}\n" + "Using Enzyme without an LLVM based C compiler.") + endif() endif() -endif() -if("CXX" IN_LIST languages) - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - message("project languages: ${languages}") - message(WARNING "C++ compiler equals ${CMAKE_CXX_COMPILER_ID}\n" - "C++ compiler: ${CMAKE_CXX_COMPILER}\n" - "Using Enzyme without an LLVM based C++ compiler.") + if("CXX" IN_LIST languages) + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + message("project languages: ${languages}") + message(WARNING "C++ compiler equals ${CMAKE_CXX_COMPILER_ID}\n" + "C++ compiler: ${CMAKE_CXX_COMPILER}\n" + "Using Enzyme without an LLVM based C++ compiler.") + endif() endif() endif() From aa92764012762c5ec6a494818aef2a29bc8136e4 Mon Sep 17 00:00:00 2001 From: David Ittah Date: Tue, 1 Apr 2025 14:47:32 -0400 Subject: [PATCH 3/3] Conditionally warn in EnzymeConfigVersion.cmake.in --- enzyme/cmake/EnzymeConfigVersion.cmake.in | 28 ++++++++++++----------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/enzyme/cmake/EnzymeConfigVersion.cmake.in b/enzyme/cmake/EnzymeConfigVersion.cmake.in index c249f43d21ba..cdc65095238a 100644 --- a/enzyme/cmake/EnzymeConfigVersion.cmake.in +++ b/enzyme/cmake/EnzymeConfigVersion.cmake.in @@ -2,21 +2,23 @@ set(PACKAGE_VERSION "@ENZYME_VERSION@") get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES) -if("C" IN_LIST languages) - if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") - message("project languages: ${languages}") - message(WARNING "C compiler ID equals ${CMAKE_C_COMPILER_ID}\n" - "C compiler: ${CMAKE_C_COMPILER}\n" - "Using Enzyme without an LLVM based C compiler.") +if(ENZYME_WARN_COMPILER) + if("C" IN_LIST languages) + if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") + message("project languages: ${languages}") + message(WARNING "C compiler ID equals ${CMAKE_C_COMPILER_ID}\n" + "C compiler: ${CMAKE_C_COMPILER}\n" + "Using Enzyme without an LLVM based C compiler.") + endif() endif() -endif() -if("CXX" IN_LIST languages) - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - message("project languages: ${languages}") - message(WARNING "C++ compiler equals ${CMAKE_CXX_COMPILER_ID}\n" - "C++ compiler: ${CMAKE_CXX_COMPILER}\n" - "Using Enzyme without an LLVM based C++ compiler.") + if("CXX" IN_LIST languages) + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + message("project languages: ${languages}") + message(WARNING "C++ compiler equals ${CMAKE_CXX_COMPILER_ID}\n" + "C++ compiler: ${CMAKE_CXX_COMPILER}\n" + "Using Enzyme without an LLVM based C++ compiler.") + endif() endif() endif()