Hello

I have recently been worried about the increasing number of modules KDE is 
being divided in. Having to checkout, configure and build a huge amount of 
individual modules seems to greatly increase the time it takes for developers 
to build new test versions of KDE. This is especially true if you make changes 
to basic libraries and want a full KDE installation rebased on the modified 
libraries.

To try to solve this I have experimented with building multiple modules in a 
single CMake run. So far I've just used the old SVN modules, but the same 
principle should be even more useful for the more fine-grained Git modules.

The idea is to allow developers to create new top CMakeLists.txt files that 
looks something like this:

cmake_minimum_required(VERSION 2.6)
add_subdirectory( kdeutils )
add_subdirectory( kdesdk )
add_subdirectory( kdemultimedia )
add_subdirectory( kdegraphics )
add_subdirectory( kdenetwork )

Such a simple cmake file can quickly be made by anyone depending on what 
modules they need to build in one go.

There is one problem though: Adding a new top dir changes the CMAKE_SOURCE_DIR 
and CMAKE_BINARY_DIR variables. CMake however has better project relative 
variables called PROJECT_SOURCE_DIR, PROJECT_BINARY_DIR, plus the specific 
%project%_SOURCE_DIR and %project%_BINARY_DIR. By replace all top dir relative 
variables with appropiate project relative dirs, the source modules can easily 
be nested in new super modules, and thus be build and configured collectively. 

Making this change is not hard, and I have attached the patches necessary to 
build kdeutils, kdesdk, kdemultimedia, kdegraphics and kdenetwork in this way. 
The patched source of course still allows building one module at a time, and 
in several instances these more specific variables actually makes it easier to 
build sub-parts of modules individually.

I would like permission to apply the patches, and would like to suggest that 
we require all KDE CMakeLists.txt to use project-relative paths in the future. 
I think for instance it could be an excelent opportunity to make these minor 
changes while we are already splitting the modules.

What do you think?

