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 | |
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
-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}) |