mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-06 00:42:46 +02:00
46 lines
1.7 KiB
CMake
46 lines
1.7 KiB
CMake
#
|
|
# AddDependencyExternalProjects.cmake
|
|
# cmake/macros
|
|
#
|
|
# Copyright 2015 High Fidelity, Inc.
|
|
# Created by Stephen Birarda on February 13, 2014
|
|
#
|
|
# Distributed under the Apache License, Version 2.0.
|
|
# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
#
|
|
|
|
macro(ADD_DEPENDENCY_EXTERNAL_PROJECTS)
|
|
|
|
foreach(_PROJ_NAME ${ARGN})
|
|
|
|
string(TOUPPER ${_PROJ_NAME} _PROJ_NAME_UPPER)
|
|
|
|
# has the user told us they specific don't want this as an external project?
|
|
if (NOT USE_LOCAL_${_PROJ_NAME_UPPER})
|
|
# have we already detected we can't have this as external project on this OS?
|
|
if (NOT DEFINED ${_PROJ_NAME_UPPER}_EXTERNAL_PROJECT OR ${_PROJ_NAME_UPPER}_EXTERNAL_PROJECT)
|
|
# have we already setup the target?
|
|
if (NOT TARGET ${_PROJ_NAME})
|
|
add_subdirectory(${EXTERNAL_PROJECT_DIR}/${_PROJ_NAME} ${EXTERNALS_BINARY_DIR}/${_PROJ_NAME})
|
|
|
|
# did we end up adding an external project target?
|
|
if (NOT TARGET ${_PROJ_NAME})
|
|
set(${_PROJ_NAME_UPPER}_EXTERNAL_PROJECT FALSE CACHE BOOL "Presence of ${_PROJ_NAME} as external target")
|
|
|
|
message(STATUS "${_PROJ_NAME} was not added as an external project target for your OS."
|
|
" Either your system should already have the external library or you will need to install it separately.")
|
|
else ()
|
|
set(${_PROJ_NAME_UPPER}_EXTERNAL_PROJECT TRUE CACHE BOOL "Presence of ${_PROJ_NAME} as external target")
|
|
endif ()
|
|
endif ()
|
|
|
|
if (TARGET ${_PROJ_NAME})
|
|
add_dependencies(${TARGET_NAME} ${_PROJ_NAME})
|
|
endif ()
|
|
|
|
endif ()
|
|
endif ()
|
|
|
|
endforeach()
|
|
|
|
endmacro()
|