[cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT always
authorMichal Gorny <mgorny@gentoo.org>
Mon, 28 Jan 2019 15:16:03 +0000 (15:16 +0000)
committerMichal Gorny <mgorny@gentoo.org>
Mon, 28 Jan 2019 15:16:03 +0000 (15:16 +0000)
commitd4b194cf95fdcd4cbc88a9311faee32620d70b1f
tree3e2cb751f1e6105f9ae3c96d18bf1e8aba779410
parent3168496822026ab96fbe05c8730016dac56d842c
[cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT always

Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT,
and require the fallback to be defined explicitly
as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone
after r346888.

The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache
variable and an optional pre-definition of default value from caller
(e.g. libcxx). It included a hack to make this work by assigning
the value back and forth but it was fragile and stopped working
in libcxx.

The new logic is simpler and more transparent. Default value is
provided in a separate variable, and used only when user-specified
variable is empty (i.e. not overriden).

Differential Revision: https://reviews.llvm.org/D57282

llvm-svn: 352374
libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake
libcxxabi/cmake/Modules/HandleOutOfTreeLLVM.cmake
lldb/cmake/modules/LLDBStandalone.cmake
llvm/cmake/modules/AddLLVM.cmake