diff options
| author | Harald Fernengel <harry@kdevelop.org> | 2010-02-20 20:35:30 +0000 | 
|---|---|---|
| committer | Harald Fernengel <harry@kdevelop.org> | 2010-02-20 20:35:30 +0000 | 
| commit | 84ccffd809dc71de314f21cb747d590d246be3ed (patch) | |
| tree | 314e27876253967614eeafffff345ee98da03ee6 /modules | |
| parent | 904b311924c97104b098329dc42ee2c67b3e3648 (diff) | |
| download | extra-cmake-modules-84ccffd809dc71de314f21cb747d590d246be3ed.tar.gz extra-cmake-modules-84ccffd809dc71de314f21cb747d590d246be3ed.tar.bz2 | |
Bring Cross compilation to kdelibs
With these changes, I was able to cross-compile kdelibs for Maemo 5
using MADDE.  See http://techbase.kde.org/Projects/KDE_on_Maemo/MADDE
for more details.
CCMAIL: kde-maemo@kde.org
svn path=/trunk/KDE/kdelibs/; revision=1093415
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/FindKDE4Internal.cmake | 4 | ||||
| -rw-r--r-- | modules/KDE4Macros.cmake | 19 | 
2 files changed, 21 insertions, 2 deletions
| diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake index 4b95a8bd..a31a81d5 100644 --- a/modules/FindKDE4Internal.cmake +++ b/modules/FindKDE4Internal.cmake @@ -1159,7 +1159,7 @@ if (CMAKE_COMPILER_IS_GNUCXX)        string(REGEX MATCH "(--enable-libstdcxx-allocator=mt)" _GCC_COMPILED_WITH_BAD_ALLOCATOR "${_gcc_alloc_info}")     endif (GCC_IS_NEWER_THAN_4_1) -   if (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32) +   if (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32 AND NOT CMAKE_CROSSCOMPILING)        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")        set (KDE4_C_FLAGS "-fvisibility=hidden")        # check that Qt defines Q_DECL_EXPORT as __attribute__ ((visibility("default"))) @@ -1183,7 +1183,7 @@ if (CMAKE_COMPILER_IS_GNUCXX)        endif (GCC_IS_NEWER_THAN_4_2)     else (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32)        set (__KDE_HAVE_GCC_VISIBILITY 0) -   endif (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32) +   endif (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32 AND NOT CMAKE_CROSSCOMPILING)  endif (CMAKE_COMPILER_IS_GNUCXX) diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake index 61757c89..f58b658e 100644 --- a/modules/KDE4Macros.cmake +++ b/modules/KDE4Macros.cmake @@ -106,6 +106,12 @@ macro (KDE4_ADD_KCFG_FILES _sources )             file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH})         endif(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH}") +       if (CMAKE_CROSSCOMPILING) +           set(IMPORT_KCONFIG_COMPILER_EXECUTABLE "${KDE_HOST_TOOLS_PATH}/ImportKConfigCompilerExecutable.cmake" CACHE FILEPATH "Point it to the export file of kconfig_compiler from a native build") +           include(${IMPORT_KCONFIG_COMPILER_EXECUTABLE}) +           set(KDE4_KCFGC_EXECUTABLE kconfig_compiler) +       endif (CMAKE_CROSSCOMPILING) +         # the command for creating the source file from the kcfg file         add_custom_command(OUTPUT ${_header_FILE} ${_src_FILE}            COMMAND ${KDE4_KCFGC_EXECUTABLE} @@ -283,6 +289,13 @@ macro (KDE4_CREATE_HANDBOOK _docbook)     endif (_kdeBootStrapping)     file(GLOB _docs *.docbook) + +   if (CMAKE_CROSSCOMPILING) +      set(IMPORT_MEINPROC4_EXECUTABLE "${KDE_HOST_TOOLS_PATH}/ImportMeinProc4Executable.cmake" CACHE FILEPATH "Point it to the export file of meinproc4 from a native build") +      include(${IMPORT_MEINPROC4_EXECUTABLE}) +      set(KDE4_MEINPROC_EXECUTABLE meinproc4) +   endif (CMAKE_CROSSCOMPILING) +     add_custom_command(OUTPUT ${_doc}        COMMAND ${KDE4_MEINPROC_EXECUTABLE} --check ${_bootstrapOption} --cache ${_doc} ${_input}        DEPENDS ${_docs} ${_KDE4_MEINPROC_EXECUTABLE_DEP} ${_ssheet} @@ -354,6 +367,12 @@ macro (KDE4_CREATE_MANPAGE _docbook _section)        set(_bootstrapOption)     endif (_kdeBootStrapping) +   if (CMAKE_CROSSCOMPILING) +      set(IMPORT_MEINPROC4_EXECUTABLE "${KDE_HOST_TOOLS_PATH}/ImportMeinProc4Executable.cmake" CACHE FILEPATH "Point it to the export file of meinproc4 from a native build") +      include(${IMPORT_MEINPROC4_EXECUTABLE}) +      set(KDE4_MEINPROC_EXECUTABLE meinproc4) +   endif (CMAKE_CROSSCOMPILING) +     add_custom_command(OUTPUT ${_outdoc}        COMMAND ${KDE4_MEINPROC_EXECUTABLE} --stylesheet ${_ssheet} --check ${_bootstrapOption} ${_input}        DEPENDS ${_input} ${_KDE4_MEINPROC_EXECUTABLE_DEP} ${_ssheet} | 
