From 6bcd26467abb252ca269faad4ae2131566531ce0 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sat, 20 Jan 2007 13:28:47 +0000 Subject: Added new macro MACRO_OPTIONAL_ADD_SUBDIRECTORY(dir), which might be useful e.g. for extragear. If you use this instead of the normal ADD_SUBDIRECTORY(), it adds for every directory an option so you can skip this directory, and it doesn't complain if the directory doesn't exist. E.g. if you want to compile just one project from the extragear or kdesupport you can turn the other dirs off if you use this macro instead of the normal ADD_SUBDIRECTORY() Alex CCMAIL: kde-core-devel@kde.org CCMAIL: kde-buildsystem@kde.org svn path=/trunk/KDE/kdelibs/; revision=625574 --- modules/MacroOptionalAddSubdirectory.cmake | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 modules/MacroOptionalAddSubdirectory.cmake (limited to 'modules/MacroOptionalAddSubdirectory.cmake') diff --git a/modules/MacroOptionalAddSubdirectory.cmake b/modules/MacroOptionalAddSubdirectory.cmake new file mode 100644 index 00000000..b0d565c2 --- /dev/null +++ b/modules/MacroOptionalAddSubdirectory.cmake @@ -0,0 +1,27 @@ +# - MACRO_OPTIONAL_ADD_SUBDIRECTORY() combines ADD_SUBDIRECTORY() with an OPTION() +# MACRO_OPTIONAL_ADD_SUBDIRECTORY( ) +# If you use MACRO_OPTIONAL_ADD_SUBDIRECTORY() instead of ADD_SUBDIRECTORY(), +# this will have two effects +# 1 - CMake will not complain if the directory doesn't exist +# This makes sense if you want to distribute just one of the subdirs +# in a source package, e.g. just one of the subdirs in kdeextragear. +# 2 - If the directory exists, it will offer an option to skip the +# subdirectory. +# This is useful if you want to compile only a subset of all +# directories. + +# Copyright (c) 2007, Alexander Neundorf, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +MACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY _dir ) + GET_FILENAME_COMPONENT(_fullPath ${_dir} ABSOLUTE) + IF(EXISTS ${_fullPath}) + OPTION(BUILD_${_dir} "Build directory ${_dir}" TRUE) + IF(BUILD_${_dir}) + ADD_SUBDIRECTORY(${_dir}) + ENDIF(BUILD_${_dir}) + ENDIF(EXISTS ${_fullPath}) +ENDMACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY) -- cgit v1.2.1