Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added CMake export generation and install. #550

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

alud0s3
Copy link

@alud0s3 alud0s3 commented Oct 4, 2023

Enhanced install command usage via GNUInstallDirs.

Added helper module GGMLExtraDependencies.cmake that:

  • Automatically adds third party libraries (e.g. CUDA) into generated exports in addition to including and linking to them during the build process.
  • Wraps libraries that can not be found via find_package nicely into CMake targets so that paths etc. can be resolved correctly inside the exported package config file.

Implemented CMake package export configuration generation and installation using GGMLExtraDependencies.cmake that allows using GGML in other projects via find_package(). It is implemented in a way that also allows using the GGML library directly from its build directory without the need to install it first (allows faster development of projects that are strongly coupled with the development of the GGML library).

Please note that I only checked building with OpenCL/CLBlast since I only have an older AMD GPU available.

Enhanced install command usage via GNUInstallDirs.

Added helper module GGMLExtraDependencies.cmake that:
- Automatically adds third party libraries (e.g. CUDA) into generated exports
  in addition to including and linking to them during the build process.
- Wraps libraries that can not be found via find_package nicely into CMake
  targets so that paths etc. can be resolved correctly inside the exported
  package config file.

Implemented CMake package export configuration generation and installation
using GGMLExtraDependencies.cmake that allows using GGML in other projects via
find_package(). It is implemented in a way that also allows using the GGML
library directly from its build directory without the need to install it first
(allows faster development of projects that are strongly coupled with the
development of the GGML library).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant