From f6e4492eb4ffad8396b8c7a97708b90123db4424 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Tue, 5 Feb 2013 16:40:12 +0000 Subject: [PATCH] Elementary: Ship cmake configs (like pkg-config). This should make it easier for applications to use efl with cmake. It seems to work with my tests. It's ugly and redundant but it's the first step. Not all the components are supported at the moment. SVN revision: 83639 --- legacy/elementary/Makefile.am | 3 ++ .../cmakeconfig/ElementaryConfig.cmake.in | 32 +++++++++++++++++++ legacy/elementary/configure.ac | 1 + 3 files changed, 36 insertions(+) create mode 100644 legacy/elementary/cmakeconfig/ElementaryConfig.cmake.in diff --git a/legacy/elementary/Makefile.am b/legacy/elementary/Makefile.am index 927cd39a5c..1387cc9d77 100644 --- a/legacy/elementary/Makefile.am +++ b/legacy/elementary/Makefile.am @@ -73,6 +73,9 @@ config.rpath pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = elementary.pc +cmakeconfigdir = $(prefix)/share/cmake/Modules +cmakeconfig_DATA = cmakeconfig/ElementaryConfig.cmake + .PHONY: doc screenshots doc: diff --git a/legacy/elementary/cmakeconfig/ElementaryConfig.cmake.in b/legacy/elementary/cmakeconfig/ElementaryConfig.cmake.in new file mode 100644 index 0000000000..e41759dcb3 --- /dev/null +++ b/legacy/elementary/cmakeconfig/ElementaryConfig.cmake.in @@ -0,0 +1,32 @@ +# - Try to find elementary +# Once done this will define +# ELEMENTARY_FOUND - System has elementary +# ELEMENTARY_INCLUDE_DIRS - The elementary include directories +# ELEMENTARY_LIBRARIES - The libraries needed to use elementary +# ELEMENTARY_DEFINITIONS - Compiler switches required for using elementary + +set(MY_PKG elementary) + +find_package(PkgConfig) +if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") + # "QUIET" was introduced in 2.8.2 + set(_QUIET QUIET) +endif () +pkg_check_modules(PC_LIBELEMENTARY ${_QUIET} ${MY_PKG}) + +find_library(ELEMENTARY_LIBRARY + NAMES ${PC_LIBELEMENTARY_LIBRARIES} + HINTS ${PC_LIBELEMENTARY_LIBDIR} ${PC_LIBELEMENTARY_LIBRARY_DIRS} ) + +set(ELEMENTARY_DEFINITIONS ${PC_LIBELEMENTARY_CFLAGS_OTHER}) +set(ELEMENTARY_LIBRARIES ${ELEMENTARY_LIBRARY}) +set(ELEMENTARY_INCLUDE_DIRS ${PC_LIBELEMENTARY_INCLUDE_DIRS}) + +include(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set ELEMENTARY_FOUND to TRUE +# if all listed variables are TRUE +find_package_handle_standard_args(${MY_PKG} DEFAULT_MSG + ELEMENTARY_LIBRARIES ELEMENTARY_INCLUDE_DIRS) + +mark_as_advanced(ELEMENTARY_INCLUDE_DIRS ELEMENTARY_LIBRARY ELEMENTARY_LIBRARIES ELEMENTARY_DEFINITIONS) + diff --git a/legacy/elementary/configure.ac b/legacy/elementary/configure.ac index b685b21979..dcb1390c5d 100644 --- a/legacy/elementary/configure.ac +++ b/legacy/elementary/configure.ac @@ -829,6 +829,7 @@ config/default/Makefile config/standard/Makefile config/mobile/Makefile $po_makefile_in +cmakeconfig/ElementaryConfig.cmake ]) #####################################################################