diff options
| author | Alexander Neundorf <neundorf@kde.org> | 2006-01-23 19:21:32 +0000 | 
|---|---|---|
| committer | Alexander Neundorf <neundorf@kde.org> | 2006-01-23 19:21:32 +0000 | 
| commit | 70e36df077f2685f6feda284cb02c27162d43344 (patch) | |
| tree | 5f05866bc9877939fd5b0aa9e3be587025ce6429 /modules/KDE4Macros.cmake | |
| parent | f966ce265b1c469713f7c2543bb81e5cf8b70d13 (diff) | |
| download | extra-cmake-modules-70e36df077f2685f6feda284cb02c27162d43344.tar.gz extra-cmake-modules-70e36df077f2685f6feda284cb02c27162d43344.tar.bz2 | |
make it dcop skel/stub rules work in directories where stubs/skels are
generated multiple times for the same headers
Alex
svn path=/trunk/KDE/kdesdk/cmake/; revision=501726
Diffstat (limited to 'modules/KDE4Macros.cmake')
| -rw-r--r-- | modules/KDE4Macros.cmake | 60 | 
1 files changed, 40 insertions, 20 deletions
| diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake index e3503b33..376e6a38 100644 --- a/modules/KDE4Macros.cmake +++ b/modules/KDE4Macros.cmake @@ -44,17 +44,28 @@ MACRO(KDE4_ADD_DCOP_SKELS _sources)        SET(_skel ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_skel.cpp)        SET(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl) -      ADD_CUSTOM_COMMAND(OUTPUT ${_kidl} -         COMMAND ${KDE4_DCOPIDL_EXECUTABLE} -         ARGS --srcdir ${KDE4_KALYPTUS_DIR} ${_tmp_FILE} > ${_kidl} -         DEPENDS ${_tmp_FILE} -      ) +      IF (NOT HAVE_${_basename}_KIDL_RULE) +        SET(HAVE_${_basename}_KIDL_RULE ON) -      ADD_CUSTOM_COMMAND(OUTPUT ${_skel} -         COMMAND ${KDE4_DCOPIDL2CPP_EXECUTABLE} -         ARGS --c++-suffix cpp --no-signals --no-stub ${_kidl} -         DEPENDS ${_kidl} -      ) +        ADD_CUSTOM_COMMAND(OUTPUT ${_kidl} +           COMMAND ${KDE4_DCOPIDL_EXECUTABLE} +           ARGS --srcdir ${KDE4_KALYPTUS_DIR} ${_tmp_FILE} > ${_kidl} +           DEPENDS ${_tmp_FILE} +        ) +      ENDIF (NOT HAVE_${_basename}_KIDL_RULE) + + + +      IF (NOT HAVE_${_basename}_SKEL_RULE) +        SET(HAVE_${_basename}_SKEL_RULE ON) + +        ADD_CUSTOM_COMMAND(OUTPUT ${_skel} +           COMMAND ${KDE4_DCOPIDL2CPP_EXECUTABLE} +           ARGS --c++-suffix cpp --no-signals --no-stub ${_kidl} +           DEPENDS ${_kidl} +        ) + +      ENDIF (NOT HAVE_${_basename}_SKEL_RULE)        SET(${_sources} ${${_sources}} ${_skel}) @@ -73,17 +84,26 @@ MACRO(KDE4_ADD_DCOP_STUBS _sources)  #     SET(_stub_H ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_stub.h)        SET(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl) -      ADD_CUSTOM_COMMAND(OUTPUT ${_kidl} -         COMMAND ${KDE4_DCOPIDL_EXECUTABLE} -         ARGS --srcdir ${KDE4_KALYPTUS_DIR} ${_tmp_FILE} > ${_kidl} -         DEPENDS ${_tmp_FILE} -      ) -      ADD_CUSTOM_COMMAND(OUTPUT ${_stub_CPP} -         COMMAND ${KDE4_DCOPIDL2CPP_EXECUTABLE} -         ARGS --c++-suffix cpp --no-signals --no-skel ${_kidl} -         DEPENDS ${_kidl} -      ) +      IF (NOT HAVE_${_basename}_KIDL_RULE) +        SET(HAVE_${_basename}_KIDL_RULE ON) + +        ADD_CUSTOM_COMMAND(OUTPUT ${_kidl} +           COMMAND ${KDE4_DCOPIDL_EXECUTABLE} +           ARGS --srcdir ${KDE4_KALYPTUS_DIR} ${_tmp_FILE} > ${_kidl} +           DEPENDS ${_tmp_FILE} +        )  +      ENDIF (NOT HAVE_${_basename}_KIDL_RULE) + +      IF (NOT HAVE_${_basename}_STUB_RULE) +        SET(HAVE_${_basename}_STUB_RULE ON) + +        ADD_CUSTOM_COMMAND(OUTPUT ${_stub_CPP} +           COMMAND ${KDE4_DCOPIDL2CPP_EXECUTABLE} +           ARGS --c++-suffix cpp --no-signals --no-skel ${_kidl} +           DEPENDS ${_kidl} +        ) +      ENDIF (NOT HAVE_${_basename}_STUB_RULE)        SET(${_sources} ${${_sources}} ${_stub_CPP}) | 
