mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
[cmake] Add helper for finding potentially external projects
I plan to use this from compiler-rt, but it's useful for any LLVM project that depends on more than just LLVM. llvm-svn: 244633
This commit is contained in:
parent
f473c5974a
commit
680373b126
@ -717,6 +717,23 @@ macro(add_llvm_tool_subdirectory name)
|
||||
add_llvm_external_project(${name})
|
||||
endmacro(add_llvm_tool_subdirectory)
|
||||
|
||||
# Finds a (potentially external) project that normally lives at
|
||||
# llvm/${subdir}/${name}. For example, to find clang:
|
||||
# find_llvm_external_project(tools clang CLANG_SRC)
|
||||
# Returns nothing if the project is not configured to build.
|
||||
function(find_llvm_external_project subdir name path_out)
|
||||
canonicalize_tool_name(${name} nameUPPER)
|
||||
if (NOT LLVM_TOOL_${nameUPPER}_BUILD)
|
||||
set(${path_out} PARENT_SCOPE)
|
||||
elseif (EXISTS LLVM_EXTERNAL_${nameUPPER}_SOURCE_DIR)
|
||||
set(${path_out} LLVM_EXTERNAL_${nameUPPER}_SOURCE_DIR PARENT_SCOPE)
|
||||
elseif (EXISTS ${LLVM_MAIN_SRC_DIR}/${subdir}/${name})
|
||||
set(${path_out} ${LLVM_MAIN_SRC_DIR}/${subdir}/${name} PARENT_SCOPE)
|
||||
else()
|
||||
set(${path_out} PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction(find_llvm_external_project)
|
||||
|
||||
function(get_project_name_from_src_var var output)
|
||||
string(REGEX MATCH "LLVM_EXTERNAL_(.*)_SOURCE_DIR"
|
||||
MACHED_TOOL "${var}")
|
||||
|
Loading…
x
Reference in New Issue
Block a user