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