Skip to content

Commit fb6b287

Browse files
authored
Remove DXC_BUILD_ARCH variable (#4156)
* Remove DXC_BUILD_ARCH variable This commit simplifies the cross-targeting build support to not require specifying the build architecture explicitly. Instead it is derived from the build tools used in the generation. I've tested this change locally for Win32, x64 and arm64. * Special handling for arm64ec * Bump required CMake to 3.10 CMake 3.10 is very old, but has a feature this PR uses. Raising the requirement should have no impact on our users. * Fix build issues caused by changes in CMake 3.10
1 parent 90b2935 commit fb6b287

7 files changed

Lines changed: 16 additions & 21 deletions

File tree

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# See docs/CMake.html for instructions about how to build LLVM with CMake.
2-
cmake_minimum_required(VERSION 2.8.12.2)
2+
cmake_minimum_required(VERSION 3.10) # HLSL Change - Require CMake 3.10.
33

44
if (NOT "${DXC_CMAKE_BEGINS_INCLUDE}" STREQUAL "")
55
include(${DXC_CMAKE_BEGINS_INCLUDE})

cmake/caches/PredefinedParams.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ set(CLANG_ENABLE_STATIC_ANALYZER OFF CACHE BOOL "")
3131
set(CLANG_INCLUDE_TESTS OFF CACHE BOOL "")
3232
set(HLSL_INCLUDE_TESTS ON CACHE BOOL "")
3333
set(ENABLE_SPIRV_CODEGEN ON CACHE BOOL "")
34-
set(SPIRV_BUILD_TESTS ON CACHE BOOL "")
34+
set(SPIRV_BUILD_TESTS ON CACHE BOOL "")

cmake/modules/FindDiaSDK.cmake

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ find_path(DIASDK_INCLUDE_DIR # Set variable DIASDK_INCLUDE_DIR
2626
)
2727

2828

29-
if ((CMAKE_GENERATOR_PLATFORM STREQUAL "x64") OR ("${DXC_BUILD_ARCH}" STREQUAL "x64"))
29+
if ((CMAKE_GENERATOR_PLATFORM STREQUAL "x64") OR ("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "x64"))
3030
find_library(DIASDK_GUIDS_LIBRARY NAMES diaguids.lib HINTS ${DIASDK_INCLUDE_DIR}/../lib/amd64 )
31-
elseif ((CMAKE_GENERATOR_PLATFORM STREQUAL "ARM") OR ("${DXC_BUILD_ARCH}" STREQUAL "ARM"))
31+
elseif ((CMAKE_GENERATOR_PLATFORM STREQUAL "ARM") OR ("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM"))
3232
find_library(DIASDK_GUIDS_LIBRARY NAMES diaguids.lib HINTS ${DIASDK_INCLUDE_DIR}/../lib/arm )
33-
elseif ((CMAKE_GENERATOR_PLATFORM MATCHES "ARM64.*") OR ("${DXC_BUILD_ARCH}" MATCHES "ARM64.*"))
33+
elseif ((CMAKE_GENERATOR_PLATFORM MATCHES "ARM64.*") OR ("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" MATCHES "ARM64.*"))
3434
find_library(DIASDK_GUIDS_LIBRARY NAMES diaguids.lib HINTS ${DIASDK_INCLUDE_DIR}/../lib/arm64 )
35-
else ((CMAKE_GENERATOR_PLATFORM STREQUAL "x64") OR ("${DXC_BUILD_ARCH}" STREQUAL "x64"))
35+
else ((CMAKE_GENERATOR_PLATFORM STREQUAL "x64") OR ("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "x64"))
3636
find_library(DIASDK_GUIDS_LIBRARY NAMES diaguids.lib HINTS ${DIASDK_INCLUDE_DIR}/../lib )
37-
endif((CMAKE_GENERATOR_PLATFORM STREQUAL "x64") OR ("${DXC_BUILD_ARCH}" STREQUAL "x64"))
37+
endif((CMAKE_GENERATOR_PLATFORM STREQUAL "x64") OR ("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "x64"))
3838

3939
set(DIASDK_LIBRARIES ${DIASDK_GUIDS_LIBRARY})
4040
set(DIASDK_INCLUDE_DIRS ${DIASDK_INCLUDE_DIR})

cmake/modules/FindTAEF.cmake

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,11 @@ macro(find_taef_libraries targetplatform)
2727
set(TAEF_COMMON_LIBRARY ${TAEF_LIB_Te.Common.lib})
2828
endmacro(find_taef_libraries)
2929

30-
if ("${DXC_BUILD_ARCH}" STREQUAL "x64" )
31-
find_taef_libraries(x64)
32-
elseif (CMAKE_GENERATOR MATCHES "Visual Studio.*ARM" OR "${DXC_BUILD_ARCH}" STREQUAL "ARM")
33-
find_taef_libraries(arm)
34-
elseif (CMAKE_GENERATOR MATCHES "Visual Studio.*ARM64" OR "${DXC_BUILD_ARCH}" MATCHES "ARM64.*")
30+
if(CMAKE_C_COMPILER_ARCHITECTURE_ID STREQUAL "ARM64EC")
3531
find_taef_libraries(arm64)
36-
elseif ("${DXC_BUILD_ARCH}" STREQUAL "Win32" )
37-
find_taef_libraries(x86)
38-
endif ("${DXC_BUILD_ARCH}" STREQUAL "x64" )
32+
else()
33+
find_taef_libraries(${CMAKE_C_COMPILER_ARCHITECTURE_ID})
34+
endif()
3935

4036
set(TAEF_INCLUDE_DIRS ${TAEF_INCLUDE_DIR})
4137

cmake/modules/HandleLLVMOptions.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -551,14 +551,14 @@ add_llvm_definitions( -D__STDC_LIMIT_MACROS )
551551

552552
# clang doesn't print colored diagnostics when invoked from Ninja
553553
if (UNIX AND
554-
CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
554+
CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND # HLSL Change - Update to CMake 3.13.4
555555
CMAKE_GENERATOR STREQUAL "Ninja")
556556
append("-fcolor-diagnostics" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
557557
endif()
558558

559559
# HLSL Change Starts
560560
# Enable -fms-extensions for clang to use MS uuid extensions for COM.
561-
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
561+
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
562562
append("-fms-extensions -Wno-language-extension-token" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
563563
endif()
564564
# HLSL Change Ends

tools/clang/tools/dotnetc/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} )
44
file(TO_NATIVE_PATH "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" DOS_STYLE_OUTPUT_DIRECTORY)
55
file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" DOS_STYLE_SOURCE_DIR)
66

7-
if (DXC_BUILD_ARCH MATCHES "x64" )
7+
if (CMAKE_C_COMPILER_ARCHITECTURE_ID MATCHES "x64" )
88
set ( DOTNET_PLATFORM_TARGET "x64" )
99
elseif (CMAKE_GENERATOR STREQUAL "Visual Studio 12" )
1010
set ( DOTNET_PLATFORM_TARGET "x86" )
11-
else (DXC_BUILD_ARCH MATCHES "x64" )
11+
else ()
1212
set ( DOTNET_PLATFORM_TARGET "AnyCPU" )
13-
endif (DXC_BUILD_ARCH MATCHES "x64" )
13+
endif ()
1414

1515
configure_file(dndxc.csproj.txt dndxc.csproj)
1616

utils/hct/hctbuild.cmd

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,6 @@ set CMAKE_OPTS=%CMAKE_OPTS% -DCLANG_BUILD_EXAMPLES:BOOL=OFF
322322
set CMAKE_OPTS=%CMAKE_OPTS% -DLLVM_REQUIRES_RTTI:BOOL=ON
323323
set CMAKE_OPTS=%CMAKE_OPTS% -DCLANG_CL:BOOL=OFF
324324
set CMAKE_OPTS=%CMAKE_OPTS% -DCMAKE_SYSTEM_VERSION=%DXC_CMAKE_SYSTEM_VERSION%
325-
set CMAKE_OPTS=%CMAKE_OPTS% -DDXC_BUILD_ARCH=%BUILD_ARCH%
326325

327326
rem ARM cross-compile setup
328327
if %BUILD_ARM_CROSSCOMPILING% == 0 goto :after-cross-compile

0 commit comments

Comments
 (0)