Setup the CMake invocation for the migration to CMake 3.15. This will
allow us to simplify the s-p-m bootstrap and the llbuild build itself
(see apple/llbuild#587).
Swift requires now tablegen to build Options.inc, so build script
has to be taught about picking the host llvm-tablegen instead of
the target llvm-tablegen.
<rdar://problem/55916729>
Pass LLDB_EXTRA_CMAKE_ARGS last so it can override defaults values set
earlier. It also makes sure we only pass LLDB_USE_SYSTEM_DEBUGSERVER
when the corresponding build-script flag is set.
Even though the dotest extra arguments can contain multiple flags, we
shouldn't quote them because they're passed as a list to CMake. This
also fixes the check above which was inspecting the wrong variable.
Rather than constructing the dotest arguments at test-time, we should
build them at configuration time and have CMake know about them. That
way you can run check-lldb in the LLDB build directory and have the same
behavior compared to running the test suite with build script.
(cherry picked from commit 5b5b5d532a)
This variable is set but never used. The right way to set the test
compiler is by setting the corresponding CMake variables. This is likely
a remnant of the Xcode project support.
(cherry picked from commit 9c690e36e3)
This removes some redundant code from the LLDB test phase and simplifies
the remaining code. This is the first step in moving the test arguments
up to the CMake configuration phase, so we can just run check-lldb.
(cherry picked from commit 825a39abb3)
Upstream we changed the LLDB standalone build to use LLVM_DIR and
Clang_DIR to find LLVM and Clang respectively. This commit does the same
for Swift, making everything use Swift_DIR instead of our hand-rolled
variables.
(cherry picked from commit 0f3f54cc55)
This commit introduces a CMake target for each component, adds install targets
for them, and switches build-script-impl to use the target `install-components`
for installation. Each of the targets for each component depends on each
of the individual targets and outputs that are associated with the
corresponding swift-component.
This is equivalent to what already exists, because right now install rules are
only generated for components that we want to install. Therefore, this commit
should be an NFC.
This is a resubmission (with modifications) of an earlier change. I originally
committed this but there were problems with some installation rules.
PR #25085 [1] enabled building and installing the static variant of the
libdispatch library in build-script-impl. This broke the
`tsan-libdispatch-test` preset [2].
Let's make sure we pass along the options specified in
`libdispatch-cmake-options` when building the static variant.
[1] https://github.com/apple/swift/pull/25085
[2] https://github.com/apple/swift/pull/24330
rdar://problem/49177823