This reverts commitd763c6e5e2. Adds the patch by @hans from https://github.com/llvm/llvm-project/issues/62719 This patch fixes the Windows build.d763c6e5e2reverted the reviews D144509 [CMake] Bumps minimum version to 3.20.0. This partly undoes D137724. This change has been discussed on discourse https://discourse.llvm.org/t/rfc-upgrading-llvms-minimum-required-cmake-version/66193 Note this does not remove work-arounds for older CMake versions, that will be done in followup patches. D150532 [OpenMP] Compile assembly files as ASM, not C Since CMake 3.20, CMake explicitly passes "-x c" (or equivalent) when compiling a file which has been set as having the language C. This behaviour change only takes place if "cmake_minimum_required" is set to 3.20 or newer, or if the policy CMP0119 is set to new. Attempting to compile assembly files with "-x c" fails, however this is workarounded in many cases, as OpenMP overrides this with "-x assembler-with-cpp", however this is only added for non-Windows targets. Thus, after increasing cmake_minimum_required to 3.20, this breaks compiling the GNU assembly for Windows targets; the GNU assembly is used for ARM and AArch64 Windows targets when building with Clang. This patch unbreaks that. D150688 [cmake] Set CMP0091 to fix Windows builds after the cmake_minimum_required bump The build uses other mechanism to select the runtime. Fixes #62719 Reviewed By: #libc, Mordante Differential Revision: https://reviews.llvm.org/D151344
31 lines
766 B
CMake
31 lines
766 B
CMake
cmake_minimum_required(VERSION 3.20.0)
|
|
|
|
project(Debugserver LANGUAGES C CXX ASM-ATT)
|
|
|
|
# Must go below project(..)
|
|
include(GNUInstallDirs)
|
|
|
|
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
|
set(LLDB_BUILT_STANDALONE TRUE)
|
|
|
|
set(CMAKE_MODULE_PATH
|
|
${CMAKE_MODULE_PATH}
|
|
"${CMAKE_SOURCE_DIR}/../../cmake"
|
|
"${CMAKE_SOURCE_DIR}/../../cmake/modules"
|
|
)
|
|
|
|
include(LLDBStandalone)
|
|
include(debugserverConfig)
|
|
include(AddLLDB)
|
|
|
|
set(LLDB_SOURCE_DIR "${CMAKE_SOURCE_DIR}/../../")
|
|
include_directories(${LLDB_SOURCE_DIR}/include)
|
|
endif()
|
|
|
|
# debugserver contains ObjC++ code, so let's disable Clang modules
|
|
# in this subdirectory to avoid building ObjC++ modules (which often
|
|
# doesn't properly work).
|
|
remove_module_flags()
|
|
|
|
add_subdirectory(source)
|