diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/FindLibXml2.cmake | 45 | ||||
| -rw-r--r-- | modules/FindLibXslt.cmake | 45 | ||||
| -rw-r--r-- | modules/FindQt4.cmake | 43 | 
3 files changed, 124 insertions, 9 deletions
diff --git a/modules/FindLibXml2.cmake b/modules/FindLibXml2.cmake new file mode 100644 index 00000000..37486afc --- /dev/null +++ b/modules/FindLibXml2.cmake @@ -0,0 +1,45 @@ +# - Try to find LibXml2 +# Once done this will define +# +#  LIBXML2_FOUND - system has LibXml2 +#  LIBXML2_INCLUDE_DIR - the LibXml2 include directory +#  LIBXML2_LIBRARY - Link these to use OpenGL and GLU +#  LIBXML2_DEFINITIONS - Compiler switches required for using LibXml2 +# +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls + + +INCLUDE(UsePkgConfig) + +PKGCONFIG(libxml-2.0 _LibXml2IncDir _LibXml2LinkDir _LibXml2LinkFlags _LibXml2Cflags) + +SET(LIBXML2_DEFINITIONS ${_LibXml2Cflags}) + +FIND_PATH(LIBXML2_INCLUDE_DIR libxml/xpath.h +  ${_LibXml2IncDir}/libxml2 +  /usr/include/libxml2 +  /usr/local/include/libxml2 +) + +FIND_LIBRARY(LIBXML2_LIBRARY NAMES xml2 +  PATHS +  ${_LibXml2LinkDir} +  /usr/lib +  /usr/local/lib +) + +IF(LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARY) +   SET(LIBXML2_FOUND TRUE) +ENDIF(LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARY) + +IF(LIBXML2_FOUND) +  IF(NOT LIBXML2_QUIETLY) +    MESSAGE(STATUS "Found LibXml2: ${LIBXML2_LIBRARY}") +  ENDIF(NOT LIBXML2_QUIETLY) +ELSE(LIBXML2_FOUND) +  IF(NOT LIBXML2_REQUIRED) +    MESSAGE(SEND_ERROR "Could not find LibXml2") +  ENDIF(NOT LIBXML2_REQUIRED) +ENDIF(LIBXML2_FOUND) + diff --git a/modules/FindLibXslt.cmake b/modules/FindLibXslt.cmake new file mode 100644 index 00000000..ed23fd64 --- /dev/null +++ b/modules/FindLibXslt.cmake @@ -0,0 +1,45 @@ +# - Try to find LibXslt +# Once done this will define +# +#  LIBXSLT_FOUND - system has LibXslt +#  LIBXSLT_INCLUDE_DIR - the LibXslt include directory +#  LIBXSLT_LIBRARY - Link these to use OpenGL and GLU +#  LIBXSLT_DEFINITIONS - Compiler switches required for using LibXslt +# + + +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls +INCLUDE(UsePkgConfig) + +PKGCONFIG(libxslt _LibXsltIncDir _LibXsltLinkDir _LibXsltLinkFlags _LibXsltCflags) + +SET(LIBXSLT_DEFINITIONS ${_LibXsltCflags}) + +FIND_PATH(LIBXSLT_INCLUDE_DIR libxslt/xslt.h +  ${_LibXsltIncDir} +  /usr/include +  /usr/local/include +) + +FIND_LIBRARY(LIBXSLT_LIBRARY NAMES xslt +  PATHS +  ${_LibXsltLinkDir} +  /usr/lib +  /usr/local/lib +) + +IF(LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARY) +   SET(LIBXSLT_FOUND TRUE) +ENDIF(LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARY) + +IF(LIBXSLT_FOUND) +  IF(NOT LIBXSLT_QUIETLY) +    MESSAGE(STATUS "Found LibXslt: ${LIBXSLT_LIBRARY}") +  ENDIF(NOT LIBXSLT_QUIETLY) +ELSE(LIBXSLT_FOUND) +  IF(NOT LIBXSLT_REQUIRED) +    MESSAGE(SEND_ERROR "Could not find LibXslt") +  ENDIF(NOT LIBXSLT_REQUIRED) +ENDIF(LIBXSLT_FOUND) + diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake index 47ac15d8..d2cea8a4 100644 --- a/modules/FindQt4.cmake +++ b/modules/FindQt4.cmake @@ -637,28 +637,53 @@ IF(QT4_QMAKE_FOUND)    #    ###################################### +  MACRO(QT4_GET_ABS_PATH _abs_filename _filename) +     IF(${_filename} MATCHES "^/.+") +        SET(${_abs_filename} ${_filename}) +     ELSE(${_filename} MATCHES "^/.+") +        SET(${_abs_filename} ${CMAKE_CURRENT_SOURCE_DIR}/${_filename}) +     ENDIF(${_filename} MATCHES "^/.+") +   ENDMACRO(QT4_GET_ABS_PATH) + + +   MACRO(QT4_GET_MOC_INC_DIRS _moc_INC_DIRS) +      SET(${_moc_INC_DIRS}) +      GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES) + +      FOREACH(_current ${_inc_DIRS}) +         SET(${_moc_INC_DIRS} ${${_moc_INC_DIRS}} "-I" ${_current}) +      ENDFOREACH(_current ${_inc_DIRS}) +   ENDMACRO(QT4_GET_MOC_INC_DIRS) + +  MACRO(QT4_GENERATE_MOC infile outfile ) +  # get include dirs +    QT4_GET_MOC_INC_DIRS(moc_includes) + +    QT4_GET_ABS_PATH(infile ${infile}) + +    ADD_CUSTOM_COMMAND(OUTPUT ${outfile} +      COMMAND ${QT_MOC_EXECUTABLE} +      ARGS ${moc_includes} -o ${outfile} ${infile} +      MAIN_DEPENDENCY ${infile}) +  ENDMACRO(QT4_GENERATE_MOC) +    # QT4_WRAP_CPP(outfiles inputfile ... )    # TODO  perhaps add support for -D, -U and other minor options    MACRO(QT4_WRAP_CPP outfiles ) -      # get include dirs -    GET_DIRECTORY_PROPERTY(moc_includes_tmp INCLUDE_DIRECTORIES) -    SET(moc_includes) -    FOREACH(it ${moc_includes_tmp}) -      SET(moc_includes ${moc_includes} "-I${it}") -    ENDFOREACH(it) +    QT4_GET_MOC_INC_DIRS(moc_includes)      FOREACH(it ${ARGN}) +      QT4_GET_ABS_PATH(it ${it})        GET_FILENAME_COMPONENT(outfile ${it} NAME_WE) -      SET(infile ${CMAKE_CURRENT_SOURCE_DIR}/${it})        SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/moc_${outfile}.cxx)        ADD_CUSTOM_COMMAND(OUTPUT ${outfile}          COMMAND ${QT_MOC_EXECUTABLE} -        ARGS ${moc_includes} -o ${outfile} ${infile} -        MAIN_DEPENDENCY ${infile}) +        ARGS ${moc_includes} -o ${outfile} ${it} +        MAIN_DEPENDENCY ${it})        SET(${outfiles} ${${outfiles}} ${outfile})      ENDFOREACH(it)  | 
