From 6a003caaa6910f59abc239971bd8dbf95bb9adcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Wed, 3 Feb 2010 10:41:19 +0000 Subject: KDE4_SERIALIZE_TOOL - set to icerun (with icecream 0.9.5+) to serialize meinproc4 runs when doing large parallel builds. svn path=/trunk/KDE/kdelibs/; revision=1084602 --- modules/FindKDE4Internal.cmake | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'modules') diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake index 1ce3a7cb..94bb3775 100644 --- a/modules/FindKDE4Internal.cmake +++ b/modules/FindKDE4Internal.cmake @@ -123,6 +123,8 @@ # KDE4_USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR - only present for CMake >= 2.6.3, defaults to TRUE # If enabled, the package should install its Config.cmake file to # lib/cmake// instead to lib//cmake +# KDE4_SERIALIZE_TOOL - wrapper to serialize potentially resource-intensive commands during +# parallel builds (set to 'icecc' when using icecream) # # It also adds the following macros and functions (from KDE4Macros.cmake) # KDE4_ADD_UI_FILES (SRCS_VAR file1.ui ... fileN.ui) @@ -626,6 +628,7 @@ endif(NOT PHONON_FOUND) option(KDE4_ENABLE_FINAL "Enable final all-in-one compilation") option(KDE4_BUILD_TESTS "Build the tests") option(KDE4_ENABLE_HTMLHANDBOOK "Create targets htmlhandbook for creating the html versions of the docbook docs") +set(KDE4_SERIALIZE_TOOL "" CACHE STRING "Tool to serialize resource-intensive commands in parallel builds") # if CMake 2.6.3 or above is used, provide an option which should be used by other KDE packages # whether to install a CMake FooConfig.cmake into lib/foo/cmake/ or /lib/cmake/foo/ @@ -665,6 +668,11 @@ if( KDE4_ENABLE_FINAL) add_definitions(-DKDE_USE_FINAL) endif(KDE4_ENABLE_FINAL) +if(KDE4_SERIALIZE_TOOL) + # parallel build with many meinproc invocations can consume a huge amount of memory + set(KDE4_MEINPROC_EXECUTABLE ${KDE4_SERIALIZE_TOOL} ${KDE4_MEINPROC_EXECUTABLE}) +endif(KDE4_SERIALIZE_TOOL) + # If we are building ! kdelibs, check where kdelibs are installed. # If they are installed in a directory which contains "lib64", we default to "64" for LIB_SUFFIX, # so the current project will by default also go into lib64. -- cgit v1.2.1