[CMake] Cleanup tools/CMakeLists.txt to take advantage of the auto-registration that...
authorChris Bieneman <beanz@apple.com>
Tue, 7 Jul 2015 20:24:55 +0000 (20:24 +0000)
committerChris Bieneman <beanz@apple.com>
Tue, 7 Jul 2015 20:24:55 +0000 (20:24 +0000)
commit651c3901be8034e282ac297551de9e0fdfe66e3a
tree7348e982e27de9a062f60a5c090f98cb95ea992f
parent2b88d93a2ebc56a76384f63fc3724207b4d9a255
[CMake] Cleanup tools/CMakeLists.txt to take advantage of the auto-registration that was already partially working.

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

Reviewers: bogner, samsonov, chapuni, beanz

Subscribers: llvm-commits

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

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