| # - 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) |