mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 11:47:35 +00:00
Lagom: Change to shared library build for all Lagom code
Split the Lagom build into shared libraries to match the Serenity build. This reduces the cognitive load when trying to edit the Lagom CMakeLists significantly. It also reduces the amount of source files that must be compiled to run each test or host program significantly. Also re-organize all the build rules into sections. And reorganize the CMakeLists file in general.
This commit is contained in:
parent
38707f4a20
commit
b6e5117f65
2 changed files with 406 additions and 276 deletions
|
@ -3,60 +3,60 @@ function(add_simple_fuzzer name)
|
|||
|
||||
if (ENABLE_OSS_FUZZ)
|
||||
target_link_libraries(${name}
|
||||
PUBLIC Lagom)
|
||||
PUBLIC {$ARGN} LagomCore)
|
||||
else()
|
||||
target_compile_options(${name}
|
||||
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-g -O1 -fsanitize=fuzzer>
|
||||
)
|
||||
target_link_libraries(${name}
|
||||
PUBLIC Lagom
|
||||
PUBLIC ${ARGN} LagomCore
|
||||
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-fsanitize=fuzzer>
|
||||
)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
add_simple_fuzzer(FuzzBMPLoader)
|
||||
add_simple_fuzzer(FuzzCyrillicDecoder)
|
||||
add_simple_fuzzer(FuzzDeflateCompression)
|
||||
add_simple_fuzzer(FuzzDeflateDecompression)
|
||||
add_simple_fuzzer(FuzzELF)
|
||||
add_simple_fuzzer(FuzzFlacLoader)
|
||||
add_simple_fuzzer(FuzzGemini)
|
||||
add_simple_fuzzer(FuzzGIFLoader)
|
||||
add_simple_fuzzer(FuzzGzipCompression)
|
||||
add_simple_fuzzer(FuzzGzipDecompression)
|
||||
add_simple_fuzzer(FuzzICOLoader)
|
||||
add_simple_fuzzer(FuzzJPGLoader)
|
||||
add_simple_fuzzer(FuzzMD5)
|
||||
add_simple_fuzzer(FuzzPNGLoader)
|
||||
add_simple_fuzzer(FuzzPBMLoader)
|
||||
add_simple_fuzzer(FuzzPGMLoader)
|
||||
add_simple_fuzzer(FuzzPPMLoader)
|
||||
add_simple_fuzzer(FuzzQuotedPrintableParser)
|
||||
add_simple_fuzzer(FuzzHebrewDecoder)
|
||||
add_simple_fuzzer(FuzzHttpRequest)
|
||||
add_simple_fuzzer(FuzzIMAPParser)
|
||||
add_simple_fuzzer(FuzzJs)
|
||||
add_simple_fuzzer(FuzzLatin1Decoder)
|
||||
add_simple_fuzzer(FuzzLatin2Decoder)
|
||||
add_simple_fuzzer(FuzzMarkdown)
|
||||
add_simple_fuzzer(FuzzRegexECMA262)
|
||||
add_simple_fuzzer(FuzzRegexPosixBasic)
|
||||
add_simple_fuzzer(FuzzRegexPosixExtended)
|
||||
add_simple_fuzzer(FuzzSHA1)
|
||||
add_simple_fuzzer(FuzzSHA256)
|
||||
add_simple_fuzzer(FuzzSHA384)
|
||||
add_simple_fuzzer(FuzzSHA512)
|
||||
add_simple_fuzzer(FuzzShell)
|
||||
add_simple_fuzzer(FuzzSQLParser)
|
||||
add_simple_fuzzer(FuzzTTF)
|
||||
add_simple_fuzzer(FuzzBMPLoader LagomGfx)
|
||||
add_simple_fuzzer(FuzzCyrillicDecoder LagomTextCodec)
|
||||
add_simple_fuzzer(FuzzDeflateCompression LagomCompress)
|
||||
add_simple_fuzzer(FuzzDeflateDecompression LagomCompress)
|
||||
add_simple_fuzzer(FuzzELF LagomELF)
|
||||
add_simple_fuzzer(FuzzFlacLoader LagomAudio)
|
||||
add_simple_fuzzer(FuzzGemini LagomGemini)
|
||||
add_simple_fuzzer(FuzzGIFLoader LagomGfx)
|
||||
add_simple_fuzzer(FuzzGzipCompression LagomCompress)
|
||||
add_simple_fuzzer(FuzzGzipDecompression LagomCompress)
|
||||
add_simple_fuzzer(FuzzICOLoader LagomGfx)
|
||||
add_simple_fuzzer(FuzzJPGLoader LagomGfx)
|
||||
add_simple_fuzzer(FuzzMD5 LagomCrypto)
|
||||
add_simple_fuzzer(FuzzPNGLoader LagomGfx)
|
||||
add_simple_fuzzer(FuzzPBMLoader LagomGfx)
|
||||
add_simple_fuzzer(FuzzPGMLoader LagomGfx)
|
||||
add_simple_fuzzer(FuzzPPMLoader LagomGfx)
|
||||
add_simple_fuzzer(FuzzQuotedPrintableParser LagomIMAP)
|
||||
add_simple_fuzzer(FuzzHebrewDecoder LagomTextCodec)
|
||||
add_simple_fuzzer(FuzzHttpRequest LagomHTTP)
|
||||
add_simple_fuzzer(FuzzIMAPParser LagomIMAP)
|
||||
add_simple_fuzzer(FuzzJs LagomJS)
|
||||
add_simple_fuzzer(FuzzLatin1Decoder LagomTextCodec)
|
||||
add_simple_fuzzer(FuzzLatin2Decoder LagomTextCodec)
|
||||
add_simple_fuzzer(FuzzMarkdown LagomMarkdown)
|
||||
add_simple_fuzzer(FuzzRegexECMA262 LagomRegex)
|
||||
add_simple_fuzzer(FuzzRegexPosixBasic LagomRegex)
|
||||
add_simple_fuzzer(FuzzRegexPosixExtended LagomRegex)
|
||||
add_simple_fuzzer(FuzzSHA1 LagomCrypto)
|
||||
add_simple_fuzzer(FuzzSHA256 LagomCrypto)
|
||||
add_simple_fuzzer(FuzzSHA384 LagomCrypto)
|
||||
add_simple_fuzzer(FuzzSHA512 LagomCrypto)
|
||||
add_simple_fuzzer(FuzzShell LagomShell)
|
||||
add_simple_fuzzer(FuzzSQLParser LagomSQL)
|
||||
add_simple_fuzzer(FuzzTTF LagomGfx)
|
||||
add_simple_fuzzer(FuzzURL)
|
||||
add_simple_fuzzer(FuzzUTF16BEDecoder)
|
||||
add_simple_fuzzer(FuzzRSAKeyParsing)
|
||||
add_simple_fuzzer(FuzzWAVLoader)
|
||||
add_simple_fuzzer(FuzzWasmParser)
|
||||
add_simple_fuzzer(FuzzZip)
|
||||
add_simple_fuzzer(FuzzZlibDecompression)
|
||||
add_simple_fuzzer(FuzzUTF16BEDecoder LagomTextCodec)
|
||||
add_simple_fuzzer(FuzzRSAKeyParsing LagomCrypto)
|
||||
add_simple_fuzzer(FuzzWAVLoader LagomAudio)
|
||||
add_simple_fuzzer(FuzzWasmParser LagomWasm)
|
||||
add_simple_fuzzer(FuzzZip LagomArchive)
|
||||
add_simple_fuzzer(FuzzZlibDecompression LagomCompress)
|
||||
|
||||
if (NOT ENABLE_OSS_FUZZ)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${ORIGINAL_CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
|
||||
|
@ -67,7 +67,7 @@ target_compile_options(FuzzilliJs
|
|||
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-g -O1 -fsanitize-coverage=trace-pc-guard>
|
||||
)
|
||||
target_link_libraries(FuzzilliJs
|
||||
PUBLIC Lagom
|
||||
PUBLIC LagomCore LagomJS
|
||||
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-fsanitize-coverage=trace-pc-guard>
|
||||
)
|
||||
endif()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue