Puts WolframLibrary.h and related headers directly into the repository, so that Mathematica is no longer needed to compile the library.
Removes -DSET_REPLACE_WITH_MATHEMATICA CMake option, as, since Mathematica is no longer required, it does not seem necessary.
Removes header search paths from the Xcode project.
Removes FindMathematica dependency.
Comments
This has several advantages:
Since Mathematica is no longer required for building the full paclet-ready library, CI nodes (on, say, Windows and Mac) that build it don't need Mathematica to be installed which makes things significantly simpler.
Since the testing target can now include all C++ files, Xcode (and other IDEs presumably) no longer disables code parsing for LibraryLink files when switching to the testing target.
It makes the CMake builds significantly simpler, in particular removing 4500+ lines FindMathematica dependency.
Downsides:
The headers might change, however, since they did not change since 2015 (according to the copyright notice), it does not seem to be much of a concern. If they do change, they are unlikely going to break existing code. And if they do break existing code, we will notice it quickly.
Note, the legal language in the header is not a concern, which I verified with Wolfram's legal team.
Changes
WolframLibrary.h
and related headers directly into the repository, so that Mathematica is no longer needed to compile the library.-DSET_REPLACE_WITH_MATHEMATICA
CMake option, as, since Mathematica is no longer required, it does not seem necessary.FindMathematica
dependency.Comments
This has several advantages:
FindMathematica
dependency.Downsides:
Note, the legal language in the header is not a concern, which I verified with Wolfram's legal team.
This change is