[CMake] Refactor iOS simulator/device test configuration generation code for…

Authored by delcypher on Jan 22 2020, 4:26 PM.

Unpublished Commit · Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.


[CMake] Refactor iOS simulator/device test configuration generation code for LibFuzzer.

In order to do this FUZZER_SUPPORTED_OS had to be pulled out of
lib/fuzzer/CMakeLists.txt and into the main config so we can use it
from the test/fuzzer/CMakeList.txt. FUZZER_SUPPORTED_OS currently
has the same value of SANITIZER_COMMON_SUPPORTED_OS which preserves
the existing behaviour but this allows us in the future to adjust the
supported platforms independent of SANITIZER_COMMON_SUPPORTED_OS. This
mirrors the other sanitizers.

For non-Apple platforms FUZZER_SUPPORTED_OS is not defined and
surprisingly this was the behaviour before this patch because
SANITIZER_COMMON_SUPPORTED_OS was actually empty. This appears to
not matter right now because the functions that take an OS as an
argument seem to ignore it on non-Apple platforms.

While this change tries to be NFC it is technically not because we
now generate an iossim config whereas previously we didn't. This seems
like the right thing to do because the build system was configured to
compile LibFuzzer for iossim but previously we weren't generating a lit
test config for it. The device/simulator testing configs don't run by
default anyway so this shouldn't break testing.

This change relies on the get_capitalized_apple_platform() function
added in a previous commit.


Reviewers: kubamracek, yln

Subscribers: mgorny, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

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

(cherry picked from commit 9d9b470e69acfca321f005490cfba14fe5247229)