summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Kaster <akaster@serenityos.org>2021-08-01 04:37:28 -0600
committerGunnar Beutner <gunnar@beutner.name>2021-08-02 09:05:28 +0200
commit40b0767d88b437e3cfcf2279ed57d979cac8b92d (patch)
treec6cc9af6c05939d3f278a7c87e2ff32831184d5e
parent845d403b8c175ff99793239404ca8657d95da104 (diff)
downloadserenity-40b0767d88b437e3cfcf2279ed57d979cac8b92d.zip
Meta: Add BUILD_SHARED_LIBS option for Lagom builds
This standard CMake option controls whether add_library() calls will use STATIC or SHARED by default. The flag is set to on by default since that's what we want for normal CI jobs and local builds and the test262 runner, but disabled for oss-fuzz builds. This should finally fix the oss-fuzz build after it was broken in #9017 oss-fuzz un-breakage was verified by running the following commands in the oss-fuzz repo: python infra/helper.py build_image serenity python infra/helper.py build_fuzzers --sanitizer address --engine afl \ --architecture x86_64 serenity /path/to/local/checkout/Meta/Lagom python infra/helper.py check_build --sanitizer address --engine afl \ --architecture x86_64 serenity
-rw-r--r--Meta/Lagom/CMakeLists.txt10
1 files changed, 6 insertions, 4 deletions
diff --git a/Meta/Lagom/CMakeLists.txt b/Meta/Lagom/CMakeLists.txt
index 6a55a6544f..879e723f6d 100644
--- a/Meta/Lagom/CMakeLists.txt
+++ b/Meta/Lagom/CMakeLists.txt
@@ -8,6 +8,11 @@ project(
LANGUAGES C CXX
)
+option(BUILD_SHARED_LIBS "Build shared libraries instead of static libraries" ON)
+if (ENABLE_OSS_FUZZ)
+ set(BUILD_SHARED_LIBS OFF) # Don't use shared libraries on oss-fuzz, for ease of integration with their infrastructure
+endif()
+
# This is required for CMake (when invoked for a Lagom-only build) to
# ignore any files downloading during the build, e.g. UnicodeData.txt.
# https://cmake.org/cmake/help/latest/policy/CMP0058.html
@@ -142,10 +147,8 @@ endif()
function(lagom_lib library fs_name)
cmake_parse_arguments(LAGOM_LIBRARY "" "" "SOURCES;LIBS" ${ARGN})
- # FIXME: Consider whether to care about -DBUILD_SHARED_LIBS=OFF
- # Possibly a cmake presets value?
set(target_name "Lagom${library}")
- add_library(${target_name} SHARED ${LAGOM_LIBRARY_SOURCES})
+ add_library(${target_name} ${LAGOM_LIBRARY_SOURCES})
# alias for pretty exports
add_library(Lagom::${library} ALIAS ${target_name})
@@ -422,7 +425,6 @@ if (BUILD_LAGOM)
list(FILTER LIBTEST_SOURCES EXCLUDE REGEX ".*Main.cpp$")
add_library(
LagomTest
- SHARED
${LIBTEST_SOURCES}
)
target_link_libraries(LagomTest LagomCore)