diff -u -r -N applications/knetworkmanager9/cmake/generate_apidox src/applications/knetworkmanager9/cmake/generate_apidox --- applications/knetworkmanager9/cmake/generate_apidox 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/generate_apidox 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,17 @@ +#!/bin/bash + +top_srcdir=${1} +top_builddir=${2} +kde_libs_htmldir=${3} +export QTDOCDIR=${4} + +if [[ ! -d "${top_srcdir}/doc/common/" ]]; then + export DOXDATA=${kde_libs_htmldir}/en/common +fi + +abs_top_srcdir=$(cd ${top_srcdir} && pwd) + +rm -rf ${top_builddir}/${kde_libs_htmldir}/en +mkdir -p ${top_builddir}/${kde_libs_htmldir}/en +cd ${top_builddir}/${kde_libs_htmldir}/en +${abs_top_srcdir}/admin/doxygen.sh --modulename --installdir=${top_builddir}/${kde_libs_htmldir}/en ${abs_top_srcdir} diff -u -r -N applications/knetworkmanager9/cmake/install_apidox src/applications/knetworkmanager9/cmake/install_apidox --- applications/knetworkmanager9/cmake/install_apidox 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/install_apidox 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,12 @@ +#!/bin/bash + +top_srcdir=${1} +top_builddir=${2} +kde_libs_htmldir=${3} +installdir=${DESTDIR} + +abs_top_srcdir=$(cd ${top_srcdir} && pwd) + +cd ${top_builddir} +mkdir -p ${installdir}/${kde_libs_htmldir}/en +cp -Rp ${top_builddir}/${kde_libs_htmldir}/en ${installdir}/${kde_libs_htmldir}/ diff -u -r -N applications/knetworkmanager9/cmake/modules/FindTDE.cmake src/applications/knetworkmanager9/cmake/modules/FindTDE.cmake --- applications/knetworkmanager9/cmake/modules/FindTDE.cmake 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/modules/FindTDE.cmake 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,86 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +if( NOT TDE_FOUND ) + + message( STATUS "checking for 'TDE'") + + # if the path is not already defined by user, + # find kde-config executable + if( NOT DEFINED KDECONFIG_EXECUTABLE ) + find_program( KDECONFIG_EXECUTABLE + NAMES kde-config + HINTS ${BIN_INSTALL_DIR} ) + if( NOT KDECONFIG_EXECUTABLE ) + tde_message_fatal( "kde-config are NOT found." ) + endif( NOT KDECONFIG_EXECUTABLE ) + endif( NOT DEFINED KDECONFIG_EXECUTABLE ) + + # check for installed trinity version + execute_process( + COMMAND ${KDECONFIG_EXECUTABLE} --version + OUTPUT_VARIABLE _version + RESULT_VARIABLE _result + OUTPUT_STRIP_TRAILING_WHITESPACE ) + if( _result ) + tde_message_fatal( "Unable to run kde-config!\n KDELIBS are correctly installed?\n Path to kde-config are corect?" ) + endif( _result ) + + # parse kde-config output, to extract TDE version + string( REGEX MATCH "KDE: ([0-9\\.]+)" __dummy "${_version}" ) + set( TDE_VERSION "${CMAKE_MATCH_1}" ) + + # ask kde-config for few paths + macro( __internal_get_path __type __var ) + execute_process( + COMMAND ${KDECONFIG_EXECUTABLE} --expandvars --install ${__type} + OUTPUT_VARIABLE ${__var} + OUTPUT_STRIP_TRAILING_WHITESPACE ) + endmacro( __internal_get_path ) + + __internal_get_path( include TDE_INCLUDE_DIR ) + __internal_get_path( lib TDE_LIB_DIR ) + __internal_get_path( exe TDE_BIN_DIR ) + __internal_get_path( data TDE_DATA_DIR ) + __internal_get_path( config TDE_CONFIG_DIR ) + __internal_get_path( html TDE_HTML_DIR ) + __internal_get_path( cmake TDE_CMAKE_DIR ) + __internal_get_path( qtplugins TDE_QTPLUGINS_DIR ) + + # find kde tools + macro( __internal_find_program __prog __var ) + find_program( ${__var} + NAMES ${__prog} + HINTS ${TDE_BIN_INSTALL_DIR} + OUTPUT_STRIP_TRAILING_WHITESPACE ) + if( NOT ${__var} ) + tde_message_fatal( "${__prog} are NOT found.\n KDELIBS are correctly installed?" ) + endif( NOT ${__var} ) + endmacro( __internal_find_program ) + + __internal_find_program( dcopidl KDE3_DCOPIDL_EXECUTABLE ) + __internal_find_program( dcopidlng KDE3_DCOPIDLNG_EXECUTABLE ) + __internal_find_program( dcopidl2cpp KDE3_DCOPIDL2CPP_EXECUTABLE ) + __internal_find_program( meinproc KDE3_MEINPROC_EXECUTABLE ) + __internal_find_program( kconfig_compiler KDE3_KCFGC_EXECUTABLE ) + __internal_find_program( makekdewidgets KDE3_MAKEKDEWIDGETS_EXECUTABLE ) + + # dcopidlng is a bash script which using kde-config; + # if PATH to kde-config is not set, dcopidlng will fail; + # for this reason we set KDECONFIG environment variable before running dcopidlng + set( KDE3_DCOPIDLNG_EXECUTABLE env KDECONFIG=${KDECONFIG_EXECUTABLE} ${KDE3_DCOPIDLNG_EXECUTABLE} + CACHE INTERNAL KDE3_DCOPIDLNG_EXECUTABLE FORCE ) + + message( STATUS " found 'TDE', version ${TDE_VERSION}" ) + +endif( NOT TDE_FOUND ) + +include( "${TDE_CMAKE_DIR}/kdelibs.cmake" ) diff -u -r -N applications/knetworkmanager9/cmake/modules/FindTQt.cmake src/applications/knetworkmanager9/cmake/modules/FindTQt.cmake --- applications/knetworkmanager9/cmake/modules/FindTQt.cmake 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/modules/FindTQt.cmake 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,81 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +macro( tqt_message ) + message( STATUS "${ARGN}" ) +endmacro( ) + +pkg_search_module( TQT tqt ) + +if( NOT TQT_FOUND ) + tde_message_fatal( "Unable to find tqt!\n Try adding the directory in which the tqt.pc file is located\nto the PKG_CONFIG_PATH variable." ) +endif( ) + +# tmoc_executable +execute_process( + COMMAND pkg-config tqt --variable=tmoc_executable + OUTPUT_VARIABLE TMOC_EXECUTABLE OUTPUT_STRIP_TRAILING_WHITESPACE ) + +if( TMOC_EXECUTABLE ) + tqt_message( " tmoc path: ${TMOC_EXECUTABLE}" ) +else( ) + tde_message_fatal( "Path to tmoc is not set.\n tqt is correctly installed?" ) +endif( ) + + +# moc_executable +execute_process( + COMMAND pkg-config tqt --variable=moc_executable + OUTPUT_VARIABLE MOC_EXECUTABLE OUTPUT_STRIP_TRAILING_WHITESPACE ) + +if( MOC_EXECUTABLE ) + tqt_message( " moc path: ${MOC_EXECUTABLE}" ) +else( ) + tde_message_fatal( "Path to moc is not set.\n tqt is correctly installed?" ) +endif( ) + + +# uic_executable +execute_process( + COMMAND pkg-config tqt --variable=uic_executable + OUTPUT_VARIABLE UIC_EXECUTABLE OUTPUT_STRIP_TRAILING_WHITESPACE ) + +if( UIC_EXECUTABLE ) + tqt_message( " uic path: ${UIC_EXECUTABLE}" ) +else( ) + tde_message_fatal( "Path to uic is not set.\n tqt is correctly installed?" ) +endif( ) + + +# check if tqt is usable +tde_save( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES ) +set( CMAKE_REQUIRED_INCLUDES ${TQT_INCLUDE_DIRS} ) +foreach( _dirs ${TQT_LIBRARY_DIRS} ) + list( APPEND CMAKE_REQUIRED_LIBRARIES "-L${_dirs}" ) +endforeach() +list( APPEND CMAKE_REQUIRED_LIBRARIES ${TQT_LIBRARIES} ) + +check_cxx_source_compiles(" + #include + int main(int argc, char **argv) { TQApplication app(argc, argv); return 0; } " + HAVE_USABLE_TQT ) + +if( NOT HAVE_USABLE_TQT ) + tde_message_fatal( "Unable to build a simple tqt test." ) +endif( ) + +tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES ) + + +# TQT_CXX_FLAGS +foreach( _flag ${TQT_CFLAGS_OTHER} ) + set( TQT_CXX_FLAGS "${TQT_CXX_FLAGS} ${_flag}" ) +endforeach() diff -u -r -N applications/knetworkmanager9/cmake/modules/TDEMacros.cmake src/applications/knetworkmanager9/cmake/modules/TDEMacros.cmake --- applications/knetworkmanager9/cmake/modules/TDEMacros.cmake 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/modules/TDEMacros.cmake 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,1237 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include( KDE3Macros ) # we will need this module for a while + + +################################################# +##### +##### tde_message_fatal + +macro( tde_message_fatal ) + message( FATAL_ERROR + "#################################################\n" + " ${ARGV}\n" + "#################################################" ) +endmacro( tde_message_fatal ) + + +################################################# +##### +##### tde_install_icons( THEME DESTINATION ) +##### default theme: hicolor +##### default destination: ${SHARE_INSTALL_DIR}/icons + +macro( tde_install_icons ) + + # clearing + unset( _dest ) + unset( _req_theme ) + unset( _icons ) + set( _var _icons ) + + # parse all arguments + foreach( _arg ${ARGV} ) + # directive DESTINATION + if( _arg STREQUAL "DESTINATION" ) + set( _var _dest ) + set( _directive 1 ) + endif( _arg STREQUAL "DESTINATION" ) + # directive THEME + if( _arg STREQUAL "THEME" ) + set( _var _req_theme ) + set( _directive 1 ) + endif( _arg STREQUAL "THEME" ) + # collect data + if( _directive ) + unset( _directive ) + else( _directive ) + set( ${_var} ${${_var}} ${_arg} ) + set( _var _icons ) + endif( _directive ) + endforeach( _arg ) + + #defaults + if( NOT _icons ) + set( _icons "*" ) + endif( NOT _icons ) + if( NOT _dest ) + set( _dest "${ICON_INSTALL_DIR}" ) + endif( NOT _dest ) + + foreach( _icon ${_icons} ) + unset( _theme ) # clearing + + file(GLOB _icon_files *-${_icon}.png _icon_files *-${_icon}.svg* ) + foreach( _icon_file ${_icon_files} ) + # FIXME need a review + string( REGEX MATCH "^.*/([a-zA-Z][a-zA-Z])([0-9a-zA-Z]+)\\-([a-z]+)\\-(.+)$" _dummy "${_icon_file}" ) + set( _type "${CMAKE_MATCH_1}" ) + set( _size "${CMAKE_MATCH_2}" ) + set( _group "${CMAKE_MATCH_3}" ) + set( _name "${CMAKE_MATCH_4}" ) + + # we must ignore invalid icon names + if( _type AND _size AND _group AND _name ) + + # autodetect theme + if( NOT _req_theme ) + unset( _theme ) + if( "${_type}" STREQUAL "cr" ) + set( _theme crystalsvg ) + elseif( "${_type}" STREQUAL "lo" ) + set( _theme locolor ) + endif( "${_type}" STREQUAL "cr" ) + # defaulting + if( NOT _theme ) + set( _theme hicolor ) + endif( NOT _theme ) + else( NOT _req_theme ) + set( _theme ${_req_theme} ) + endif( NOT _req_theme ) + + # fix "group" name + if( "${_group}" STREQUAL "mime" ) + set( _group "mimetypes" ) + endif( "${_group}" STREQUAL "mime" ) + if( "${_group}" STREQUAL "filesys" ) + set( _group "filesystems" ) + endif( "${_group}" STREQUAL "filesys" ) + if( "${_group}" STREQUAL "device" ) + set( _group "devices" ) + endif( "${_group}" STREQUAL "device" ) + if( "${_group}" STREQUAL "app" ) + set( _group "apps" ) + endif( "${_group}" STREQUAL "app" ) + if( "${_group}" STREQUAL "action" ) + set( _group "actions" ) + endif( "${_group}" STREQUAL "action" ) + + if( "${_size}" STREQUAL "sc" ) + install( FILES ${_icon_file} DESTINATION ${_dest}/${_theme}/scalable/${_group}/ RENAME ${_name} ) + else( "${_size}" STREQUAL "sc" ) + install( FILES ${_icon_file} DESTINATION ${_dest}/${_theme}/${_size}x${_size}/${_group}/ RENAME ${_name} ) + endif( "${_size}" STREQUAL "sc" ) + + endif( _type AND _size AND _group AND _name ) + + endforeach( _icon_file ) + endforeach( _icon ) + +endmacro( tde_install_icons ) + + +################################################# +##### +##### tde_add_lut( [depends] ) +##### default depends: source + +macro( tde_add_lut _src _lut _dep ) + set( create_hash_table ${CMAKE_SOURCE_DIR}/kjs/create_hash_table ) + if( NOT _dep ) + set( _dep ${_src} ) + endif( NOT _dep ) + add_custom_command( OUTPUT ${_lut} + COMMAND perl ARGS ${create_hash_table} ${CMAKE_CURRENT_SOURCE_DIR}/${_src} -i > ${_lut} + DEPENDS ${_src} ) + set_source_files_properties( ${_dep} PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_lut} ) + unset( _dep ) +endmacro( tde_add_lut ) + + +################################################# +##### +##### tde_add_luts( ) + +macro( tde_add_luts ) + foreach( _src ${ARGV} ) + get_filename_component( _lut ${_src} NAME_WE ) + set( _lut "${_lut}.lut.h" ) + tde_add_lut( ${_src} ${_lut} ${_src} ) + endforeach( _src ) +endmacro( tde_add_luts ) + + +################################################# +##### +##### tde_file_to_cpp( ) + +macro( tde_file_to_cpp _src _dst _var ) + if( IS_ABSOLUTE ${_dst} ) + set( dst ${_dst} ) + else( ) + set( dst "${CMAKE_CURRENT_BINARY_DIR}/${_dst}" ) + endif( ) + file( READ ${_src} text ) + string( REGEX REPLACE "\n" "\\\\n\"\n\"" text "${text}" ) + set( text "/* Generated by CMake */\n\nconst char *${_var} = \n\n\"${text}\";\n" ) + string( REGEX REPLACE "\n\"\";\n$" ";\n" text "${text}" ) + file( WRITE ${dst} "${text}" ) +endmacro( ) + + +################################################# +##### +##### tde_install_la_file( ) + +macro( tde_install_la_file _target _destination ) + + get_target_property( _target_location ${_target} LOCATION ) + get_filename_component( _laname ${_target_location} NAME_WE ) + get_filename_component( _soname ${_target_location} NAME ) + set( _laname ${CMAKE_CURRENT_BINARY_DIR}/${_laname}.la ) + + file( WRITE ${_laname} +"# ${_laname} - a libtool library file, generated by cmake +# The name that we can dlopen(3). +dlname='${_soname}' +# Names of this library +library_names='${_soname} ${_soname} ${_soname}' +# The name of the static archive +old_library='' +# Libraries that this one depends upon. +dependency_libs='' +# Version information.\ncurrent=0\nage=0\nrevision=0 +# Is this an already installed library?\ninstalled=yes +# Should we warn about portability when linking against -modules?\nshouldnotlink=yes +# Files to dlopen/dlpreopen\ndlopen=''\ndlpreopen='' +# Directory that this library needs to be installed in: +libdir='${_destination}' +" ) + + install( FILES ${_laname} DESTINATION ${_destination} ) + +endmacro( tde_install_la_file ) + + +################################################# +##### +##### tde_add_ui_files + +macro( tde_add_ui_files _sources ) + foreach( _ui_file ${ARGN} ) + + get_filename_component( _ui_basename ${_ui_file} NAME_WE ) + get_filename_component( _ui_absolute_path ${_ui_file} ABSOLUTE ) + + list( APPEND ${_sources} ${_ui_basename}.cpp ) + + add_custom_command( OUTPUT ${_ui_basename}.h ${_ui_basename}.cpp + COMMAND ${CMAKE_COMMAND} + -DUIC_EXECUTABLE:FILEPATH=${UIC_EXECUTABLE} + -DTDE_QTPLUGINS_DIR:FILEPATH=${TDE_QTPLUGINS_DIR} + -DUI_FILE:FILEPATH=${_ui_absolute_path} + -P ${CMAKE_MODULE_PATH}/tde_uic.cmake + COMMAND ${MOC_EXECUTABLE} ${_ui_basename}.h >> ${_ui_basename}.cpp + DEPENDS ${_ui_absolute_path} ) + + endforeach( _ui_file ) +endmacro( tde_add_ui_files ) + + +################################################# +##### +##### tde_moc + +macro( tde_moc _sources ) + foreach( _input_file ${ARGN} ) + + get_filename_component( _input_file "${_input_file}" ABSOLUTE ) + get_filename_component( _basename ${_input_file} NAME_WE ) + set( _output_file "${_basename}.moc.cpp" ) + add_custom_command( OUTPUT ${_output_file} + COMMAND + ${TMOC_EXECUTABLE} ${_input_file} -o ${_output_file} + DEPENDS + ${_input_file} ) + list( APPEND ${_sources} ${_output_file} ) + + endforeach( ) +endmacro( ) + + +################################################# +##### +##### tde_automoc + +macro( tde_automoc ) + foreach( _src_file ${ARGN} ) + + get_filename_component( _src_file "${_src_file}" ABSOLUTE ) + + if( EXISTS "${_src_file}" ) + + # read source file and check if have moc include + file( READ "${_src_file}" _src_content ) + string( REGEX MATCHALL "#include +[^ ]+\\.moc[\">]" _moc_includes "${_src_content}" ) + + # found included moc(s)? + if( _moc_includes ) + foreach( _moc_file ${_moc_includes} ) + + # extracting moc filename + string( REGEX MATCH "[^ <\"]+\\.moc" _moc_file "${_moc_file}" ) + set( _moc_file "${CMAKE_CURRENT_BINARY_DIR}/${_moc_file}" ) + + # create header filename + get_filename_component( _src_path "${_src_file}" ABSOLUTE ) + get_filename_component( _src_path "${_src_path}" PATH ) + get_filename_component( _src_header "${_moc_file}" NAME_WE ) + set( _header_file "${_src_path}/${_src_header}.h" ) + + # if header doesn't exists, check in META_INCLUDES + if( NOT EXISTS "${_header_file}" ) + unset( _found ) + foreach( _src_path ${_meta_includes} ) + set( _header_file "${_src_path}/${_src_header}.h" ) + if( EXISTS "${_header_file}" ) + set( _found 1 ) + break( ) + endif( ) + endforeach( ) + if( NOT _found ) + get_filename_component( _moc_file "${_moc_file}" NAME ) + tde_message_fatal( "AUTOMOC error: '${_moc_file}' cannot be generated.\n Reason: '${_src_file}.h' not found." ) + endif( ) + endif( ) + + # moc-ing header + add_custom_command( OUTPUT ${_moc_file} + COMMAND ${TMOC_EXECUTABLE} ${_header_file} -o ${_moc_file} + DEPENDS ${_header_file} ) + + # create dependency between source file and moc file + set_property( SOURCE ${_src_file} APPEND PROPERTY OBJECT_DEPENDS ${_moc_file} ) + + endforeach( _moc_file ) + + endif( _moc_includes ) + + endif( EXISTS "${_src_file}" ) + + endforeach( _src_file ) +endmacro( tde_automoc ) + + +################################################# +##### +##### __tde_internal_process_sources + +macro( __tde_internal_process_sources _sources ) + + unset( ${_sources} ) + + foreach( _arg ${ARGN} ) + get_filename_component( _ext ${_arg} EXT ) + get_filename_component( _name ${_arg} NAME_WE ) + get_filename_component( _path ${_arg} PATH ) + + # if not path, set it to "." + if( NOT _path ) + set( _path "./" ) + endif( NOT _path ) + + # handle .ui files + if( ${_ext} STREQUAL ".ui" ) + tde_add_ui_files( ${_sources} ${_arg} ) + + # handle .skel files + elseif( ${_ext} STREQUAL ".skel" ) + kde3_add_dcop_skels( ${_sources} ${_path}/${_name}.h ) + + # handle .stub files + elseif( ${_ext} STREQUAL ".stub" ) + kde3_add_dcop_stubs( ${_sources} ${_path}/${_name}.h ) + + # handle .kcfgc files + elseif( ${_ext} STREQUAL ".kcfgc" ) + kde3_add_kcfg_files( ${_sources} ${_arg} ) + + # handle any other files + else( ${_ext} STREQUAL ".ui" ) + list(APPEND ${_sources} ${_arg} ) + endif( ${_ext} STREQUAL ".ui" ) + endforeach( _arg ) + +endmacro( __tde_internal_process_sources ) + + +################################################# +##### +##### tde_install_libtool_file + +macro( tde_install_libtool_file _target _destination ) + + get_target_property( _target_location ${_target} LOCATION ) + + # get name of target + get_filename_component( _name ${_target_location} NAME_WE ) + + # get .la name + set( _laname ${_name}.la ) + + # get .so name + get_filename_component( _soname ${_target_location} NAME ) + + # get version of target + get_target_property( _target_version ${_target} VERSION ) + get_target_property( _target_soversion ${_target} SOVERSION ) + + # we have so version + if( _target_version ) + set( _library_name_1 "${_soname}.${_target_version}" ) + set( _library_name_2 "${_soname}.${_target_soversion}" ) + set( _library_name_3 "${_soname}" ) + + string( REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" _dummy "${_target_version}" ) + set( _version_current "${CMAKE_MATCH_1}" ) + set( _version_age "${CMAKE_MATCH_2}" ) + set( _version_revision "${CMAKE_MATCH_3}" ) + + # we have no so version (module?) + else( _target_version ) + set( _library_name_1 "${_soname}" ) + set( _library_name_2 "${_soname}" ) + set( _library_name_3 "${_soname}" ) + set( _version_current "0" ) + set( _version_age "0" ) + set( _version_revision "0" ) + endif( _target_version ) + + if( IS_ABSOLUTE ${_destination} ) + set( _libdir "${_destination}" ) + else( IS_ABSOLUTE ${_destination} ) + set( _libdir "${CMAKE_INSTALL_PREFIX}/${_destination}" ) + endif( IS_ABSOLUTE ${_destination} ) + + configure_file( ${CMAKE_SOURCE_DIR}/cmake/modules/template_libtool_file.cmake "${_laname}" @ONLY ) + + install( FILES "${CMAKE_CURRENT_BINARY_DIR}/${_laname}" DESTINATION ${_destination} ) + +endmacro( tde_install_libtool_file ) + + +################################################# +##### +##### tde_install_export / tde_import + +function( tde_install_export ) + file( GLOB export_files ${CMAKE_CURRENT_BINARY_DIR}/export-*.cmake ) + + set( mode "WRITE" ) + foreach( filename ${export_files} ) + file( READ ${filename} content ) + file( ${mode} "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.cmake" "${content}" ) + set( mode "APPEND" ) + endforeach( ) + + install( FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.cmake" DESTINATION ${CMAKE_INSTALL_DIR} ) +endfunction( ) + + +macro( tde_import _library ) + message( STATUS "checking for '${_library}'" ) + string( TOUPPER "BUILD_${_library}" _build ) + if( ${_build} ) + message( STATUS " ok, activated for build" ) + else() + if( EXISTS "${TDE_CMAKE_DIR}/${_library}.cmake" ) + include( "${TDE_CMAKE_DIR}/${_library}.cmake" ) + message( STATUS " ok, found import file" ) + else() + tde_message_fatal( "'${_library}' are required,\n but is not installed nor selected for build" ) + endif() + endif() +endmacro() + + +################################################# +##### +##### tde_add_library + +macro( tde_add_library _arg_target ) + + unset( _target ) + unset( _type ) + unset( _static_pic ) + unset( _automoc ) + unset( _meta_includes ) + unset( _no_libtool_file ) + unset( _no_export ) + unset( _version ) + unset( _sources ) + unset( _destination ) + unset( _embed ) + unset( _link ) + unset( _dependencies ) + unset( _storage ) + + set( _shouldnotlink no ) + + foreach( _arg ${ARGV} ) + + # this variable help us to skip + # storing unapropriate values (i.e. directives) + unset( _skip_store ) + + # found one of directives: "SHARED", "STATIC", "MODULE" + if( "${_arg}" STREQUAL "SHARED" OR "${_arg}" STREQUAL "STATIC" OR "${_arg}" STREQUAL "MODULE" ) + set( _skip_store 1 ) + set( _type "${_arg}" ) + endif( "${_arg}" STREQUAL "SHARED" OR "${_arg}" STREQUAL "STATIC" OR "${_arg}" STREQUAL "MODULE" ) + + # found directive "STATIC_PIC" + if( "${_arg}" STREQUAL "STATIC_PIC" ) + set( _skip_store 1 ) + set( _type "STATIC" ) + set( _static_pic 1 ) + endif( "${_arg}" STREQUAL "STATIC_PIC" ) + + # found directive "AUTOMOC" + if( "${_arg}" STREQUAL "AUTOMOC" ) + set( _skip_store 1 ) + set( _automoc 1 ) + endif( "${_arg}" STREQUAL "AUTOMOC" ) + + # found directive "META_INCLUDES" + if( "${_arg}" STREQUAL "META_INCLUDES" ) + set( _skip_store 1 ) + set( _storage "_meta_includes" ) + endif( ) + + # found directive "NO_LIBTOOL_FILE" + if( "${_arg}" STREQUAL "NO_LIBTOOL_FILE" ) + set( _skip_store 1 ) + set( _no_libtool_file 1 ) + endif( "${_arg}" STREQUAL "NO_LIBTOOL_FILE" ) + + # found directive "NO_EXPORT" + if( "${_arg}" STREQUAL "NO_EXPORT" ) + set( _skip_store 1 ) + set( _no_export 1 ) + endif( "${_arg}" STREQUAL "NO_EXPORT" ) + + # found directive "VERSION" + if( "${_arg}" STREQUAL "VERSION" ) + set( _skip_store 1 ) + set( _storage "_version" ) + endif( "${_arg}" STREQUAL "VERSION" ) + + # found directive "SOURCES" + if( "${_arg}" STREQUAL "SOURCES" ) + set( _skip_store 1 ) + set( _storage "_sources" ) + endif( "${_arg}" STREQUAL "SOURCES" ) + + # found directive "EMBED" + if( "${_arg}" STREQUAL "EMBED" ) + set( _skip_store 1 ) + set( _storage "_embed" ) + endif( "${_arg}" STREQUAL "EMBED" ) + + # found directive "LINK" + if( "${_arg}" STREQUAL "LINK" ) + set( _skip_store 1 ) + set( _storage "_link" ) + endif( "${_arg}" STREQUAL "LINK" ) + + # found directive "DEPENDENCIES" + if( "${_arg}" STREQUAL "DEPENDENCIES" ) + set( _skip_store 1 ) + set( _storage "_dependencies" ) + endif( "${_arg}" STREQUAL "DEPENDENCIES" ) + + # found directive "DESTINATION" + if( "${_arg}" STREQUAL "DESTINATION" ) + set( _skip_store 1 ) + set( _storage "_destination" ) + unset( ${_storage} ) + endif( "${_arg}" STREQUAL "DESTINATION" ) + + # storing value + if( _storage AND NOT _skip_store ) + list( APPEND ${_storage} ${_arg} ) + list( REMOVE_DUPLICATES ${_storage} ) + endif( _storage AND NOT _skip_store ) + + endforeach( _arg ) + + # if no type is set, we choose one + # based on BUILD_SHARED_LIBS + if( NOT _type ) + if( BUILD_SHARED_LIBS ) + set( _type "SHARED" ) + else( BUILD_SHARED_LIBS ) + set( _type "STATIC" ) + endif( BUILD_SHARED_LIBS ) + endif( NOT _type ) + + # change target name, based on type + string( TOLOWER "${_type}" _type_lower ) + set( _target "${_arg_target}-${_type_lower}" ) + + # create variables like "LIB_xxx" for convenience + if( ${_type} STREQUAL "SHARED" ) + string( TOUPPER "${_arg_target}" _tmp ) + set( LIB_${_tmp} ${_target} CACHE INTERNAL LIB_${tmp} FORCE ) + endif( ${_type} STREQUAL "SHARED" ) + + # disallow target without sources + if( NOT _sources ) + message( FATAL_ERROR "\nTarget [$_target] have no sources." ) + endif( NOT _sources ) + + # processing different types of sources + __tde_internal_process_sources( _sources ${_sources} ) + + # set automoc + if( _automoc ) + tde_automoc( ${_sources} ) + endif( _automoc ) + + # add target + add_library( ${_target} ${_type} ${_sources} ) + + # we assume that modules have no prefix and no version + # also, should not link + if( ${_type} STREQUAL "MODULE" ) + set_target_properties( ${_target} PROPERTIES PREFIX "" ) + unset( _version ) + set( _shouldnotlink yes ) + endif( ${_type} STREQUAL "MODULE" ) + + # set real name of target + set_target_properties( ${_target} PROPERTIES OUTPUT_NAME ${_arg_target} ) + + # set -fPIC flag for static libraries + if( _static_pic ) + set_target_properties( ${_target} PROPERTIES COMPILE_FLAGS -fPIC ) + endif( _static_pic ) + + # set version + if( _version ) + string( REGEX MATCH "^[0-9]+" _soversion ${_version} ) + set_target_properties( ${_target} PROPERTIES VERSION ${_version} SOVERSION ${_soversion} ) + endif( _version ) + + # set interface libraries (only for shared) + unset( _shared_libs ) + foreach( _lib ${_link} ) + #get_target_property( _lib_type ${_lib} TYPE ) + #if( NOT "STATIC_LIBRARY" STREQUAL "${_lib_type}" ) + if( NOT ${_lib} MATCHES ".+-static" ) + list( APPEND _shared_libs ${_lib} ) + endif( NOT ${_lib} MATCHES ".+-static" ) + #endif( NOT "STATIC_LIBRARY" STREQUAL "${_lib_type}" ) + endforeach( _lib ) + target_link_libraries( ${_target} LINK_INTERFACE_LIBRARIES ${_shared_libs} ) + + # set embedded archives + if( _embed ) + list( INSERT _link 0 -Wl,-whole-archive ${_embed} -Wl,-no-whole-archive ) + endif( _embed ) + + # set link libraries + if( _link ) + target_link_libraries( ${_target} ${_link} ) + endif( ) + + # set dependencies + if( _dependencies ) + add_dependencies( ${_target} ${_dependencies} ) + endif( _dependencies ) + + # if destination directory is set + if( _destination ) + + # we export only shared libs (no static, no modules); + # also, do not export targets marked as "NO_EXPORT" (usually for kdeinit) + if( "SHARED" STREQUAL ${_type} AND NOT _no_export ) + + # get target properties: output name, version, soversion + get_target_property( _output ${_target} LOCATION ) + get_filename_component( _output ${_output} NAME ) + get_target_property( _version ${_target} VERSION ) + get_target_property( _soversion ${_target} SOVERSION ) + + if( _version ) + set( _location "${_destination}/${_output}.${_version}" ) + set( _soname "${_output}.${_soversion}" ) + else( ) + set( _location "${_destination}/${_output}" ) + set( _soname "${_output}" ) + endif( ) + + configure_file( ${CMAKE_SOURCE_DIR}/cmake/modules/template_export_library.cmake "${PROJECT_BINARY_DIR}/export-${_target}.cmake" @ONLY ) + endif( ) + + # install target + install( TARGETS ${_target} DESTINATION ${_destination} ) + + # install .la files for dynamic libraries + if( NOT "STATIC" STREQUAL ${_type} AND NOT _no_libtool_file ) + tde_install_libtool_file( ${_target} ${_destination} ) + endif( ) + + endif( _destination ) + +endmacro( tde_add_library ) + + +################################################# +##### +##### tde_add_kpart + +macro( tde_add_kpart _target ) + tde_add_library( ${_target} ${ARGN} MODULE ) +endmacro( tde_add_kpart ) + + +################################################# +##### +##### tde_add_executable + +macro( tde_add_executable _arg_target ) + + unset( _target ) + unset( _automoc ) + unset( _meta_includes ) + unset( _setuid ) + unset( _sources ) + unset( _destination ) + unset( _link ) + unset( _dependencies ) + unset( _storage ) + + foreach( _arg ${ARGV} ) + + # this variable help us to skip + # storing unapropriate values (i.e. directives) + unset( _skip_store ) + + # found directive "AUTOMOC" + if( "${_arg}" STREQUAL "AUTOMOC" ) + set( _skip_store 1 ) + set( _automoc 1 ) + endif( "${_arg}" STREQUAL "AUTOMOC" ) + + # found directive "META_INCLUDES" + if( "${_arg}" STREQUAL "META_INCLUDES" ) + set( _skip_store 1 ) + set( _storage "_meta_includes" ) + endif( ) + + # found directive "SETUID" + if( "${_arg}" STREQUAL "SETUID" ) + set( _skip_store 1 ) + set( _setuid 1 ) + endif( "${_arg}" STREQUAL "SETUID" ) + + # found directive "SOURCES" + if( "${_arg}" STREQUAL "SOURCES" ) + set( _skip_store 1 ) + set( _storage "_sources" ) + endif( "${_arg}" STREQUAL "SOURCES" ) + + # found directive "LINK" + if( "${_arg}" STREQUAL "LINK" ) + set( _skip_store 1 ) + set( _storage "_link" ) + endif( "${_arg}" STREQUAL "LINK" ) + + # found directive "DEPENDENCIES" + if( "${_arg}" STREQUAL "DEPENDENCIES" ) + set( _skip_store 1 ) + set( _storage "_dependencies" ) + endif( "${_arg}" STREQUAL "DEPENDENCIES" ) + + # found directive "DESTINATION" + if( "${_arg}" STREQUAL "DESTINATION" ) + set( _skip_store 1 ) + set( _storage "_destination" ) + unset( ${_storage} ) + endif( "${_arg}" STREQUAL "DESTINATION" ) + + # storing value + if( _storage AND NOT _skip_store ) + #set( ${_storage} "${${_storage}} ${_arg}" ) + list( APPEND ${_storage} ${_arg} ) + endif( _storage AND NOT _skip_store ) + + endforeach( _arg ) + + set( _target "${_arg_target}" ) + + # disallow target without sources + if( NOT _sources ) + message( FATAL_ERROR "\nTarget [$_target] have no sources." ) + endif( NOT _sources ) + + # processing different types of sources + __tde_internal_process_sources( _sources ${_sources} ) + + # set automoc + if( _automoc ) + tde_automoc( ${_sources} ) + endif( _automoc ) + + # add target + add_executable( ${_target} ${_sources} ) + + # set link libraries + if( _link ) + target_link_libraries( ${_target} ${_link} ) + endif( _link ) + + # set dependencies + if( _dependencies ) + add_dependencies( ${_target} ${_dependencies} ) + endif( _dependencies ) + + # set destination directory + if( _destination ) + if( _setuid ) + install( TARGETS ${_target} DESTINATION ${_destination} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE SETUID ) + else( _setuid ) + install( TARGETS ${_target} DESTINATION ${_destination} ) + endif( _setuid ) + endif( _destination ) + +endmacro( tde_add_executable ) + + +################################################# +##### +##### tde_add_kdeinit_executable + +macro( tde_add_kdeinit_executable _target ) + + configure_file( ${CMAKE_SOURCE_DIR}/cmake/modules/template_kdeinit_executable.cmake ${_target}_kdeinit_executable.cpp COPYONLY ) + configure_file( ${CMAKE_SOURCE_DIR}/cmake/modules/template_kdeinit_module.cmake ${_target}_kdeinit_module.cpp COPYONLY ) + + unset( _sources ) + unset( _runtime_destination ) + unset( _library_destination ) + unset( _plugin_destination ) + + # default storage is _sources + set( _storage _sources ) + + # set default export to NO_EXPORT + set( _export "NO_EXPORT" ) + + foreach( _arg ${ARGN} ) + + # this variable help us to skip + # storing unapropriate values (i.e. directives) + unset( _skip_store ) + + # found directive "EXPORT" + if( "${_arg}" STREQUAL "EXPORT" ) + set( _skip_store 1 ) + unset( _export ) + endif( "${_arg}" STREQUAL "EXPORT" ) + + # found directive "RUNTIME_DESTINATION" + if( "${_arg}" STREQUAL "RUNTIME_DESTINATION" ) + set( _skip_store 1 ) + set( _storage "_runtime_destination" ) + unset( ${_storage} ) + endif( "${_arg}" STREQUAL "RUNTIME_DESTINATION" ) + + # found directive "LIBRARY_DESTINATION" + if( "${_arg}" STREQUAL "LIBRARY_DESTINATION" ) + set( _skip_store 1 ) + set( _storage "_library_destination" ) + unset( ${_storage} ) + endif( "${_arg}" STREQUAL "LIBRARY_DESTINATION" ) + + # found directive "PLUGIN_DESTINATION" + if( "${_arg}" STREQUAL "PLUGIN_DESTINATION" ) + set( _skip_store 1 ) + set( _storage "_plugin_destination" ) + unset( ${_storage} ) + endif( "${_arg}" STREQUAL "PLUGIN_DESTINATION" ) + + # storing value + if( _storage AND NOT _skip_store ) + list( APPEND ${_storage} ${_arg} ) + set( _storage "_sources" ) + endif( _storage AND NOT _skip_store ) + + endforeach( _arg ) + + # if destinations are not set, we using some defaults + # we assume that kdeinit executable MUST be installed + # (otherwise why we build it?) + if( NOT _runtime_destination ) + set( _runtime_destination ${BIN_INSTALL_DIR} ) + endif( NOT _runtime_destination ) + if( NOT _library_destination ) + set( _library_destination ${LIB_INSTALL_DIR} ) + endif( NOT _library_destination ) + if( NOT _plugin_destination ) + set( _plugin_destination ${PLUGIN_INSTALL_DIR} ) + endif( NOT _plugin_destination ) + + # create the library + tde_add_library( kdeinit_${_target} ${_sources} SHARED ${_export} + DESTINATION ${_library_destination} + ) + + # create the executable + tde_add_executable( ${_target} + SOURCES ${CMAKE_CURRENT_BINARY_DIR}/${_target}_kdeinit_executable.cpp + LINK kdeinit_${_target}-shared + DESTINATION ${_runtime_destination} + ) + + # create the plugin + tde_add_kpart( ${_target} + SOURCES ${CMAKE_CURRENT_BINARY_DIR}/${_target}_kdeinit_module.cpp + LINK kdeinit_${_target}-shared + DESTINATION ${_plugin_destination} + ) + +endmacro( tde_add_kdeinit_executable ) + + +################################################# +##### +##### tde_create_translation + +macro( tde_create_translation ) + + unset( _srcs ) + unset( _lang ) + unset( _dest ) + unset( _directive ) + unset( _var ) + + foreach( _arg ${ARGN} ) + + # found directive "FILES" + if( "${_arg}" STREQUAL "FILES" ) + unset( _srcs ) + set( _var _srcs ) + set( _directive 1 ) + endif( ) + + # found directive "LANG" + if( "${_arg}" STREQUAL "LANG" ) + unset( _lang ) + set( _var _lang ) + set( _directive 1 ) + endif( ) + + # found directive "DESTINATION" + if( "${_arg}" STREQUAL "DESTINATION" ) + unset( _dest ) + set( _var _dest ) + set( _directive 1 ) + endif( ) + + # collect data + if( _directive ) + unset( _directive ) + elseif( _var ) + list( APPEND ${_var} ${_arg} ) + endif() + + endforeach( ) + + if( NOT MSGFMT_EXECUTABLE ) + tde_message_fatal( "MSGFMT_EXECUTABLE variable is not defined" ) + elseif( NOT _lang ) + tde_message_fatal( "missing LANG directive" ) + elseif( NOT _dest ) + set( _dest "${LOCALE_INSTALL_DIR}/${_lang}/LC_MESSAGES" ) + endif( ) + + # if no file specified, include all *.po files + if( NOT _srcs ) + file( GLOB _srcs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po ) + endif() + if( NOT _srcs ) + tde_message_fatal( "no source files" ) + endif() + + # generate *.mo files + foreach( _src ${_srcs} ) + get_filename_component( _src ${_src} ABSOLUTE ) + get_filename_component( _out ${_src} NAME_WE ) + set( _out_name "${_out}-${_lang}.mo" ) + set( _out_real_name "${_out}.mo" ) + add_custom_command( + OUTPUT ${_out_name} + COMMAND ${MSGFMT_EXECUTABLE} ${_src} -o ${_out_name} + DEPENDS ${_src} ) + add_custom_target( "${_out}-${_lang}-translation" ALL DEPENDS ${_out_name} ) + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${_out_name} RENAME ${_out_real_name} DESTINATION ${_dest} ) + endforeach( ) + +endmacro( ) + + +################################################# +##### +##### tde_create_handbook + +macro( tde_create_handbook ) + + unset( _target ) + unset( _dest ) + unset( _noindex ) + unset( _srcs ) + unset( _extra ) + unset( _srcdir ) + + set( _lang en ) + set( _first_arg 1 ) + set( _var _target ) + + foreach( _arg ${ARGN} ) + + # found directive "NOINDEX" + if( "${_arg}" STREQUAL "NOINDEX" ) + set( _noindex 1 ) + set( _directive 1 ) + endif() + + # found directive "FILES" + if( "${_arg}" STREQUAL "FILES" ) + unset( _srcs ) + set( _var _srcs ) + set( _directive 1 ) + endif() + + # found directive "EXTRA" + if( "${_arg}" STREQUAL "EXTRA" ) + unset( _extra ) + set( _var _extra ) + set( _directive 1 ) + endif() + + # found directive "SRCDIR" + if( "${_arg}" STREQUAL "SRCDIR" ) + unset( _srcdir ) + set( _var _srcdir ) + set( _directive 1 ) + endif() + + # found directive DESTINATION + if( _arg STREQUAL "DESTINATION" ) + unset( _dest ) + set( _var _dest ) + set( _directive 1 ) + endif() + + # found directive "LANG" + if( "${_arg}" STREQUAL "LANG" ) + unset( _lang ) + set( _var _lang ) + set( _directive 1 ) + endif() + + # collect data + if( _directive ) + unset( _directive ) + elseif( _var ) + if( _first_arg ) + set( _target "${_arg}" ) + else() + list( APPEND ${_var} ${_arg} ) + endif() + endif() + + unset( _first_arg ) + + endforeach() + + # if no target specified, try to guess it from DESTINATION + if( NOT _target ) + if( NOT _dest ) + tde_message_fatal( "target name cannot be determined because DESTINATION is not set" ) + endif() + string( REPLACE "/" "-" _target "${_dest}" ) + endif() + + set( _target "${_target}-${_lang}-handbook" ) + + # if no file specified, include all docbooks, stylesheets and images + if( NOT _srcs ) + file( GLOB _srcs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.docbook *.css *.png ) + endif() + + # if no destination specified, defaulting to HTML_INSTALL_DIR + if( NOT _dest ) + set( _dest "${HTML_INSTALL_DIR}/${_lang}" ) + # if destination is NOT absolute path, + # we assume that is relative to HTML_INSTALL_DIR + elseif( NOT IS_ABSOLUTE ${_dest} ) + set( _dest "${HTML_INSTALL_DIR}/${_lang}/${_dest}" ) + endif() + + if( NOT _srcs ) + tde_message_fatal( "no source files" ) + endif() + + if( NOT _noindex ) + + # check for index.docbook + list( FIND _srcs "index.docbook" _find_index ) + if( -1 EQUAL _find_index ) + tde_message_fatal( "missing index.docbook file" ) + endif() + + # check for srcdir + if( _srcdir ) + set( _srcdir "--srcdir=${_srcdir}" ) + endif() + + add_custom_command( + OUTPUT index.cache.bz2 + COMMAND ${KDE3_MEINPROC_EXECUTABLE} ${_srcdir} --check --cache index.cache.bz2 ${CMAKE_CURRENT_SOURCE_DIR}/index.docbook + DEPENDS ${_srcs} ) + + add_custom_target( ${_target} ALL DEPENDS index.cache.bz2 ) + + list( APPEND _srcs ${CMAKE_CURRENT_BINARY_DIR}/index.cache.bz2 ) + + endif() + + install( FILES ${_srcs} ${_extra} DESTINATION ${_dest} ) + tde_install_symlink( ${TDE_HTML_DIR}/${_lang}/common ${_dest} ) + +endmacro( ) + + +################################################# +##### +##### tde_include_tqt + +macro( tde_include_tqt ) + foreach( _cpp ${ARGN} ) + set_source_files_properties( ${_cpp} PROPERTIES COMPILE_FLAGS "-include tqt.h" ) + endforeach() +endmacro( ) + + +################################################# +##### +##### tde_install_symlink + +macro( tde_install_symlink _target _link ) + + # if path is relative, we must to prefix it with CMAKE_INSTALL_PREFIX + if( IS_ABSOLUTE "${_link}" ) + set( _destination "${_link}" ) + else( IS_ABSOLUTE "${_link}" ) + set( _destination "${CMAKE_INSTALL_PREFIX}/${_link}" ) + endif( IS_ABSOLUTE "${_link}" ) + + get_filename_component( _path "${_destination}" PATH ) + if( NOT IS_DIRECTORY "\$ENV{DESTDIR}${_path}" ) + install( CODE "file( MAKE_DIRECTORY \"\$ENV{DESTDIR}${_path}\" )" ) + endif( NOT IS_DIRECTORY "\$ENV{DESTDIR}${_path}" ) + + install( CODE "execute_process( COMMAND ln -s ${_target} \$ENV{DESTDIR}${_destination} )" ) + +endmacro( tde_install_symlink ) + + +################################################# +##### +##### tde_install_empty_directory + +macro( tde_install_empty_directory _path ) + + # if path is relative, we must to prefix it with CMAKE_INSTALL_PREFIX + if( IS_ABSOLUTE "${_path}" ) + set( _destination "${_path}" ) + else( IS_ABSOLUTE "${_path}" ) + set( _destination "${CMAKE_INSTALL_PREFIX}/${_path}" ) + endif( IS_ABSOLUTE "${_path}" ) + + install( CODE "file( MAKE_DIRECTORY \"\$ENV{DESTDIR}${_destination}\" )" ) + +endmacro( tde_install_empty_directory ) + + +################################################# +##### +##### tde_conditional_add_subdirectory + +macro( tde_conditional_add_subdirectory _cond _path ) + + if( ${_cond} ) + add_subdirectory( "${_path}" ) + endif( ${_cond} ) + +endmacro( tde_conditional_add_subdirectory ) + + +################################################# +##### +##### tde_auto_add_subdirectories + +macro( tde_auto_add_subdirectories ) + file( GLOB _dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} * ) + foreach( _dir ${_dirs} ) + if( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_dir} ) + if( NOT ${_dir} STREQUAL ".svn" AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_dir}/CMakeLists.txt ) + add_subdirectory( ${_dir} ) + endif() + endif() + endforeach() +endmacro() + + +################################################# +##### +##### tde_save / tde_restore + +macro( tde_save ) + foreach( _var ${ARGN} ) + set( __bak_${_var} ${${_var}} ) + endforeach() +endmacro() + +macro( tde_restore ) + foreach( _var ${ARGN} ) + set( ${_var} ${__bak_${_var}} ) + unset( __bak_${_var} ) + endforeach() +endmacro() + + +################################################# +##### +##### tde_setup_install_path + +macro( tde_setup_install_path _path _default ) + if( DEFINED ${_path} ) + set( ${_path} "${${_path}}" CACHE INTERNAL "" FORCE ) + else( ) + set( ${_path} "${_default}" ) + endif( ) +endmacro( ) + + +################################################## + +if( ${CMAKE_SOURCE_DIR} MATCHES ${CMAKE_BINARY_DIR} ) + tde_message_fatal( "Please use out-of-source building, like this: + \n rm ${CMAKE_SOURCE_DIR}/CMakeCache.txt + mkdir /tmp/${PROJECT_NAME}.build + cd /tmp/${PROJECT_NAME}.build + cmake ${CMAKE_SOURCE_DIR} [arguments...]" ) +endif( ) diff -u -r -N applications/knetworkmanager9/cmake/modules/TDESetupPaths.cmake src/applications/knetworkmanager9/cmake/modules/TDESetupPaths.cmake --- applications/knetworkmanager9/cmake/modules/TDESetupPaths.cmake 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/modules/TDESetupPaths.cmake 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,67 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +################################################# +##### +##### tde_internal_setup_path + +macro( _tde_internal_setup_path _path _default _comment ) + if( DEFINED ${_path} ) + set( ${_path} "${${_path}}" CACHE PATH "${_comment}" ) + else( DEFINED ${_path} ) + set( ${_path} "${_default}" ) + endif( DEFINED ${_path} ) +endmacro( _tde_internal_setup_path ) + + +################################################# +##### +##### tde_setup_paths + +macro( tde_setup_paths ) + + # install paths + _tde_internal_setup_path( EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" "Base directory for executables and libraries" ) + _tde_internal_setup_path( SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/share" "Base directory for files which go to share/" ) + _tde_internal_setup_path( BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" "The install dir for executables (default ${EXEC_INSTALL_PREFIX}/bin)" ) + _tde_internal_setup_path( SBIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/sbin" "The install dir for system executables (default ${EXEC_INSTALL_PREFIX}/sbin)" ) + _tde_internal_setup_path( LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" "The subdirectory relative to the install prefix where libraries will be installed (default is ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX})" ) + _tde_internal_setup_path( LIBEXEC_INSTALL_DIR "${LIB_INSTALL_DIR}/trinity/libexec" "The subdirectory relative to the install prefix where libraries will be installed (default is ${LIB_INSTALL_DIR}/trinity/libexec)" ) + _tde_internal_setup_path( INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" "The subdirectory to the header prefix" ) + + _tde_internal_setup_path( CMAKE_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/cmake" "The install dir for cmake import modules" ) + _tde_internal_setup_path( PLUGIN_INSTALL_DIR "${LIB_INSTALL_DIR}/trinity" "The subdirectory relative to the install prefix where plugins will be installed (default is ${LIB_INSTALL_DIR}/trinity)" ) + _tde_internal_setup_path( CONFIG_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/config" "The config file install dir" ) + _tde_internal_setup_path( DATA_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/apps" "The parent directory where applications can install their data" ) + _tde_internal_setup_path( HTML_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/doc/kde/HTML" "The HTML install dir for documentation" ) + _tde_internal_setup_path( ICON_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/icons" "The icon install dir (default ${SHARE_INSTALL_PREFIX}/share/icons/)" ) + _tde_internal_setup_path( KCFG_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/config.kcfg" "The install dir for kconfig files" ) + _tde_internal_setup_path( LOCALE_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/locale" "The install dir for translations" ) + _tde_internal_setup_path( APPS_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/applnk" "The install dir for the application desktop files" ) + _tde_internal_setup_path( MIME_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/mimelnk" "The install dir for the mimetype desktop files" ) + _tde_internal_setup_path( SERVICES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/services" "The install dir for service (desktop, protocol, ...) files" ) + _tde_internal_setup_path( SERVICETYPES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/servicetypes" "The install dir for servicestypes desktop files" ) + _tde_internal_setup_path( SOUND_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/sounds" "The install dir for sound files" ) + _tde_internal_setup_path( TEMPLATES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/templates" "The install dir for templates (Create new file...)" ) + _tde_internal_setup_path( WALLPAPER_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/wallpapers" "The install dir for wallpapers" ) + _tde_internal_setup_path( KCONF_UPDATE_INSTALL_DIR "${DATA_INSTALL_DIR}/kconf_update" "The kconf_update install dir" ) + _tde_internal_setup_path( AUTOSTART_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/autostart" "The install dir for autostart files" ) + + _tde_internal_setup_path( SYSCONF_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/etc" "The sysconfig install dir (default ${CMAKE_INSTALL_PREFIX}/etc)" ) + _tde_internal_setup_path( MAN_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/man" "The man install dir (default ${SHARE_INSTALL_PREFIX}/man/)" ) + _tde_internal_setup_path( INFO_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/info" "The info install dir (default ${SHARE_INSTALL_PREFIX}/info)" ) + + _tde_internal_setup_path( XDG_MENU_INSTALL_DIR "${SYSCONF_INSTALL_DIR}/xdg/menus" "The XDG menus dir" ) + _tde_internal_setup_path( XDG_APPS_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/applications/kde" "The XDG apps dir" ) + _tde_internal_setup_path( XDG_DIRECTORY_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/desktop-directories" "The XDG directory" ) + _tde_internal_setup_path( XDG_MIME_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/mime/packages" "The install dir for the xdg mimetypes" ) + +endmacro( tde_setup_paths ) diff -u -r -N applications/knetworkmanager9/cmake/modules/tde_uic.cmake src/applications/knetworkmanager9/cmake/modules/tde_uic.cmake --- applications/knetworkmanager9/cmake/modules/tde_uic.cmake 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/modules/tde_uic.cmake 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,52 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +get_filename_component( _ui_basename ${UI_FILE} NAME_WE ) + +# FIXME this will working only on out-of-source mode +set( local_ui_file ${_ui_basename}.ui ) +configure_file( ${UI_FILE} ${local_ui_file} COPYONLY ) +execute_process( COMMAND tqt-replace ${local_ui_file} ) + +# ui.h extension file, if exists +if( EXISTS "${UI_FILE}.h" ) + configure_file( ${UI_FILE}.h ${local_ui_file}.h COPYONLY ) + execute_process( COMMAND tqt-replace ${local_ui_file}.h ) +endif( ) + +if( TDE_QTPLUGINS_DIR ) + set( L -L ${TDE_QTPLUGINS_DIR} ) +endif( ) + +execute_process( COMMAND ${UIC_EXECUTABLE} + -nounload -tr tr2i18n + ${L} + ${local_ui_file} + OUTPUT_VARIABLE _ui_h_content ) + +if( _ui_h_content ) + string( REGEX REPLACE "#ifndef " "#ifndef UI_" _ui_h_content "${_ui_h_content}" ) + string( REGEX REPLACE "#define " "#define UI_" _ui_h_content "${_ui_h_content}" ) + file( WRITE ${_ui_basename}.h "${_ui_h_content}" ) +endif( ) + +execute_process( COMMAND ${UIC_EXECUTABLE} + -nounload -tr tr2i18n + ${L} + -impl ${_ui_basename}.h + ${local_ui_file} + OUTPUT_VARIABLE _ui_cpp_content ) + +if( _ui_cpp_content ) + string( REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _ui_cpp_content "${_ui_cpp_content}" ) + string( REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _ui_cpp_content "${_ui_cpp_content}" ) + file( WRITE ${_ui_basename}.cpp "#include \n#include \n\n${_ui_cpp_content}" ) +endif( ) diff -u -r -N applications/knetworkmanager9/cmake/modules/template_dummy_cpp.cmake src/applications/knetworkmanager9/cmake/modules/template_dummy_cpp.cmake --- applications/knetworkmanager9/cmake/modules/template_dummy_cpp.cmake 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/modules/template_dummy_cpp.cmake 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,5 @@ +#ifdef _AIX + namespace { + void *not_empty_file; + } +#endif diff -u -r -N applications/knetworkmanager9/cmake/modules/template_export_library.cmake src/applications/knetworkmanager9/cmake/modules/template_export_library.cmake --- applications/knetworkmanager9/cmake/modules/template_export_library.cmake 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/modules/template_export_library.cmake 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,7 @@ +add_library( @_target@ @_type@ IMPORTED ) + +set_target_properties( @_target@ PROPERTIES + IMPORTED_LINK_INTERFACE_LIBRARIES "@_shared_libs@" + IMPORTED_LOCATION "@_location@" + IMPORTED_SONAME "@_soname@" ) + diff -u -r -N applications/knetworkmanager9/cmake/modules/template_kdeinit_executable.cmake src/applications/knetworkmanager9/cmake/modules/template_kdeinit_executable.cmake --- applications/knetworkmanager9/cmake/modules/template_kdeinit_executable.cmake 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/modules/template_kdeinit_executable.cmake 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,2 @@ +extern "C" int kdemain(int argc, char* argv[]); +int main(int argc, char* argv[]) { return kdemain(argc,argv); } diff -u -r -N applications/knetworkmanager9/cmake/modules/template_kdeinit_module.cmake src/applications/knetworkmanager9/cmake/modules/template_kdeinit_module.cmake --- applications/knetworkmanager9/cmake/modules/template_kdeinit_module.cmake 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/modules/template_kdeinit_module.cmake 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,3 @@ +#include +extern "C" int kdemain(int argc, char* argv[]); +extern "C" KDE_EXPORT int kdeinitmain(int argc, char* argv[]) { return kdemain(argc,argv); } diff -u -r -N applications/knetworkmanager9/cmake/modules/template_libtool_file.cmake src/applications/knetworkmanager9/cmake/modules/template_libtool_file.cmake --- applications/knetworkmanager9/cmake/modules/template_libtool_file.cmake 1970-01-01 01:00:00.000000000 +0100 +++ src/applications/knetworkmanager9/cmake/modules/template_libtool_file.cmake 2011-12-16 17:12:34.000000000 +0100 @@ -0,0 +1,35 @@ +# @_laname@ - a libtool library file +# Generated by CMake - GNU libtool +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='@_library_name_2@' + +# Names of this library. +library_names='@_library_name_1@ @_library_name_2@ @_library_name_3@' + +# The name of the static archive. +old_library='' + +# Libraries that this one depends upon. +dependency_libs='' + +# Version information for @_name@. +current=@_version_current@ +age=@_version_age@ +revision=@_version_revision@ + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=@_shouldnotlink@ + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='@_libdir@' diff -u -r -N applications/knetworkmanager9/ConfigureChecks.cmake src/applications/knetworkmanager9/ConfigureChecks.cmake --- applications/knetworkmanager9/ConfigureChecks.cmake 2011-10-17 19:42:55.000000000 +0200 +++ src/applications/knetworkmanager9/ConfigureChecks.cmake 2011-12-16 17:13:04.000000000 +0100 @@ -24,11 +24,11 @@ # dbus-1-tqt -pkg_search_module( DBUS_TQT dbus-1-tqt ) +pkg_search_module( DBUS_TQT dbus-tqt-1 ) if( DBUS_TQT_FOUND ) find_program( DBUSXML2QT3_EXECUTABLE NAMES dbusxml2qt3 ) else() - tde_message_fatal( "dbus-1-tqt are required, but not found on your system" ) + tde_message_fatal( "dbus-tqt-1 are required, but not found on your system" ) endif( )