[cmake] A few fixes to make the !BUILD_SHARED_LIBS work. Dependencies were missing on a few targets and the WGPU_SHARED_LIBRARY definition was propagated only from dawn_proc and not from dawn_headers that use that definition. Bug: Change-Id: I4ee066a0b300783dedb3e4ee4bd32dd476a8611e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/254355 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn/CMakeLists.txt b/src/dawn/CMakeLists.txt index 8ca696d..fd2d98f 100644 --- a/src/dawn/CMakeLists.txt +++ b/src/dawn/CMakeLists.txt
@@ -46,6 +46,10 @@ dawn_public_config ) +if(BUILD_SHARED_LIBS) + target_compile_definitions(dawn_headers INTERFACE "WGPU_SHARED_LIBRARY") +endif() + if (EMSCRIPTEN) add_library(webgpu_c ALIAS emdawnwebgpu_c) else() @@ -134,9 +138,6 @@ dawn::dawn_common ) target_compile_definitions(dawn_proc PRIVATE "WGPU_IMPLEMENTATION") - if(BUILD_SHARED_LIBS) - target_compile_definitions(dawn_proc PUBLIC "WGPU_SHARED_LIBRARY") - endif() endif() ###############################################################################
diff --git a/src/dawn/common/CMakeLists.txt b/src/dawn/common/CMakeLists.txt index 9c3e4a2..a4bbd58 100644 --- a/src/dawn/common/CMakeLists.txt +++ b/src/dawn/common/CMakeLists.txt
@@ -151,7 +151,6 @@ ) endif() - if (CMAKE_SYSTEM_NAME STREQUAL "Android") find_library(log_lib log) list(APPEND conditional_private_depends @@ -179,6 +178,7 @@ webgpu_c webgpu_cpp PRIVATE_DEPENDS + absl::flat_hash_set absl::inlined_vector absl::no_destructor absl::overload
diff --git a/src/dawn/utils/CMakeLists.txt b/src/dawn/utils/CMakeLists.txt index fa0983f..0f4cbda 100644 --- a/src/dawn/utils/CMakeLists.txt +++ b/src/dawn/utils/CMakeLists.txt
@@ -88,6 +88,7 @@ "TestUtils.cpp" "WireHelper.cpp" DEPENDS + dawn_wgpu_utils webgpu_cpp dawn::dawn_common dawn::dawn_wire