2010-05-15 Leandro Pereira <leandro@profusion.mobi>
[WebKit-https.git] / cmake / WebKitMacros.cmake
1 MACRO(INCLUDE_IF_EXISTS _file)
2     IF (EXISTS ${_file})
3         MESSAGE(STATUS "Using platform-specific CMakeLists: ${_file}")
4         INCLUDE(${_file})
5     ELSE ()
6         MESSAGE(STATUS "Platform-specific CMakeLists not found: ${_file}")
7     ENDIF ()
8 ENDMACRO()
9
10 # Append the given dependencies to the source file
11 MACRO(ADD_SOURCE_DEPENDENCIES _source _deps)
12     GET_SOURCE_FILE_PROPERTY (_tmp ${_source} OBJECT_DEPENDS)
13     IF (NOT _tmp)
14         SET (_tmp "")
15     ENDIF ()
16
17     FOREACH (f ${_deps})
18         LIST(APPEND _tmp "${f}")
19     ENDFOREACH ()
20
21     SET_SOURCE_FILES_PROPERTIES (${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}")
22     UNSET(_tmp)
23 ENDMACRO()
24
25 MACRO(WEBKIT_WRAP_SOURCELIST _input)
26     IF (WTF_PLATFORM_QT)
27         FOREACH (_file ${ARGN})
28             GET_FILENAME_COMPONENT(_basename ${_file} NAME_WE)
29             SET(_moc_filename ${DERIVED_SOURCES_DIR}/${_basename}.moc)
30
31             FILE(READ ${_file} _contents)
32
33             STRING(REGEX MATCHALL "#include[ ]+\"${_basename}\\.moc\"" _match "${_contents}")
34             IF (_match)
35                 QT4_GENERATE_MOC(${_file} ${_moc_filename})
36                 ADD_SOURCE_DEPENDENCIES(${_file} ${_moc_filename})
37             ENDIF()
38         ENDFOREACH ()
39     ENDIF ()
40 ENDMACRO()