From 42b02f5185393e5f71abaa4c532684de3569be85 Mon Sep 17 00:00:00 2001 From: Nick Terrell Date: Mon, 18 Mar 2024 09:28:06 -0700 Subject: [cmake] Emit warnings for contradictory build settings Document that the `ZSTD_BUILD_{SHARED,STATIC}` take precedence over `BUILD_SHARED_LIBS` when exactly one is ON. Thanks to @teo-tsirpanis for pointing out the potentially confusing behavior. --- build/cmake/lib/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index eb21b8b3..5d514ccb 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -152,11 +152,17 @@ if (ZSTD_BUILD_STATIC) add_definition(libzstd_static ZDICTLIB_STATIC_API) endif () if (ZSTD_BUILD_SHARED AND NOT ZSTD_BUILD_STATIC) + if (NOT BUILD_SHARED_LIBS) + message(WARNING "BUILD_SHARED_LIBS is OFF, but ZSTD_BUILD_SHARED is ON and ZSTD_BUILD_STATIC is OFF, which takes precedence, so libzstd is a shared library") + endif () add_library(libzstd INTERFACE) target_link_libraries(libzstd INTERFACE libzstd_shared) list(APPEND library_targets libzstd) endif () if (ZSTD_BUILD_STATIC AND NOT ZSTD_BUILD_SHARED) + if (BUILD_SHARED_LIBS) + message(WARNING "BUILD_SHARED_LIBS is ON, but ZSTD_BUILD_SHARED is OFF and ZSTD_BUILD_STATIC is ON, which takes precedence, is set so libzstd is a static library") + endif () add_library(libzstd INTERFACE) target_link_libraries(libzstd INTERFACE libzstd_static) list(APPEND library_targets libzstd) -- cgit v1.2.3