From 08aa4222e678f0ce035dad6c5ecdb0a912e756de Mon Sep 17 00:00:00 2001 From: Ryuan Choi Date: Wed, 17 Apr 2013 17:38:59 +0100 Subject: [PATCH] cmake : EcoreConfig.cmake should be able to find ecore sub modules. --- cmakeconfig/EcoreConfig.cmake.in | 45 ++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/cmakeconfig/EcoreConfig.cmake.in b/cmakeconfig/EcoreConfig.cmake.in index 3f3cbd38a6..26822d3e30 100644 --- a/cmakeconfig/EcoreConfig.cmake.in +++ b/cmakeconfig/EcoreConfig.cmake.in @@ -1,9 +1,19 @@ # - Try to find ecore # Once done this will define +# # ECORE_FOUND - System has ecore # ECORE_INCLUDE_DIRS - The ecore include directories # ECORE_LIBRARIES - The libraries needed to use ecore # ECORE_DEFINITIONS - Compiler switches required for using ecore +# +# When the COMPONENTS keyword was passed to find_package(), +# the following variables are defined for additional Ecore modules +# such as Evas, X, Imf. +# +# ECORE_*_FOUND - System has ecore * +# ECORE_*_INCLUDE_DIRS - The ecore include directories +# ECORE_*_LIBRARIES - The libraries needed to use ecore +# ECORE_*_DEFINITIONS - Compiler switches required for using ecore * module. set(MY_PKG ecore) @@ -30,20 +40,27 @@ find_package_handle_standard_args(${MY_PKG} DEFAULT_MSG mark_as_advanced(ECORE_INCLUDE_DIRS ECORE_LIBRARY ECORE_LIBRARIES ECORE_DEFINITIONS) -if (ECORE_USE_ECORE-X) - pkg_check_modules(PC_LIBECORE_X ${_QUIET} ecore-x) +if (Ecore_FIND_COMPONENTS) + foreach(_component ${Ecore_FIND_COMPONENTS}) + string(TOUPPER ${_component} _COMPONENT) + string(TOLOWER ${_component} _component) + set(_MODULE_PKGNAME ecore-${_component}) - find_library(ECORE_X_LIBRARY - NAMES ${PC_LIBECORE_X_LIBRARIES} - HINTS ${PC_LIBECORE_X_LIBDIR} ${PC_LIBECORE_LIBRARY_DIRS} ) + pkg_check_modules(PC_LIBECORE_${_COMPONENT} ${_QUIET} ${_MODULE_PKGNAME}) - set(ECORE_X_DEFINITIONS ${PC_LIBECORE_CFLAGS_OTHER}) - set(ECORE_X_LIBRARIES ${ECORE_LIBRARY}) - set(ECORE_X_INCLUDE_DIRS ${PC_LIBECORE_INCLUDE_DIRS}) + find_library(ECORE_${_COMPONENT}_LIBRARY + NAMES ${PC_LIBECORE_${_COMPONENT}_LIBRARIES} + HINTS ${PC_LIBECORE_${_COMPONENT}_LIBDIR} + ${PC_LIBECORE_${_COMPONENT}_LIBRARY_DIRS}) - include(FindPackageHandleStandardArgs) - # handle the QUIETLY and REQUIRED arguments and set ECORE_X_FOUND to TRUE - # if all listed variables are TRUE - find_package_handle_standard_args(ecore_x DEFAULT_MSG - ECORE_X_LIBRARIES ECORE_INCLUDE_DIRS) -endif (ECORE_USE_ECORE-X) + set(ECORE_${_COMPONENT}_DEFINITIONS ${PC_LIBECORE_${_COMPONENT}_CFLAGS_OTHER}) + set(ECORE_${_COMPONENT}_LIBRARIES ${ECORE_${_COMPONENT}_LIBRARY}) + set(ECORE_${_COMPONENT}_INCLUDE_DIRS ${PC_LIBECORE_${_COMPONENT}_INCLUDE_DIRS}) + + include(FindPackageHandleStandardArgs) + # handle the QUIETLY and REQUIRED arguments and set ECORE_*_FOUND to TRUE + # if all listed variables are TRUE + find_package_handle_standard_args(ecore_${_component} DEFAULT_MSG + ECORE_${_COMPONENT}_LIBRARIES ECORE_${_COMPONENT}_INCLUDE_DIRS) + endforeach(_component) +endif(Ecore_FIND_COMPONENTS)