[clang][cmake] Rearrange top-level CMakeLists.txt for D116492
authorJohn Ericson <John.Ericson@Obsidian.Systems>
Sun, 2 Jan 2022 06:29:26 +0000 (06:29 +0000)
committerJohn Ericson <John.Ericson@Obsidian.Systems>
Mon, 3 Jan 2022 18:28:34 +0000 (18:28 +0000)
commita3ab2c94a2715c45e39abdb36b4d78e028b051d2
treee8bc573b097b2f70436486ecf6601c9d0b54eb8d
parenta44ef999fb5e9243df9c4459df1b17b66aa3fd23
[clang][cmake] Rearrange top-level CMakeLists.txt for D116492

In that revision, I make LLD match Clang in deprecating `llvm-config`.
This patch isn't to worthwhile on its own --- there isn't a sense in
which the new order is "better" in isolation --- but by putting the
steps that LLD also neeeds to do first, I make the diff between LLD and
Clang's top-level `CMakeLists.txt` very legible.

Longer term I hope:

 1. We can remove calling `llvm-config` altogether, and just go strait to
    finding the CMake config file. This is what Flang does, at least.

 2. Hopefully the diffable part is smaller then --- i.e. there is less
    duplicated boilerplate.

 3. Any duplicate boilerplate that remains can be factored out.

I didn't both trying to factor anything out in e.g. the top level common
CMake Utility modules because this deprecated-but-not-removed state is a
merely transitional.

Reviewed By: beanz

Differential Revision: https://reviews.llvm.org/D116548
clang/CMakeLists.txt