Repository navigation
CMakeLists.txt: larsim dependency EXPORT'ed, removed unused dk2nugenie - #684
Merged
hgreenlee merged 1 commit intoNov 2, 2026
Merged
Conversation
dk2nugenie is not used in sbncode codebase; however, it was EXPORTed so that dependent repositories could use it without explicitly including it. CMake's dk2nugenie finding function is provided in nufinder package, which was not included: sbncode relied on other dependencies (namely, larsim) to export it. However larsim dependency is not EXPORTed. The net result is that sbncode builds, but a package including only sbncode won't: since sbncode exports dk2nugenie, CMake implicitly tries to import it; but nufinder is not implicitly imported, so importing dk2nugenie will fail. nufinder may happen to be indirectly imported by other packaged (larsim above), in which case building still forks. Otherwise, a CMake error occurs. This commit removes dk2nugenie explicit import since it is not used directly. To make sure that dependent packages can keep using it without breakage, larsim itself is EXPORTed.
Contributor
|
Hi, @jas1005 is ICARUS RM - keeping them in the loop! |
kjplows
approved these changes
Nov 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
dk2nugenieis not used insbncodecodebase; however, it wasEXPORT'ed so that dependent repositories could use it without explicitly including¹ it. CMake'sdk2nugeniefinding function is provided innufinderpackage, which was not included:sbncoderelied on other dependencies (namely,larsim) to export it.However
larsimdependency is notEXPORT'ed.The net result is that
sbncodebuilds, but a package including onlysbncodewon't: sincesbncodeexportsdk2nugenie, CMake implicitly tries to import it; butnufinderis not implicitly imported, so importingdk2nugeniewill fail.nufindermay happen to be indirectly imported by other packaged (larsimabove), in which case building still forks. Otherwise, a CMake error occurs.This commit removes
dk2nugenieexplicit import since it is not used directly. To make sure that dependent packages can keep using it without breakage,larsimitself isEXPORT'ed.This change was tested by building
sbncodeand then using the resulting UPS product to buildicaruscodewith explicit dependency on it.Note: this problem was the cause of merge failure of SBNSoftware/icaruscode#922, which for the first time introduced a CMake dependency on
sbncode.Reviewers:
[1] Here, "explicitly including" means to have a
find_package()call inCMakeLists.txt.