cmake: make it possible to automatically skip optional directories

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2015-12-06 06:40:05 +02:00
parent fa704438f9
commit 824d6f1195

View file

@ -24,18 +24,23 @@
MACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY _dir )
GET_FILENAME_COMPONENT(_fullPath ${_dir} ABSOLUTE)
IF(EXISTS ${_fullPath}/CMakeLists.txt)
IF(EXISTS ${_fullPath}/CMakeLists.txt AND EXISTS ${_fullPath}/.skipdir)
FILE(READ ${_fullPath}/.skipdir _message)
MESSAGE(WARNING "${_message}")
ELSEIF(EXISTS ${_fullPath}/CMakeLists.txt)
IF(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES)
SET(_DEFAULT_OPTION_VALUE FALSE)
ELSE(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES)
ELSE()
SET(_DEFAULT_OPTION_VALUE TRUE)
ENDIF(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES)
ENDIF()
IF(DISABLE_ALL_OPTIONAL_SUBDIRS AND NOT DEFINED BUILD_${_dir})
SET(_DEFAULT_OPTION_VALUE FALSE)
ENDIF(DISABLE_ALL_OPTIONAL_SUBDIRS AND NOT DEFINED BUILD_${_dir})
ENDIF()
OPTION(BUILD_${_dir} "Build directory ${_dir}" ${_DEFAULT_OPTION_VALUE})
IF(BUILD_${_dir})
ADD_SUBDIRECTORY(${_dir})
ENDIF(BUILD_${_dir})
ENDIF()
ENDIF(EXISTS ${_fullPath}/CMakeLists.txt)
ENDMACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY)