aboutsummaryrefslogtreecommitdiffstats
path: root/cmakeconfig/EdjeConfig.cmake.in
blob: b973aa2451171b92697952114db18decc6cf9fca (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# - Try to find edje
# Once done this will define
#  EDJE_FOUND - System has edje
#  EDJE_INCLUDE_DIRS - The edje include directories
#  EDJE_LIBRARIES - The libraries needed to use edje
#  EDJE_DEFINITIONS - Compiler switches required for using edje
#  EDJE_CC_EXECUTABLE - full path to the `edje_cc' program.

set(MY_PKG edje)

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_LIBEDJE ${_QUIET} ${MY_PKG})

find_library(EDJE_LIBRARY
             NAMES ${PC_LIBEDJE_LIBRARIES}
             HINTS ${PC_LIBEDJE_LIBDIR} ${PC_LIBEDJE_LIBRARY_DIRS})

find_program(EDJE_CC_EXECUTABLE
             NAMES edje_cc)

set(EDJE_DEFINITIONS ${PC_LIBEDJE_CFLAGS_OTHER})
set(EDJE_LIBRARIES ${EDJE_LIBRARY})
set(EDJE_INCLUDE_DIRS ${PC_LIBEDJE_INCLUDE_DIRS})

macro(EDJE_CC_TARGET Input)
    cmake_parse_arguments(OPTIONS "" "" "COMPILE_FLAGS" ${ARGN})
    STRING(REGEX REPLACE "[.]edc" ".edj" Output "${Input}" )
    set(Output "${CMAKE_CURRENT_BINARY_DIR}/${Output}")
    add_custom_command(OUTPUT ${Output}
        COMMAND ${EDJE_CC_EXECUTABLE}
        ARGS ${OPTIONS_COMPILE_FLAGS} ${Input} ${Output}
        DEPENDS ${Input}
        COMMENT
        "edje_cc ${Input}"
        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endmacro()

include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set EDJE_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(${MY_PKG} DEFAULT_MSG
   EDJE_LIBRARIES EDJE_INCLUDE_DIRS)

mark_as_advanced(EDJE_INCLUDE_DIRS EDJE_LIBRARY EDJE_LIBRARIES EDJE_DEFINITIONS EDJE_CC_EXECUTABLE)