cmake/WebKitMacros.cmake
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 17 Sep 2010 09:02:29 +0300
changeset 0 4f2f89ce4247
permissions -rw-r--r--
Revision: 201037

MACRO(INCLUDE_IF_EXISTS _file)
    IF (EXISTS ${_file})
        MESSAGE(STATUS "Using platform-specific CMakeLists: ${_file}")
	INCLUDE(${_file})
    ELSE ()
        MESSAGE(STATUS "Platform-specific CMakeLists not found: ${_file}")
    ENDIF ()
ENDMACRO()

# Append the given dependencies to the source file
MACRO(ADD_SOURCE_DEPENDENCIES _source _deps)
    GET_SOURCE_FILE_PROPERTY (_tmp ${_source} OBJECT_DEPENDS)
    IF (NOT _tmp)
        SET (_tmp "")
    ENDIF ()

    FOREACH (f ${_deps})
        LIST(APPEND _tmp "${f}")
    ENDFOREACH ()

    SET_SOURCE_FILES_PROPERTIES (${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}")
    UNSET(_tmp)
ENDMACRO()

MACRO(WEBKIT_WRAP_SOURCELIST _input)
    IF (WTF_PLATFORM_QT)
        FOREACH (_file ${ARGN})
            GET_FILENAME_COMPONENT(_basename ${_file} NAME_WE)
            SET(_moc_filename ${DERIVED_SOURCES_DIR}/${_basename}.moc)

            FILE(READ ${_file} _contents)

            STRING(REGEX MATCHALL "#include[ ]+\"${_basename}\\.moc\"" _match "${_contents}")
            IF (_match)
                QT4_GENERATE_MOC(${_file} ${_moc_filename})
                ADD_SOURCE_DEPENDENCIES(${_file} ${_moc_filename})
            ENDIF()
        ENDFOREACH ()
    ENDIF ()
ENDMACRO()