On Monday 01 December 2008 14:49:56 Matthias Kretz wrote:
> I'll come up with a patch to keep compatibility where possible but switch
> to automoc targets when possible.

Attached patch keeps compatibility AFAICS but switches to automoc-per-target 
everywhere.

-- 
________________________________________________________
Matthias Kretz (Germany)                            <><
http://Vir.homelinux.org/

Index: kdesupport/automoc/Automoc4Config.cmake
===================================================================
--- kdesupport/automoc/Automoc4Config.cmake	(revision 886850)
+++ kdesupport/automoc/Automoc4Config.cmake	(working copy)
@@ -134,17 +134,20 @@
       configure_file(${_AUTOMOC4_CURRENT_DIR}/automoc4.files.in ${_automoc_dotFiles})
 
       add_custom_target(${_target_NAME}
-         ALL
          COMMAND ${AUTOMOC4_EXECUTABLE}
          ${_automoc_source}
          ${CMAKE_CURRENT_SOURCE_DIR}
          ${CMAKE_CURRENT_BINARY_DIR}
          ${QT_MOC_EXECUTABLE}
          ${CMAKE_COMMAND}
-         DEPENDS ${_automoc_dotFiles} ${_AUTOMOC4_EXECUTABLE_DEP} ${_moc_headers} ${${_SRCS}}
          COMMENT ""
          VERBATIM
          )
+
+      if(_AUTOMOC4_EXECUTABLE_DEP)
+         add_dependencies(${_target_NAME} ${_AUTOMOC4_EXECUTABLE_DEP})
+      endif(_AUTOMOC4_EXECUTABLE_DEP)
+
       set_source_files_properties(${_automoc_source} PROPERTIES GENERATED TRUE)
       set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${_automoc_source})
       set(${_SRCS} ${_automoc_source} ${${_SRCS}})
@@ -163,15 +166,9 @@
       endif(_index GREATER -1)
    endforeach(_argName)
 
-   if(MSVC)
-      add_automoc4_target("${_target_NAME}_automoc" _SRCS)
-   else(MSVC)
-      automoc4(${_target_NAME} _SRCS)
-   endif(MSVC)
+   add_automoc4_target("${_target_NAME}_automoc" _SRCS)
    add_executable(${_target_NAME} ${_add_executable_param} ${_SRCS})
-   if(MSVC)
-      add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
-   endif(MSVC)
+   add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
 endmacro(AUTOMOC4_ADD_EXECUTABLE)
 
 macro(AUTOMOC4_ADD_LIBRARY _target_NAME)
@@ -186,13 +183,7 @@
       endif(_index GREATER -1)
    endforeach(_argName)
 
-   if(MSVC)
-      add_automoc4_target("${_target_NAME}_automoc" _SRCS)
-   else(MSVC)
-      automoc4(${_target_NAME} _SRCS)
-   endif(MSVC)
+   add_automoc4_target("${_target_NAME}_automoc" _SRCS)
    add_library(${_target_NAME} ${_add_executable_param} ${_SRCS})
-   if(MSVC)
-      add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
-   endif(MSVC)
+   add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
 endmacro(AUTOMOC4_ADD_LIBRARY)
Index: kdesupport/automoc/Automoc4Version.cmake
===================================================================
--- kdesupport/automoc/Automoc4Version.cmake	(revision 886850)
+++ kdesupport/automoc/Automoc4Version.cmake	(working copy)
@@ -1,7 +1,7 @@
 # set the current version number
 set(AUTOMOC4_VERSION_MAJOR  "0")
 set(AUTOMOC4_VERSION_MINOR  "9")
-set(AUTOMOC4_VERSION_PATCH "87")
+set(AUTOMOC4_VERSION_PATCH "88")
 
 set(AUTOMOC4_VERSION "${AUTOMOC4_VERSION_MAJOR}.${AUTOMOC4_VERSION_MINOR}.${AUTOMOC4_VERSION_PATCH}")
 
Index: kdelibs/cmake/modules/FindKDE4Internal.cmake
===================================================================
--- kdelibs/cmake/modules/FindKDE4Internal.cmake	(revision 891266)
+++ kdelibs/cmake/modules/FindKDE4Internal.cmake	(working copy)
@@ -291,6 +291,7 @@
    set(AUTOMOC4_VERSION "0.9.83")
 endif (NOT AUTOMOC4_VERSION)
 macro_ensure_version("0.9.87" "${AUTOMOC4_VERSION}" _automoc4_version_ok)
+macro_ensure_version("0.9.88" "${AUTOMOC4_VERSION}" _automoc4_version_better)
 
 # for compatibility with KDE 4.0.x
 set(KDE4_AUTOMOC_EXECUTABLE        "${AUTOMOC4_EXECUTABLE}" )
@@ -314,17 +315,19 @@
    return()
 endif(NOT QT4_FOUND)
 
-if(NOT AUTOMOC4_FOUND OR NOT _automoc4_version_ok)
-   if(NOT AUTOMOC4_FOUND)
-      message(${_REQ_STRING_KDE4_MESSAGE} "KDE4 not found, because Automoc4 not found.")
-      return()
-   else(NOT AUTOMOC4_FOUND)
+if(NOT AUTOMOC4_FOUND)
+   message(${_REQ_STRING_KDE4_MESSAGE} "KDE4 not found, because Automoc4 not found.")
+   return()
+else(NOT AUTOMOC4_FOUND)
+   if(NOT _automoc4_version_better)
       if(NOT _automoc4_version_ok)
          message(${_REQ_STRING_KDE4_MESSAGE} "Your version of automoc4 is too old. You have ${AUTOMOC4_VERSION}, you need at least 0.9.87")
          return()
