mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-08-16 17:00:35 +03:00
This option sets -fprofile-instr-generate -fcoverage-mapping for Clang builds only on almost all of Userland. Loader and LibTimeZone are exempt. This can be used for generating code coverage reports, or even PGO in the future.
29 lines
1.1 KiB
CMake
29 lines
1.1 KiB
CMake
add_compile_options(-O2)
|
|
|
|
# Escape hatch target to prevent runtime startup libraries from having coverage enabled
|
|
# at awkward points in program initialization
|
|
add_library(NoCoverage INTERFACE)
|
|
|
|
if (ENABLE_USERSPACE_COVERAGE_COLLECTION)
|
|
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang$")
|
|
add_compile_options(-fprofile-instr-generate -fcoverage-mapping)
|
|
add_link_options(-fprofile-instr-generate -fcoverage-mapping)
|
|
|
|
target_compile_options(NoCoverage INTERFACE -fno-profile-generate -fno-profile-instr-use -fno-profile-instr-generate -fno-coverage-mapping)
|
|
target_link_options(NoCoverage INTERFACE -fno-profile-generate -fno-profile-instr-use -fno-profile-instr-generate -fno-coverage-mapping)
|
|
else()
|
|
message(FATAL_ERROR "ENABLE_USERSPACE_COVERAGE_COLLECTION not supported yet for ${CMAKE_CXX_COMPILER_ID}")
|
|
endif()
|
|
endif()
|
|
|
|
add_subdirectory(Applications)
|
|
add_subdirectory(Demos)
|
|
add_subdirectory(DevTools)
|
|
add_subdirectory(DynamicLoader)
|
|
add_subdirectory(Games)
|
|
add_subdirectory(Libraries)
|
|
add_subdirectory(Applets)
|
|
add_subdirectory(Services)
|
|
add_subdirectory(Shell)
|
|
add_subdirectory(Utilities)
|