From 13d250bf29e2af6988be8e92ebc40cce087e57c9 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 8 May 2025 09:41:29 -0700 Subject: [PATCH] build: simplify the handling for CMP0157 We can use the `CMAKE_Swift_USE_OLD_DRIVER` option to control the behaviour as the issue is related to the old Swift driver. --- CMakeLists.txt | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d99e0379..525fe1292 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,19 +1,11 @@ cmake_minimum_required(VERSION 3.26...3.29) -if(POLICY CMP0157) - if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows AND CMAKE_SYSTEM_NAME STREQUAL Android) - # CMP0157 causes libdispatch to fail to compile when targetting - # Android on Windows due to swift-driver not being present during the - # toolchain build. Disable it for now. - cmake_policy(SET CMP0157 OLD) - else() - # New Swift build model: improved incremental build performance and LSP support - cmake_policy(SET CMP0157 NEW) - endif() -endif() - list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) +if(POLICY CMP0157 AND CMAKE_Swift_COMPILER_USE_OLD_DRIVER) + cmake_policy(SET CMP0157 OLD) +endif() + project(dispatch VERSION 1.3 LANGUAGES C CXX)