This creates and installs a package version file and a package config
file. These are used by find_package with the CONFIG option, and are
roughly equivalent to pkgconfig, but is cmake specific rather than linux
specific.

Signed-off-by: Dylan Baker <[email protected]>
---

 CMakeLists.txt                      | 24 ++++++++++++++++++++++++
 cmake/Modules/.gitignore            |  2 ++
 cmake/Modules/WaffleConfig.cmake.in | 13 +++++++++++++
 3 files changed, 39 insertions(+)
 create mode 100644 cmake/Modules/.gitignore
 create mode 100644 cmake/Modules/WaffleConfig.cmake.in

diff --git a/CMakeLists.txt b/CMakeLists.txt
index bde8096..729ebc1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -158,6 +158,30 @@ install(
     COMPONENT coredocs
     )
 
+
+# 
------------------------------------------------------------------------------
+# Create Package config and version files
+# 
------------------------------------------------------------------------------
+
+set(ConfigPackageLocation "${CMAKE_INSTALL_LIBDIR}/cmake/Waffle")
+configure_file(cmake/Modules/WaffleConfig.cmake.in
+               cmake/Modules/WaffleConfig.cmake @ONLY)
+
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file(
+    "cmake/Modules/WaffleConfigVersion.cmake"
+    VERSION "${waffle_version}"
+    COMPATIBILITY AnyNewerVersion
+)
+
+install(
+    FILES
+        "cmake/Modules/WaffleConfigVersion.cmake"
+        "cmake/Modules/WaffleConfig.cmake"
+    DESTINATION "${ConfigPackageLocation}"
+    COMPONENT Devel
+)
+
 # 
------------------------------------------------------------------------------
 
 include(WafflePrintConfigurationSummary)
diff --git a/cmake/Modules/.gitignore b/cmake/Modules/.gitignore
new file mode 100644
index 0000000..9742f46
--- /dev/null
+++ b/cmake/Modules/.gitignore
@@ -0,0 +1,2 @@
+WaffleConfigVersion.cmake
+WaffleConfig.cmake
diff --git a/cmake/Modules/WaffleConfig.cmake.in 
b/cmake/Modules/WaffleConfig.cmake.in
new file mode 100644
index 0000000..50544f2
--- /dev/null
+++ b/cmake/Modules/WaffleConfig.cmake.in
@@ -0,0 +1,13 @@
+# Config module for Waffle
+#
+# Provides the following variables
+# Waffle_INCLUDE_DIRS - Directories to include
+# Waffle_LIBRARIES    - Libraries to link
+# Waffle_LIBRARY_DIRS - Library directories to search for link libraries
+
+get_filename_component(PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+set(Waffle_FOUND 1)
+set(Waffle_INCLUDE_DIRS 
"@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/@waffle_libname@")
+set(Waffle_LIBRARIES "@waffle_libname@")
+set(Waffle_LIBRARY_DIRS "${PREFIX}/@CMAKE_INSTALL_LIBDIR@")
-- 
2.2.1

_______________________________________________
waffle mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/waffle

Reply via email to