From 1bfe27a0b3ffcacbe9d1453fc281033f8040bccf Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 30 Apr 2025 19:55:37 +0200 Subject: [PATCH] whisper : add check that target name exists This commit adds a check to makes sure that the target exists before trying to add compile options to ignore warnings when using MSVC. The motivation for this is currently the build is broken depending on the cmake options provided. With this fix it should be possible to build even if the targets are not actually available. Refs: https://github.com/ggml-org/whisper.cpp/pull/3090#issuecomment-2842760104 --- CMakeLists.txt | 4 +++- ggml/CMakeLists.txt | 11 ++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ec750928247..fe82c65d103 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -226,7 +226,9 @@ if (MSVC) /wd4996 # Function or variable may be unsafe/deprecated ) function(disable_msvc_warnings target_name) - target_compile_options(${target_name} PRIVATE ${MSVC_WARNING_FLAGS}) + if(TARGET ${target_name}) + target_compile_options(${target_name} PRIVATE ${MSVC_WARNING_FLAGS}) + endif() endfunction() if (WHISPER_BUILD_EXAMPLES) diff --git a/ggml/CMakeLists.txt b/ggml/CMakeLists.txt index e632af010c7..b463cbd9b3c 100644 --- a/ggml/CMakeLists.txt +++ b/ggml/CMakeLists.txt @@ -368,10 +368,19 @@ if (MSVC) /wd4267 # Conversion from 'size_t' to a smaller type, possible loss of data ) function(disable_msvc_warnings target_name) - target_compile_options(${target_name} PRIVATE ${MSVC_WARNING_FLAGS}) + if(TARGET ${target_name}) + target_compile_options(${target_name} PRIVATE ${MSVC_WARNING_FLAGS}) + endif() endfunction() disable_msvc_warnings(ggml-base) disable_msvc_warnings(ggml) disable_msvc_warnings(ggml-cpu) + disable_msvc_warnings(ggml-cpu-x64) + disable_msvc_warnings(ggml-cpu-sse42) + disable_msvc_warnings(ggml-cpu-sandybridge) + disable_msvc_warnings(ggml-cpu-haswell) + disable_msvc_warnings(ggml-cpu-skylakex) + disable_msvc_warnings(ggml-cpu-icelake) + disable_msvc_warnings(ggml-cpu-alderlake) endif()