diff options
author | Ryuan Choi <ryuan.choi@gmail.com> | 2013-04-17 17:38:59 +0100 |
---|---|---|
committer | Tom Hacohen <tom@stosb.com> | 2013-04-17 17:40:51 +0100 |
commit | 08aa4222e678f0ce035dad6c5ecdb0a912e756de (patch) | |
tree | a7f20c04870d30c854a867ad1ad5d7eabc2d7389 | |
parent | 6ccae99bd1efb013c3401857405e0b65fe9102f1 (diff) |
cmake : EcoreConfig.cmake should be able to find ecore sub modules.
-rw-r--r-- | cmakeconfig/EcoreConfig.cmake.in | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/cmakeconfig/EcoreConfig.cmake.in b/cmakeconfig/EcoreConfig.cmake.in index 3f3cbd38a..26822d3e3 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) |