efl
66 строк · 2.8 Кб
1# - Try to find ecore_cxx
2# Once done this will define
3#
4# ECORE_CXX_FOUND - System has ecore_cxx
5# ECORE_CXX_INCLUDE_DIRS - The ecore_cxx include directories
6# ECORE_CXX_LIBRARIES - The libraries needed to use ecore_cxx
7# ECORE_CXX_DEFINITIONS - Compiler switches required for using ecore_cxx
8#
9# When the COMPONENTS keyword was passed to find_package(),
10# the following variables are defined for additional Ecore_Cxx modules
11# such as Evas, X, Imf, Imf_Evas.
12#
13# ECORE_CXX_*_FOUND - System has ecore_cxx *
14# ECORE_CXX_*_INCLUDE_DIRS - The ecore_cxx include directories
15# ECORE_CXX_*_LIBRARIES - The libraries needed to use ecore_cxx
16# ECORE_CXX_*_DEFINITIONS - Compiler switches required for using ecore_cxx * module.
17
18set(MY_PKG ecore_cxx)
19
20find_package(PkgConfig)
21if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1")
22# "QUIET" was introduced in 2.8.2
23set(_QUIET QUIET)
24endif ()
25pkg_check_modules(PC_LIBECORE_CXX ${_QUIET} ${MY_PKG})
26
27find_library(ECORE_CXX_LIBRARY
28NAMES ${PC_LIBECORE_CXX_LIBRARIES}
29HINTS ${PC_LIBECORE_CXX_LIBDIR} ${PC_LIBECORE_CXX_LIBRARY_DIRS} )
30
31set(ECORE_CXX_DEFINITIONS ${PC_LIBECORE_CXX_CFLAGS_OTHER})
32set(ECORE_CXX_LIBRARIES ${ECORE_CXX_LIBRARY})
33set(ECORE_CXX_INCLUDE_DIRS ${PC_LIBECORE_CXX_INCLUDE_DIRS})
34
35include(FindPackageHandleStandardArgs)
36# handle the QUIETLY and REQUIRED arguments and set ECORE_CXX_FOUND to TRUE
37# if all listed variables are TRUE
38find_package_handle_standard_args(${MY_PKG} DEFAULT_MSG
39ECORE_CXX_LIBRARIES ECORE_CXX_INCLUDE_DIRS)
40
41mark_as_advanced(ECORE_CXX_INCLUDE_DIRS ECORE_CXX_LIBRARY ECORE_CXX_LIBRARIES ECORE_CXX_DEFINITIONS)
42
43if (Ecore_Cxx_FIND_COMPONENTS)
44foreach(_component ${Ecore_Cxx_FIND_COMPONENTS})
45string(TOUPPER ${_component} _COMPONENT)
46string(TOLOWER ${_component} _component)
47string(REGEX REPLACE "_" "-" _MODULE_PKGNAME "ecore_cxx-${_component}")
48
49pkg_check_modules(PC_LIBECORE_CXX_${_COMPONENT} ${_QUIET} ${_MODULE_PKGNAME})
50
51find_library(ECORE_CXX_${_COMPONENT}_LIBRARY
52NAMES ${PC_LIBECORE_CXX_${_COMPONENT}_LIBRARIES}
53HINTS ${PC_LIBECORE_CXX_${_COMPONENT}_LIBDIR}
54${PC_LIBECORE_CXX_${_COMPONENT}_LIBRARY_DIRS})
55
56set(ECORE_CXX_${_COMPONENT}_DEFINITIONS ${PC_LIBECORE_CXX_${_COMPONENT}_CFLAGS_OTHER})
57set(ECORE_CXX_${_COMPONENT}_LIBRARIES ${ECORE_CXX_${_COMPONENT}_LIBRARY})
58set(ECORE_CXX_${_COMPONENT}_INCLUDE_DIRS ${PC_LIBECORE_CXX_${_COMPONENT}_INCLUDE_DIRS})
59
60include(FindPackageHandleStandardArgs)
61# handle the QUIETLY and REQUIRED arguments and set ECORE_CXX_*_FOUND to TRUE
62# if all listed variables are TRUE
63find_package_handle_standard_args(ecore_cxx_${_component} DEFAULT_MSG
64ECORE_CXX_${_COMPONENT}_LIBRARIES ECORE_CXX_${_COMPONENT}_INCLUDE_DIRS)
65endforeach(_component)
66endif(Ecore_Cxx_FIND_COMPONENTS)
67