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