summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyuan Choi <ryuan.choi@gmail.com>2013-04-17 17:38:59 +0100
committerTom Hacohen <tom@stosb.com>2013-04-17 17:40:51 +0100
commit08aa4222e678f0ce035dad6c5ecdb0a912e756de (patch)
treea7f20c04870d30c854a867ad1ad5d7eabc2d7389
parent6ccae99bd1efb013c3401857405e0b65fe9102f1 (diff)
cmake : EcoreConfig.cmake should be able to find ecore sub modules.
-rw-r--r--cmakeconfig/EcoreConfig.cmake.in45
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)