+      else(NOT _automoc4_version_ok)
+         message(STATUS "Your version of automoc4 is old. You have ${AUTOMOC4_VERSION}, it is recommended to upgrade to 0.9.88")
       endif(NOT _automoc4_version_ok)
-   endif(NOT AUTOMOC4_FOUND)
-endif(NOT AUTOMOC4_FOUND OR NOT _automoc4_version_ok)
+   endif(NOT _automoc4_version_better)
+endif(NOT AUTOMOC4_FOUND)
 
 
 # now we are sure we have everything we need
Index: kdelibs/cmake/modules/KDE4Macros.cmake
===================================================================
--- kdelibs/cmake/modules/KDE4Macros.cmake	(revision 891266)
+++ kdelibs/cmake/modules/KDE4Macros.cmake	(working copy)
@@ -558,20 +558,14 @@
    endif (${_with_PREFIX} STREQUAL "WITH_PREFIX")
 
    set(_SRCS ${_first_SRC} ${ARGN})
-   if(MSVC)
-      add_automoc4_target("${_target_NAME}_automoc" _SRCS)
-   else(MSVC)
-      automoc4(${_target_NAME} _SRCS)
-   endif(MSVC)
+   add_automoc4_target("${_target_NAME}_automoc" _SRCS)
    if (KDE4_ENABLE_FINAL)
       kde4_create_final_files(${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp _separate_files ${_SRCS})
       add_library(${_target_NAME} MODULE  ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp ${_separate_files})
    else (KDE4_ENABLE_FINAL)
       add_library(${_target_NAME} MODULE ${_SRCS})
    endif (KDE4_ENABLE_FINAL)
-   if(MSVC)
-      add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
-   endif(MSVC)
+   add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
 
    if (_first_SRC)
       set_target_properties(${_target_NAME} PROPERTIES PREFIX "")
@@ -696,7 +690,7 @@
 
       target_link_libraries(${_target_NAME} ${QT_QTMAIN_LIBRARY} kdeinit_${_target_NAME})
    else(WIN32)
-      kde4_handle_automoc(kdeinit_${_target_NAME} _SRCS)
+      add_automoc4_target("kdeinit_${_target_NAME}_automoc" _SRCS)
 
       if (KDE4_ENABLE_FINAL)
          kde4_create_final_files(${CMAKE_CURRENT_BINARY_DIR}/kdeinit_${_target_NAME}_final_cpp.cpp _separate_files ${_SRCS})
@@ -705,6 +699,7 @@
       else (KDE4_ENABLE_FINAL)
          add_library(kdeinit_${_target_NAME} SHARED ${_SRCS})
       endif (KDE4_ENABLE_FINAL)
+      add_dependencies("kdeinit_${_target_NAME}" "kdeinit_${_target_NAME}_automoc")
 
       kde4_handle_rpath_for_library(kdeinit_${_target_NAME})
       set_target_properties(kdeinit_${_target_NAME} PROPERTIES OUTPUT_NAME kdeinit4_${_target_NAME})
@@ -825,20 +820,14 @@
       set(_add_executable_param ${_add_executable_param} EXCLUDE_FROM_ALL)
    endif (_test AND NOT KDE4_BUILD_TESTS)
 
-   if(MSVC)
-      add_automoc4_target("${_target_NAME}_automoc" _SRCS)
-   else(MSVC)
-      automoc4(${_target_NAME} _SRCS)
-   endif(MSVC)
+   add_automoc4_target("${_target_NAME}_automoc" _SRCS)
    if (KDE4_ENABLE_FINAL)
       kde4_create_final_files(${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp _separate_files ${_SRCS})
       add_executable(${_target_NAME} ${_add_executable_param} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp ${_separate_files})
    else (KDE4_ENABLE_FINAL)
       add_executable(${_target_NAME} ${_add_executable_param} ${_SRCS})
    endif (KDE4_ENABLE_FINAL)
-   if(MSVC)
-      add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
-   endif(MSVC)
+   add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
 
    if (_test)
       set_target_properties(${_target_NAME} PROPERTIES COMPILE_FLAGS -DKDESRCDIR="\\"${CMAKE_CURRENT_SOURCE_DIR}\\"")
@@ -873,20 +862,14 @@
    endif (${_lib_TYPE} STREQUAL "MODULE")
 
    set(_SRCS ${_first_SRC} ${ARGN})
-   if(MSVC)
-      add_automoc4_target("${_target_NAME}_automoc" _SRCS)
-   else(MSVC)
-      automoc4(${_target_NAME} _SRCS)
-   endif(MSVC)
+   add_automoc4_target("${_target_NAME}_automoc" _SRCS)
    if (KDE4_ENABLE_FINAL)
       kde4_create_final_files(${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp _separate_files ${_SRCS})
       add_library(${_target_NAME} ${_add_lib_param}  ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp ${_separate_files})
    else (KDE4_ENABLE_FINAL)
       add_library(${_target_NAME} ${_add_lib_param} ${_SRCS})
    endif (KDE4_ENABLE_FINAL)
-   if(MSVC)
-      add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
-   endif(MSVC)
+   add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
 
    kde4_handle_rpath_for_library(${_target_NAME})
 
_______________________________________________
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to