@@ -64,73 +64,36 @@ User may set:
64
64
65
65
Author(s):
66
66
- Asher Mancinelli <[email protected] >
67
+ - Nicholson Koukpaizan <[email protected] >
67
68
68
69
]]
69
70
70
- if (NOT ${CMAKE_C_COMPILER_ID} STREQUAL "Clang" OR NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" )
71
- message (FATAL_ERROR "Enzyme may only be enabled if building with Clang" )
72
- endif ()
71
+ find_package (Enzyme REQUIRED CONFIG
72
+ PATHS
73
+ ${ENZYME_DIR}
74
+ ${ENZYME_DIR} /lib/cmake/Enzyme)
75
+ message (STATUS "Enzyme configuration found: ${Enzyme_CONFIG} " )
73
76
74
77
find_library (ENZYME_LLVM_PLUGIN_LIBRARY
75
78
NAMES
76
- LLVMEnzyme-19.so
77
- LLVMEnzyme-18.so
78
- LLVMEnzyme-17.so
79
- LLVMEnzyme-16.so
80
- LLVMEnzyme-15.so
81
- LLVMEnzyme-14.so
82
- LLVMEnzyme-13.so
83
- LLVMEnzyme-12.so
84
- LLVMEnzyme-11.so
85
- LLVMEnzyme-10.so
86
- LLVMEnzyme-9.so
79
+ LLVMEnzyme-${Enzyme_LLVM_VERSION_MAJOR} .so
87
80
PATHS
88
- ${ENZYME_DIR} $ENV{ENZYME_DIR}
89
- ENV LD_LIBRARY_PATH ENV DYLD_LIBRARY_PATH
81
+ ${ENZYME_DIR}
82
+ ENV LD_LIBRARY_PATH
83
+ ENV DYLD_LIBRARY_PATH
90
84
PATH_SUFFIXES
91
85
lib64 lib)
86
+ message (STATUS "Enzyme LLVM plugin library: ${ENZYME_LLVM_PLUGIN_LIBRARY} " )
92
87
93
- find_library (ENZYME_CLANG_PLUGIN_LIBRARY
94
- NAMES
95
- ClangEnzyme-19.so
96
- ClangEnzyme-18.so
97
- ClangEnzyme-17.so
98
- ClangEnzyme-16.so
99
- ClangEnzyme-15.so
100
- ClangEnzyme-14.so
101
- ClangEnzyme-13.so
102
- ClangEnzyme-12.so
103
- ClangEnzyme-11.so
104
- ClangEnzyme-10.so
105
- ClangEnzyme-9.so
106
- PATHS
107
- ${ENZYME_DIR} $ENV{ENZYME_DIR}
108
- ENV LD_LIBRARY_PATH ENV DYLD_LIBRARY_PATH
109
- PATH_SUFFIXES
110
- lib64 lib)
88
+ find_program (GRIDKIT_LLVM_LINK llvm-link
89
+ PATHS ${Enzyme_LLVM_BINARY_DIR}
90
+ REQUIRED)
91
+ message (STATUS "llvm-link: ${GRIDKIT_LLVM_LINK} " )
111
92
112
- find_program (GRIDKIT_LLVM_LINK llvm-link)
113
- find_program (GRIDKIT_OPT opt)
114
-
115
- if ("${GRIDKIT_LLVM_LINK} " STREQUAL "GRIDKIT_LLVM_LINK-NOTFOUND" )
116
- message (FATAL_ERROR "Could not find llvm-link! Will not be able to build Enzyme targets." )
117
- endif ()
118
-
119
- if ("${GRIDKIT_OPT} " STREQUAL "GRIDKIT_OPT-NOTFOUND" )
120
- message (FATAL_ERROR "Could not find opt! Will not be able to build Enzyme targets." )
121
- endif ()
122
-
123
- message (STATUS "${ENZYME_CLANG_PLUGIN_LIBRARY} ;${ENZYME_LLVM_PLUGIN_LIBRARY} " )
124
- if ((NOT ${ENZYME_LLVM_PLUGIN_LIBRARY} ) OR (NOT ${ENZYME_CLANG_PLUGIN_LIBRARY} ))
125
- set (ENZYME_CLANG_PLUGIN_LIBRARY CACHE FILEPATH "Path to Enzyme Clang plugin library" )
126
- set (ENZYME_LLVM_PLUGIN_LIBRARY CACHE FILEPATH "Path to Enzyme LLVM plugin library" )
127
- message (STATUS "Found Enzyme clang plugin: ${ENZYME_CLANG_PLUGIN_LIBRARY} " )
128
- message (STATUS "Found Enzyme LLVM plugin: ${ENZYME_LLVM_PLUGIN_LIBRARY} " )
129
- get_filename_component (ENZYME_LIBRARY_DIR ${ENZYME_CLANG_PLUGIN_LIBRARY} DIRECTORY CACHE "Enzyme library directory" )
130
- else ()
131
- message (FATAL_ERROR "Enzyme library not found!"
132
- " Set ENZYME_DIR to Enzyme's installation prefix." )
133
- endif ()
93
+ find_program (GRIDKIT_OPT opt
94
+ PATHS ${Enzyme_LLVM_BINARY_DIR}
95
+ REQUIRED)
96
+ message (STATUS "opt: ${GRIDKIT_OPT} " )
134
97
135
98
macro (enzyme_add_executable)
136
99
set (options )
0 commit comments