ORNL / ORNL/GridKit

Modernize Enzyme dependency in cmake

Open
#501 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

cleanup cmake development enzyme
Dominant language
C++
Stars
27
Forks
11
Avg merge
3d 8h
Merged PRs (30d)
23

Description

Summary

Treat Enzyme like a true cmake dependency

Rationale

CMake code for linking with Enzyme is complicated (thus error-prone) and duplicated across all dependent libraries. It would be better to define the build requirements in one place and let dependent libraries just use the target.

Description
  • Update FindEnzyme.cmake to be a true "find module"
  • Update link code for library targets to use enzyme target instead of itemizing build requirements
Additional information

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading FindEnzyme.cmake and locating the duplicated Enzyme linking code for the library targets. Compare the current build requirements with the desired Enzyme target usage. The work is done when FindEnzyme.cmake provides a reusable dependency target and dependent libraries link through that target without repeating the requirements.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.