| # - MACRO_OPTIONAL_ADD_SUBDIRECTORY() combines add_subdirectory() with an option() | 
 | # MACRO_OPTIONAL_ADD_SUBDIRECTORY( <dir> ) | 
 | # 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, <neundorf@kde.org> | 
 | # | 
 | # 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}) | 
 |       if(${ARGC} EQUAL 2) | 
 |         option(BUILD_${_dir} "Build directory ${_dir}" ${ARGV1}) | 
 |       else(${ARGC} EQUAL 2) | 
 |         option(BUILD_${_dir} "Build directory ${_dir}" TRUE) | 
 |       endif(${ARGC} EQUAL 2) | 
 |       if(BUILD_${_dir}) | 
 |          add_subdirectory(${_dir}) | 
 |       endif(BUILD_${_dir}) | 
 |    endif(EXISTS ${_fullPath}) | 
 | endmacro (MACRO_OPTIONAL_ADD_SUBDIRECTORY) |