From kde-buildsystem Thu Mar 04 16:12:39 2010 From: Jonathan Marten Date: Thu, 04 Mar 2010 16:12:39 +0000 To: kde-buildsystem Subject: Sparse directory support with CMake 2.8 Message-Id: <201003041612.39282.jjm2 () keelhaul ! demon ! co ! uk> X-MARC-Message: https://marc.info/?l=kde-buildsystem&m=126772046721403 I'm using/developing some applications in extragear, but not all. So to make keeping up-to-date with SVN easier, I've checked out SVN with sparse directories as described in http://svnbook.red-bean.com/en/1.5/svn.advanced.sparsedirs.html. For example, extragear/graphics is fully populated but extragear/sdk is empty (apart from .svn). The problem is that, when configuring with CMake 2.8, it fails here with: CMake Warning (dev) at /ws/trunk/inst/share/apps/cmake/modules/MacroOptionalAddSubdirectory.cmake:39 (ADD_SUBDIRECTORY): The source directory /ws/trunk/extragear/sdk does not contain a CMakeLists.txt file. CMake does not support this case but it used to work accidentally and is being allowed for compatibility. Policy CMP0014 is not set: Input directories must have CMakeLists.txt. Run "cmake --help-policy CMP0014" for policy details. Use the cmake_policy Being able to have a sparse source tree is something that used to work, and is very useful for developers who don't want to track/build everything. Would it be possible to fix this by changing MacroOptionalAddSubdirectory.cmake as follows? --- MacroOptionalAddSubdirectory.cmake (revision 1098844) +++ MacroOptionalAddSubdirectory.cmake (working copy) @@ -24,7 +24,7 @@ MACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY _dir ) GET_FILENAME_COMPONENT(_fullPath ${_dir} ABSOLUTE) - IF(EXISTS ${_fullPath}) + IF(EXISTS ${_fullPath}/CMakeLists.txt) IF(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES) SET(_DEFAULT_OPTION_VALUE FALSE) ELSE(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES) @@ -37,5 +37,5 @@ IF(BUILD_${_dir}) ADD_SUBDIRECTORY(${_dir}) ENDIF(BUILD_${_dir}) - ENDIF(EXISTS ${_fullPath}) + ENDIF(EXISTS ${_fullPath}/CMakeLists.txt) ENDMACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY) Also as a side effect, comment 1 at the top of the file would be true again! Regards, Jonathan -- Jonathan Marten http://www.keelhaul.demon.co.uk Twickenham, UK jjm2@keelhaul.demon.co.uk _______________________________________________ Kde-buildsystem mailing list Kde-buildsystem@kde.org https://mail.kde.org/mailman/listinfo/kde-buildsystem