KDE/kdelibs/cmake/modules

Alexander Neundorf neundorf at kde.org
Wed Jul 29 22:36:17 CEST 2009


Hi Sebastian,

On Wednesday 29 July 2009, Sebastian Trueg wrote:
> SVN commit 1004264 by trueg:
>
> Forwardport: also include the path to the soprano cmake macro into the
> cmake module path. This way the macro can be used without being included
> manually but also by including it.
>
>
>  M  +17 -12    FindSoprano.cmake
>
>
> --- trunk/KDE/kdelibs/cmake/modules/FindSoprano.cmake #1004263:1004264
> @@ -47,18 +47,6 @@
>      ${KDE4_INCLUDE_DIR}
>      )
>
> -  # find the cmake macro file installed by soprano, relative to the
> include dir -  get_filename_component(_SOPRANO_PREFIX
> ${SOPRANO_INCLUDE_DIR} PATH) -  # first check in
> <prefix>/share/soprano/cmake, if it's not found there, check in
> <prefix>/share/apps/cmake/modules -  # find_file(_SOPRANO_MACRO_FILE NAMES
> SopranoAddOntology.cmake HINTS ${_SOPRANO_PREFIX}/share/soprano/cmake ) - 
> find_file(_SOPRANO_MACRO_FILE NAMES SopranoAddOntology.cmake HINTS
> ${_SOPRANO_PREFIX}/share/apps/cmake/modules ) -
> -  # since which version of soprano is this file installed ?
> -  # we should fail if the file is not found but SOPRANO_MIN_VERSION is
> bigger than this version. -  if(_SOPRANO_MACRO_FILE)
> -    include(${_SOPRANO_MACRO_FILE})
> -  endif(_SOPRANO_MACRO_FILE)
> -
>    find_library_with_debug(SOPRANO_INDEX_LIBRARIES
>      WIN32_DEBUG_POSTFIX d
>      NAMES
> @@ -186,6 +174,23 @@
>        set(_plugins "${_plugins} virtuosobackend")
>      endif(EXISTS ${SOPRANO_PLUGIN_DIR}/virtuosobackend.desktop)
>
> +    # make sure the Soprano cmake macros are found
> +    # We also include it directly for convinience
> +    get_filename_component(_SOPRANO_PREFIX ${SOPRANO_INCLUDE_DIR} PATH)
> +    find_file(_SOPRANO_MACRO_FILE NAMES SopranoAddOntology.cmake HINTS
> ${_SOPRANO_PREFIX}/share/soprano/cmake ) +    if(_SOPRANO_MACRO_FILE)
> +      # new Soprano > 2.3.0 location
> +      include(${_SOPRANO_MACRO_FILE})
> +      set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
> ${_SOPRANO_PREFIX}/share/soprano/cmake) +    else(_SOPRANO_MACRO_FILE)
> +      # the old Soprano 2.3.0 location
> +      find_file(_SOPRANO_MACRO_FILE_OLD NAMES SopranoAddOntology.cmake
> HINTS ${_SOPRANO_PREFIX}/share/apps/cmake/modules ) +     
> if(_SOPRANO_MACRO_FILE_OLD)
> +        include(${_SOPRANO_MACRO_FILE_OLD})
> +        set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
> ${_SOPRANO_PREFIX}/share/apps/cmake/modules) +     
> endif(_SOPRANO_MACRO_FILE_OLD)
> +    endif(_SOPRANO_MACRO_FILE)
> +
>    endif(Soprano_FOUND)
>
>    if(Soprano_FOUND)

I think this looks good.
Although it's a bit ugly to add that directory to CMAKE_MODULE_PATH, it's 
probably necessary.
Can you still add the include()-commands to the FindSoprano.cmake to the 4.3 
branch and remove the extra, now unnecessary include()-commands in the 
CMakeLists.txt of soprano-using apps there ?
Can you try to get the 4.3.0 tag moved for these files ?
Do you know if there are users outside svn KDE/ ?
If not, and if these issues can still be fixed in time, is the modification of 
CMAKE_MODULE_PATH actually necessary ?

Alex



More information about the Kde-buildsystem mailing list