]> granicus.if.org Git - llvm/commit
[CMake] Cleanup tools/CMakeLists.txt to take advantage of the auto-registration that...
authorChris Bieneman <beanz@apple.com>
Mon, 13 Jul 2015 20:23:15 +0000 (20:23 +0000)
committerChris Bieneman <beanz@apple.com>
Mon, 13 Jul 2015 20:23:15 +0000 (20:23 +0000)
commit8d539b551932f5794b612510f5037283d23e7bbc
treef20eebda3ff0894631cab11ede1fe4a818597a00
parenta2485a49e8e7de4d1440d927f153281b1a8c5076
[CMake] Cleanup tools/CMakeLists.txt to take advantage of the auto-registration that was already partially working.

Summary:
This change re-lands r241621, with an additional fix that was required to allow tool sources to live outside the llvm checkout. It also no longer renames LLVM_EXTERNAL_*_SOURCE_DIR. This change was reverted in r241663, because it renamed several variables of the format LLVM_EXTERNAL_*_* to LLVM_TOOL_*_*.

Original Summary:
The tools CMakeLists file already had implicit tool registration, but there were a few things off about it that needed to be altered to make it work. This change addresses all that. The changes in this patch are:

* factored out canonicalizing tool names from paths to CMake variables * removed the LLVM_IMPLICIT_PROJECT_IGNORE mechanism in favor of LLVM_EXTERNAL_${nameUPPER}_BUILD which I renamed to LLVM_TOOL_${nameUPPER}_BUILD because it applies to internal and external tools
* removed ignore_llvm_tool_subdirectory() in favor of just setting LLVM_TOOL_${nameUPPER}_BUILD to Off
* Added create_llvm_tool_options() to resolve a bug in add_llvm_external_project() - the old LLVM_EXTERNAL_${nameUPPER}_BUILD would not work on a clean CMake directory because the option could be created after it was set in code.
* Removed all but the minimum required calls to add_llvm_external_project from tools/CMakeLists.txt

Differential Revision: http://reviews.llvm.org/D10665

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242059 91177308-0d34-0410-b5e6-96231b3b80d8
cmake/modules/AddLLVM.cmake
tools/CMakeLists.txt