Best regards
`Allan

Index: kapptemplate/CMakeLists.txt
===================================================================
--- kapptemplate/CMakeLists.txt	(revision 1214631)
+++ kapptemplate/CMakeLists.txt	(working copy)
@@ -1,6 +1,6 @@
 project(kapptemplate)
 
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
+set(CMAKE_MODULE_PATH ${kdesdk_SOURCE_DIR}/cmake/modules)
 
 include(KAppTemplateMacro)
 
Index: kompare/libdiff2/CMakeLists.txt
===================================================================
--- kompare/libdiff2/CMakeLists.txt	(revision 1214631)
+++ kompare/libdiff2/CMakeLists.txt	(working copy)
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/kompare/libdialogpages ${CMAKE_SOURCE_DIR}/kompare/komparepart ${CMAKE_SOURCE_DIR}/kompare/interfaces  )
+include_directories( ${PROJECT_SOURCE_DIR}/libdialogpages ${PROJECT_SOURCE_DIR}/komparepart ${PROJECT_SOURCE_DIR}/interfaces  )
 
 
 ########### next target ###############
Index: kompare/komparepart/CMakeLists.txt
===================================================================
--- kompare/komparepart/CMakeLists.txt	(revision 1214631)
+++ kompare/komparepart/CMakeLists.txt	(working copy)
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/kompare/libdialogpages ${CMAKE_SOURCE_DIR}/kompare/libdiff2 ${CMAKE_SOURCE_DIR}/kompare/interfaces  )
+include_directories( ${PROJECT_SOURCE_DIR}/libdialogpages ${PROJECT_SOURCE_DIR}/libdiff2 ${PROJECT_SOURCE_DIR}/interfaces  )
 
 
 ########### next target ###############
Index: kompare/libdialogpages/CMakeLists.txt
===================================================================
--- kompare/libdialogpages/CMakeLists.txt	(revision 1214631)
+++ kompare/libdialogpages/CMakeLists.txt	(working copy)
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/kompare/libdiff2  )
+include_directories( ${PROJECT_SOURCE_DIR}/libdiff2  )
 
 
 ########### next target ###############
Index: kompare/komparenavtreepart/CMakeLists.txt
===================================================================
--- kompare/komparenavtreepart/CMakeLists.txt	(revision 1214631)
+++ kompare/komparenavtreepart/CMakeLists.txt	(working copy)
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/kompare/libdiff2 ${CMAKE_SOURCE_DIR}/kompare/komparepart  )
+include_directories( ${PROJECT_SOURCE_DIR}/libdiff2 ${PROJECT_SOURCE_DIR}/komparepart  )
 
 
 ########### next target ###############
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 1214631)
+++ CMakeLists.txt	(working copy)
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 2.6)
 project(kdesdk)
 
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
+set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules )
 
 
 # search packages used by KDE
@@ -40,7 +40,7 @@
 macro_log_feature(LIBKONQ_FOUND "KDE-Base/LibKonq" "Provides high-level file management functions." "http://dolphin.kde.org/"; FALSE "" "Required to build the Dolphin version control plugins.")
 
 add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
-include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${KDEPIMLIBS_INCLUDE_DIR})
+include_directories (${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR} ${KDE4_INCLUDES} ${KDEPIMLIBS_INCLUDE_DIR})
 
 if( UNIX )
   macro_optional_add_subdirectory(cervisia)
Index: kremotecontrol/dataengine/CMakeLists.txt
===================================================================
--- kremotecontrol/dataengine/CMakeLists.txt	(revision 1214631)
+++ kremotecontrol/dataengine/CMakeLists.txt	(working copy)
@@ -4,8 +4,8 @@
 include(KDE4Defaults)
 include(${QT_USE_FILE})
 include_directories(
-  ${CMAKE_SOURCE_DIR} 
-  ${CMAKE_BINARY_DIR} 
+  ${kdeutils_SOURCE_DIR} 
+  ${kdeutils_BINARY_DIR} 
   ${KDE4_INCLUDES} 
   ${PLASMA_INCLUDE_DIR}
   ${KDE4WORKSPACE_INCLUDE_DIR}
Index: kcalc/CMakeLists.txt
===================================================================
--- kcalc/CMakeLists.txt	(revision 1214631)
+++ kcalc/CMakeLists.txt	(working copy)
@@ -15,8 +15,8 @@
 ########### next target ###############
 # Needs absolute paths due to the test program for knumber
 set(libknumber_la_SRCS  
-   ${CMAKE_SOURCE_DIR}/kcalc/knumber/knumber.cpp 
-   ${CMAKE_SOURCE_DIR}/kcalc/knumber/knumber_priv.cpp
+   ${PROJECT_SOURCE_DIR}/knumber/knumber.cpp 
+   ${PROJECT_SOURCE_DIR}/knumber/knumber_priv.cpp
    )
 
 add_subdirectory( knumber )
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 1214631)
+++ CMakeLists.txt	(working copy)
@@ -1,6 +1,6 @@
 project( kdeutils )
 
-set( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
+set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules )
 
 # search packages used by KDE
 find_package( KDE4 REQUIRED )
@@ -15,7 +15,7 @@
 set( CMAKE_REQUIRED_DEFINITIONS ${_KDE4_PLATFORM_DEFINITIONS} )
 
 add_definitions( ${QT_DEFINITIONS} ${KDE4_DEFINITIONS} )
-include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
+include_directories( ${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR} ${KDE4_INCLUDES})
 
 # --- check for dependencies ---
 if(X11_FOUND)
Index: kscd/CMakeLists.txt
===================================================================
--- kscd/CMakeLists.txt	(revision 1214631)
+++ kscd/CMakeLists.txt	(working copy)
@@ -2,8 +2,8 @@
 
 include_directories(
                 ${CMAKE_CURRENT_SOURCE_DIR}/gui
-		${CMAKE_SOURCE_DIR}/kscd
-			${CMAKE_BINARY_DIR}/kscd
+		${PROJECT_SOURCE_DIR}
+		${PROJECT_BINARY_DIR}
 		)
 add_subdirectory(tests)
 ########### next target ###############
Index: kmix/CMakeLists.txt
===================================================================
--- kmix/CMakeLists.txt	(revision 1214631)
+++ kmix/CMakeLists.txt	(working copy)
@@ -6,7 +6,7 @@
 set(PULSEAUDIO_MINIMUM_VERSION "0.9.12")
 macro_optional_find_package(PulseAudio)
 macro_log_feature(PULSEAUDIO_FOUND "PulseAudio" "PulseAudio Audio Server" "http://www.pulseaudio.org/"; FALSE "0.9.12" "libpulse is needed to let KMix control PulseAudio")
-alsa_configure_file(${CMAKE_BINARY_DIR}/config-alsa.h)
+alsa_configure_file(${kdemultimedia_BINARY_DIR}/config-alsa.h)
 
 
 add_definitions (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS} )
Index: kioslave/audiocd/plugins/flac/CMakeLists.txt
===================================================================
--- kioslave/audiocd/plugins/flac/CMakeLists.txt	(revision 1214631)
+++ kioslave/audiocd/plugins/flac/CMakeLists.txt	(working copy)
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/libkcddb ${CMAKE_CURRENT_SOURCE_DIR}/..  ${FLAC_INCLUDE_DIR} )
+include_directories( ${kdemultimedia_SOURCE_DIR}/libkcddb ${CMAKE_CURRENT_SOURCE_DIR}/..  ${FLAC_INCLUDE_DIR} )
 
 
 ########### next target ###############
Index: kioslave/audiocd/plugins/CMakeLists.txt
===================================================================
--- kioslave/audiocd/plugins/CMakeLists.txt	(revision 1214631)
+++ kioslave/audiocd/plugins/CMakeLists.txt	(working copy)
@@ -13,7 +13,7 @@
 add_subdirectory( wav )
 add_subdirectory( lame )
 
-include_directories( ${CMAKE_SOURCE_DIR}/libkcddb  )
+include_directories( ${kdemultimedia_SOURCE_DIR}/libkcddb  )
 
 
 ########### next target ###############
Index: kioslave/audiocd/kcmaudiocd/CMakeLists.txt
===================================================================
--- kioslave/audiocd/kcmaudiocd/CMakeLists.txt	(revision 1214631)
+++ kioslave/audiocd/kcmaudiocd/CMakeLists.txt	(working copy)
@@ -1,8 +1,8 @@
 
 include_directories(
-                ${CMAKE_SOURCE_DIR}/libkcddb
+                ${kdemultimedia_SOURCE_DIR}/libkcddb
                 ${CMAKE_CURRENT_SOURCE_DIR}/../plugins
-                ${CMAKE_BINARY_DIR}/kioslave/audiocd/kcmaudiocd )
+                ${PROJECT_BINARY_DIR} )
 
 ########### next target ###############
 
Index: kioslave/audiocd/CMakeLists.txt
===================================================================
--- kioslave/audiocd/CMakeLists.txt	(revision 1214631)
+++ kioslave/audiocd/CMakeLists.txt	(working copy)
@@ -17,10 +17,10 @@
 add_subdirectory( data )
 
 include_directories(
-		${CMAKE_SOURCE_DIR}/libkcddb
-		${CMAKE_BINARY_DIR}/libkcddb
-		${CMAKE_SOURCE_DIR}/libkcompactdisc
-		${CMAKE_BINARY_DIR}/libkcompactdisc
+		${kdemultimedia_SOURCE_DIR}/libkcddb
+		${kdemultimedia_BINARY_DIR}/libkcddb
+		${kdemultimedia_SOURCE_DIR}/libkcompactdisc
+		${kdemultimedia_BINARY_DIR}/libkcompactdisc
 		${CDPARANOIA_INCLUDE_DIR}
 		)
 
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 1214631)
+++ CMakeLists.txt	(working copy)
@@ -1,6 +1,6 @@
 project(kdemultimedia)
 
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
+set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules)
 
 # search packages used by KDE
 find_package(KDE4 REQUIRED)
@@ -32,7 +32,7 @@
 macro_log_feature(OGGVORBIS_FOUND "OggVorbis" "Libraries for Ogg Vorbis general audio compression codec" "http://www.xiph.org"; FALSE "" "Required for the AudioCD Ogg Vorbis plugin.")
 
 add_definitions (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS} )
-include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
+include_directories (${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR} ${KDE4_INCLUDES})
 if(MSVC)
     include_directories( ${TAGLIB_INCLUDES} )
 endif(MSVC)
Index: cmake/modules/FindKSane.cmake
===================================================================
--- cmake/modules/FindKSane.cmake	(revision 1214631)
+++ cmake/modules/FindKSane.cmake	(working copy)
@@ -9,7 +9,7 @@
   set(KSANE_FIND_QUIETLY TRUE)
 endif (KSANE_INCLUDE_DIR)
 
-FIND_FILE(KSANE_LOCAL_FOUND libksane/version.h.cmake ${CMAKE_SOURCE_DIR}/libs/libksane NO_DEFAULT_PATH)
+FIND_FILE(KSANE_LOCAL_FOUND libksane/version.h.cmake ${PROJECT_SOURCE_DIR}/libs/libksane NO_DEFAULT_PATH)
 
 if (KSANE_LOCAL_FOUND)
     set(KSANE_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/libs/libksane)
Index: libs/libkexiv2/CMakeLists.txt
===================================================================
--- libs/libkexiv2/CMakeLists.txt	(revision 1214631)
+++ libs/libkexiv2/CMakeLists.txt	(working copy)
@@ -33,7 +33,7 @@
 INCLUDE(FindPackageHandleStandardArgs)
 
 ADD_DEFINITIONS (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS})
-INCLUDE_DIRECTORIES (${QDBUS_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
+INCLUDE_DIRECTORIES (${QDBUS_INCLUDE_DIRS} ${kdegraphics_SOURCE_DIR} ${kdegraphics_BINARY_DIR} ${KDE4_INCLUDES})
 
 SET(LIBKEXIV2_AREA_CODE_GENERAL 51003)
 ADD_DEFINITIONS(-DKDE_DEFAULT_DEBUG_AREA=${LIBKEXIV2_AREA_CODE_GENERAL})
Index: libs/libkdcraw/CMakeLists.txt
===================================================================
--- libs/libkdcraw/CMakeLists.txt	(revision 1214631)
+++ libs/libkdcraw/CMakeLists.txt	(working copy)
@@ -31,7 +31,7 @@
 INCLUDE(FindPackageHandleStandardArgs)
 
 ADD_DEFINITIONS (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS})
-INCLUDE_DIRECTORIES (${QDBUS_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
+INCLUDE_DIRECTORIES (${QDBUS_INCLUDE_DIRS} ${kdegraphics_SOURCE_DIR} ${kdegraphics_BINARY_DIR} ${KDE4_INCLUDES})
 
 SET(LIBKDCRAW_AREA_CODE_GENERAL 51002)
 ADD_DEFINITIONS(-DKDE_DEFAULT_DEBUG_AREA=${LIBKDCRAW_AREA_CODE_GENERAL})
Index: libs/libkipi/CMakeLists.txt
===================================================================
--- libs/libkipi/CMakeLists.txt	(revision 1214631)
+++ libs/libkipi/CMakeLists.txt	(working copy)
@@ -33,7 +33,7 @@
 INCLUDE(FindPackageHandleStandardArgs)
 
 ADD_DEFINITIONS (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS})
-INCLUDE_DIRECTORIES (${QDBUS_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
+INCLUDE_DIRECTORIES (${QDBUS_INCLUDE_DIRS} ${kdegraphics_SOURCE_DIR} ${kdegraphics_BINARY_DIR} ${KDE4_INCLUDES})
 
 SET(LIBKIPI_AREA_CODE_GENERAL 51000)
 ADD_DEFINITIONS(-DKDE_DEFAULT_DEBUG_AREA=${LIBKIPI_AREA_CODE_GENERAL})
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 1214631)
+++ CMakeLists.txt	(working copy)
@@ -1,6 +1,6 @@
 project(kdegraphics)
 
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/modules )
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake/modules )
 
 OPTION(BUILD_LIBS "build kdegraphics library" ON)
 # search packages used by KDE
@@ -50,7 +50,7 @@
 #do not macro_log_feature() Kexiv2
 
 add_definitions (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS})
-include_directories (${QDBUS_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
+include_directories (${QDBUS_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR} ${KDE4_INCLUDES})
 
 
 add_subdirectory(cmake)
Index: krfb/kcm_krfb/CMakeLists.txt
===================================================================
--- krfb/kcm_krfb/CMakeLists.txt	(revision 1214631)
+++ krfb/kcm_krfb/CMakeLists.txt	(working copy)
@@ -1,12 +1,12 @@
-include_directories(${CMAKE_BINARY_DIR}/krfb/krfb)
+include_directories(${PROJECT_BINARY_DIR}/krfb)
 
 set(kcm_krfb_PART_SRCS kcm_krfb.cpp ${krfbconfig_SRCS})
 
 kde4_add_ui3_files(kcm_krfb_PART_SRCS configurationwidget.ui)
 kde4_add_ui3_files(kcm_krfb_PART_SRCS
-	${CMAKE_SOURCE_DIR}/krfb/krfb/manageinvitations.ui
-	${CMAKE_SOURCE_DIR}/krfb/krfb/personalinvitewidget.ui
-	${CMAKE_SOURCE_DIR}/krfb/krfb/invitewidget.ui)
+	${PROJECT_SOURCE_DIR}/krfb/manageinvitations.ui
+	${PROJECT_SOURCE_DIR}/krfb/personalinvitewidget.ui
+	${PROJECT_SOURCE_DIR}/krfb/invitewidget.ui)
 
 kde4_add_plugin(kcm_krfb ${kcm_krfb_PART_SRCS})
 
Index: kget/CMakeLists.txt
===================================================================
--- kget/CMakeLists.txt	(revision 1214631)
+++ kget/CMakeLists.txt	(working copy)
@@ -71,7 +71,7 @@
 
 
 include_directories(
-   ${CMAKE_SOURCE_DIR}/kget/core/
+   ${PROJECT_SOURCE_DIR}/core/
    ${CMAKE_CURRENT_BINARY_DIR}
 )
 
Index: filesharing/advanced/propsdlgplugin/CMakeLists.txt
===================================================================
--- filesharing/advanced/propsdlgplugin/CMakeLists.txt	(revision 1214631)
+++ filesharing/advanced/propsdlgplugin/CMakeLists.txt	(working copy)
@@ -1,22 +1,22 @@
-include_directories(${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/ ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/)
+include_directories(${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/ ${PROJECT_SOURCE_DIR}/advanced/nfs/)
 
 ########### next target ###############
 
 set(fileshare_propsdlgplugin_PART_SRCS propsdlgshareplugin.cpp ${libpropsdlgplugin_common_SRCS} ${libfilesharesamba_SRCS} ${libfilesharenfs_SRCS})
 
 kde4_add_ui3_files(fileshare_propsdlgplugin_PART_SRCS
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/hostprops.ui
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/socketoptionsdlg.ui
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/userselectdlg.ui
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/groupselectdlg.ui
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/usertab.ui
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/filemodedlg.ui
+    ${PROJECT_SOURCE_DIR}/advanced/nfs/hostprops.ui
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/socketoptionsdlg.ui
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/userselectdlg.ui
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/groupselectdlg.ui
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/usertab.ui
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/filemodedlg.ui
 )
 
 kde4_add_ui_files(fileshare_propsdlgplugin_PART_SRCS
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/share.ui
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/expertuserdlg.ui
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfsdialoggui.ui
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/share.ui
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/expertuserdlg.ui
+    ${PROJECT_SOURCE_DIR}/advanced/nfs/nfsdialoggui.ui
     propertiespagegui.ui
 )
 
Index: filesharing/simple/CMakeLists.txt
===================================================================
--- filesharing/simple/CMakeLists.txt	(revision 1214631)
+++ filesharing/simple/CMakeLists.txt	(working copy)
@@ -9,21 +9,21 @@
 
 
 kde4_add_ui3_files(kcm_fileshare_PART_SRCS 
-		${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/socketoptionsdlg.ui
-		${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/userselectdlg.ui
-		${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/groupselectdlg.ui
-		${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/usertab.ui
-		${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/filemodedlg.ui
-		${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/hostprops.ui
+		${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/socketoptionsdlg.ui
+		${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/userselectdlg.ui
+		${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/groupselectdlg.ui
+		${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/usertab.ui
+		${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/filemodedlg.ui
+		${PROJECT_SOURCE_DIR}/advanced/nfs/hostprops.ui
 		)
 
 kde4_add_ui_files(kcm_fileshare_PART_SRCS
-	${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/share.ui
+	${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/share.ui
         groupconfiggui.ui
-        ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/expertuserdlg.ui
-	${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfsdialoggui.ui
+        ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/expertuserdlg.ui
+	${PROJECT_SOURCE_DIR}/advanced/nfs/nfsdialoggui.ui
         controlcenter.ui
-        ${CMAKE_SOURCE_DIR}/filesharing/advanced/propsdlgplugin/propertiespagegui.ui
+        ${PROJECT_SOURCE_DIR}/advanced/propsdlgplugin/propertiespagegui.ui
 )
 
 
Index: filesharing/CMakeLists.txt
===================================================================
--- filesharing/CMakeLists.txt	(revision 1214631)
+++ filesharing/CMakeLists.txt	(working copy)
@@ -1,42 +1,44 @@
+project (filesharing)
+
 add_definitions ( -DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS)
 
 include_directories(
-		${CMAKE_SOURCE_DIR}/filesharing/advanced/propsdlgplugin/
-		${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/
-		${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/
-                ${CMAKE_BINARY_DIR}/filesharing/simple/
-                ${CMAKE_BINARY_DIR}/advanced/propsdlgplugin/
+		${PROJECT_SOURCE_DIR}/advanced/propsdlgplugin/
+		${PROJECT_SOURCE_DIR}/advanced/nfs/
+		${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/
+                ${PROJECT_BINARY_DIR}/simple/
+                ${PROJECT_BINARY_DIR}/advanced/propsdlgplugin/
 		)
 
 set(libfilesharesamba_SRCS
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/sambafile.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/sharedlgimpl.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/sambashare.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/common.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/usertabimpl.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/filemodedlgimpl.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/smbpasswdfile.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/passwd.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/hiddenfileview.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/dictmanager.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/qmultichecklistitem.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/smbconfconfigwidget.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/linuxpermissionchecker.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/sambafile.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/sharedlgimpl.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/common.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/sambashare.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/usertabimpl.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/filemodedlgimpl.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/smbpasswdfile.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/passwd.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/hiddenfileview.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/dictmanager.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/qmultichecklistitem.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/smbconfconfigwidget.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/kcm_sambaconf/linuxpermissionchecker.cpp
 )
 
 set(libfilesharenfs_SRCS
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfsdialog.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfshostdlg.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfsfile.cpp
-    ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfsentry.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/nfs/nfsdialog.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/nfs/nfshostdlg.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/nfs/nfsfile.cpp
+    ${PROJECT_SOURCE_DIR}/advanced/nfs/nfsentry.cpp
     )
 
 set(fileshare_propsdlgplugin_SRCS
-	${CMAKE_SOURCE_DIR}/filesharing/advanced/propsdlgplugin/propsdlgshareplugin.cpp
+	${PROJECT_SOURCE_DIR}/advanced/propsdlgplugin/propsdlgshareplugin.cpp
 	)
 
 set(libpropsdlgplugin_common_SRCS 
-		    ${CMAKE_SOURCE_DIR}/filesharing/advanced/propsdlgplugin/propertiespage.cpp)
+		    ${PROJECT_SOURCE_DIR}/advanced/propsdlgplugin/propertiespage.cpp)
 
 
 add_subdirectory( advanced ) 
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 1214631)
+++ CMakeLists.txt	(working copy)
@@ -2,7 +2,7 @@
 
 set(INSIDE_KDENETWORK TRUE)
 
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
+set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules )
 
 # search packages used by KDE
 find_package(KDE4 REQUIRED)
@@ -70,7 +70,7 @@
 endif (BUILD_EXPERIMENTAL_TUBES_SUPPORT)
 
 add_definitions (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS})
-include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${KDEPIMLIBS_INCLUDE_DIR})
+include_directories (${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR} ${KDE4_INCLUDES} ${KDEPIMLIBS_INCLUDE_DIR})
 
 macro_optional_add_subdirectory(kfile-plugins)
 macro_optional_add_subdirectory(kget)
_______________________________________________
Kde-buildsystem mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to