aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2006-02-15 11:18:51 +0000
committerDavid Faure <faure@kde.org>2006-02-15 11:18:51 +0000
commit491fa62d29b93219cfefcf4891a31095a9b9087b (patch)
treedd207d9ce3d99ec3ef78e65229667bc5f9904e73 /modules
parent43ff2c4d0173b80f72b09798fd84293479477e3b (diff)
downloadextra-cmake-modules-491fa62d29b93219cfefcf4891a31095a9b9087b.tar.gz
extra-cmake-modules-491fa62d29b93219cfefcf4891a31095a9b9087b.tar.bz2
When creating a moc file for foo/bar.h, create it as foo/bar.moc
This solves a problem in kabc which has addressbook.h and kab/addressbook.h, and looks more logical in e.g. kio with all its subdirs. svn path=/trunk/KDE/kdelibs/; revision=509637
Diffstat (limited to 'modules')
-rw-r--r--modules/KDE4Macros.cmake6
1 files changed, 4 insertions, 2 deletions
diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake
index 1a2da1f4..f11644dd 100644
--- a/modules/KDE4Macros.cmake
+++ b/modules/KDE4Macros.cmake
@@ -242,9 +242,11 @@ MACRO(KDE4_AUTOMOC)
STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
GET_FILENAME_COMPONENT(_basename ${_current_MOC} NAME_WE)
-# set(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h)
set(_header ${_abs_PATH}/${_basename}.h)
- set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
+ # Determine relative path to the header, so that foo/bar.h becomes foo/bar.moc
+ file(RELATIVE_PATH _relative_path ${CMAKE_CURRENT_SOURCE_DIR} ${_abs_PATH})
+ set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_relative_path}/${_current_MOC})
+ #
ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
COMMAND ${QT_MOC_EXECUTABLE}
ARGS ${_moc_INCS} ${_header} -o ${_moc}