diff --git a/.ci/manywheel/build_common.sh b/.ci/manywheel/build_common.sh index f70b8df4149c..ec822b0cd4af 100644 --- a/.ci/manywheel/build_common.sh +++ b/.ci/manywheel/build_common.sh @@ -31,6 +31,7 @@ elif [[ "$OS_NAME" == *"Ubuntu"* ]]; then # Comment out nvidia repositories to prevent them from getting apt-get updated, see https://github.com/pytorch/pytorch/issues/74968 # shellcheck disable=SC2046 sed -i 's/.*nvidia.*/# &/' $(find /etc/apt/ -type f -name "*.list") + retry apt-get update retry apt-get -y install zip openssl else @@ -97,7 +98,6 @@ if [[ -z "$PYTORCH_ROOT" ]]; then exit 1 fi pushd "$PYTORCH_ROOT" -retry pip install -q cmake python setup.py clean retry pip install -qr requirements.txt case ${DESIRED_PYTHON} in diff --git a/.ci/manywheel/build_libtorch.sh b/.ci/manywheel/build_libtorch.sh index e9ab620475d1..8f70210dd5b6 100644 --- a/.ci/manywheel/build_libtorch.sh +++ b/.ci/manywheel/build_libtorch.sh @@ -92,7 +92,6 @@ if [[ -z "$PYTORCH_ROOT" ]]; then exit 1 fi pushd "$PYTORCH_ROOT" -retry pip install -q cmake python setup.py clean retry pip install -qr requirements.txt retry pip install -q numpy==2.0.1 diff --git a/.ci/pytorch/windows/arm64/build_libtorch.bat b/.ci/pytorch/windows/arm64/build_libtorch.bat index 16df8fec70b6..1ac14ff69773 100644 --- a/.ci/pytorch/windows/arm64/build_libtorch.bat +++ b/.ci/pytorch/windows/arm64/build_libtorch.bat @@ -2,8 +2,8 @@ :: environment variables set CMAKE_BUILD_TYPE=%BUILD_TYPE% -:: set CMAKE_C_COMPILER_LAUNCHER=sccache -:: set CMAKE_CXX_COMPILER_LAUNCHER=sccache +set CMAKE_C_COMPILER_LAUNCHER=sccache +set CMAKE_CXX_COMPILER_LAUNCHER=sccache set libuv_ROOT=%DEPENDENCIES_DIR%\libuv\install set MSSdk=1 if defined PYTORCH_BUILD_VERSION ( @@ -43,10 +43,9 @@ pip install -r requirements.txt set DISTUTILS_USE_SDK=1 :: start sccache server and reset sccache stats -:: disable sccache because of debug file bug -:: sccache --start-server -:: sccache --zero-stats -:: sccache --show-stats +sccache --start-server +sccache --zero-stats +sccache --show-stats :: Prepare the environment mkdir libtorch @@ -99,4 +98,4 @@ rmdir /s /q libtorch if %errorlevel% neq 0 ( echo "Failed on build_libtorch. (exitcode = %errorlevel%)" exit /b 1 -) +) \ No newline at end of file diff --git a/.github/requirements/pip-requirements-macOS.txt b/.github/requirements/pip-requirements-macOS.txt index dbed4174fb49..f32eb1784d52 100644 --- a/.github/requirements/pip-requirements-macOS.txt +++ b/.github/requirements/pip-requirements-macOS.txt @@ -1,5 +1,5 @@ boto3==1.35.42 -cmake==3.27.* +cmake==3.25.* expecttest==0.3.0 fbscribelogger==0.1.7 filelock==3.6.0 diff --git a/CMakeLists.txt b/CMakeLists.txt index ec6e82a2ddd5..2b479073f3a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.27 FATAL_ERROR) +cmake_minimum_required(VERSION 3.18 FATAL_ERROR) # cmake_policy(SET CMP0022 NEW) cmake_policy(SET CMP0023 NEW) # Use compiler ID "AppleClang" instead of "Clang" for XCode. Not setting this @@ -6,7 +6,6 @@ cmake_minimum_required(VERSION 3.27 FATAL_ERROR) # one is detected as "AppleClang". cmake_policy(SET CMP0010 NEW) cmake_policy(SET CMP0025 NEW) -cmake_policy(SET CMP0126 OLD) # Enables CMake to set LTO on compilers other than Intel. cmake_policy(SET CMP0069 NEW) diff --git a/aten/src/ATen/CMakeLists.txt b/aten/src/ATen/CMakeLists.txt index becfcee442d1..7de393974472 100644 --- a/aten/src/ATen/CMakeLists.txt +++ b/aten/src/ATen/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.27 FATAL_ERROR) +cmake_minimum_required(VERSION 3.18 FATAL_ERROR) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) if(NOT MSVC) diff --git a/aten/src/ATen/native/quantized/cpu/qnnpack/deps/clog/CMakeLists.txt b/aten/src/ATen/native/quantized/cpu/qnnpack/deps/clog/CMakeLists.txt index 979af29f723d..af31056c4430 100644 --- a/aten/src/ATen/native/quantized/cpu/qnnpack/deps/clog/CMakeLists.txt +++ b/aten/src/ATen/native/quantized/cpu/qnnpack/deps/clog/CMakeLists.txt @@ -4,7 +4,7 @@ # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. -cmake_minimum_required(VERSION 3.27 FATAL_ERROR) +cmake_minimum_required(VERSION 3.18 FATAL_ERROR) include(GNUInstallDirs) diff --git a/c10/CMakeLists.txt b/c10/CMakeLists.txt index 8e9d267352dd..f00c662e70e0 100644 --- a/c10/CMakeLists.txt +++ b/c10/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.27 FATAL_ERROR) +cmake_minimum_required(VERSION 3.18 FATAL_ERROR) project(c10 CXX) set(CMAKE_CXX_STANDARD 17 CACHE STRING "The C++ standard whose features are requested to build this target.") diff --git a/cmake/ProtoBuf.cmake b/cmake/ProtoBuf.cmake index 1c8fc865c9ae..4c436dcd6451 100644 --- a/cmake/ProtoBuf.cmake +++ b/cmake/ProtoBuf.cmake @@ -34,29 +34,6 @@ macro(custom_protobuf_find) set(CMAKE_POSITION_INDEPENDENT_CODE ON) if(MSVC) - foreach( - flag_var - CMAKE_C_FLAGS - CMAKE_C_FLAGS_DEBUG - CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_MINSIZEREL - CMAKE_C_FLAGS_RELWITHDEBINFO - CMAKE_CXX_FLAGS - CMAKE_CXX_FLAGS_DEBUG - CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_MINSIZEREL - CMAKE_CXX_FLAGS_RELWITHDEBINFO) - # Replace /Zi and /ZI with /Z7 - if(MSVC_Z7_OVERRIDE) - if(${flag_var} MATCHES "/Z[iI]") - string(REGEX REPLACE "/Z[iI]" "/Z7" ${flag_var} "${${flag_var}}") - endif() - if(${flag_var} MATCHES "[-]Zi") - string(REGEX REPLACE "[-Zi]" "/Z7" ${flag_var} "${${flag_var}}") - endif() - endif(MSVC_Z7_OVERRIDE) - endforeach(flag_var) - foreach(flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL) @@ -64,24 +41,15 @@ macro(custom_protobuf_find) string(REGEX REPLACE "/Z[iI7]" "" ${flag_var} "${${flag_var}}") endif() endforeach(flag_var) - - foreach( - flag_var - CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO - CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO - CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO - CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO - CMAKE_SHARED_LINKER_FLAGS_DEBUG - CMAKE_STATIC_LINKER_FLAGS_DEBUG - CMAKE_EXE_LINKER_FLAGS_DEBUG - CMAKE_MODULE_LINKER_FLAGS_DEBUG) - # Switch off incremental linking in debug/relwithdebinfo builds - if(${flag_var} MATCHES "/INCREMENTAL" AND NOT ${flag_var} MATCHES - "/INCREMENTAL:NO") - string(REGEX REPLACE "/INCREMENTAL" "/INCREMENTAL:NO" ${flag_var} - "${${flag_var}}") - endif() - endforeach(flag_var) + if(MSVC_Z7_OVERRIDE) + foreach(flag_var + CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELWITHDEBINFO) + if(${flag_var} MATCHES "/Z[iI]") + string(REGEX REPLACE "/Z[iI]" "/Z7" ${flag_var} "${${flag_var}}") + endif() + endforeach(flag_var) + endif(MSVC_Z7_OVERRIDE) endif(MSVC) if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0.0") diff --git a/test/edge/CMakeLists.txt b/test/edge/CMakeLists.txt index 1d7c8852fb50..985b77202485 100644 --- a/test/edge/CMakeLists.txt +++ b/test/edge/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.18) +cmake_minimum_required(VERSION 3.15) set(TORCH_ROOT ${CMAKE_CURRENT_LIST_DIR}/../..) set(TEST_ROOT ${TORCH_ROOT}/test/edge) diff --git a/tools/setup_helpers/cmake.py b/tools/setup_helpers/cmake.py index 678ba7ab207c..1fd7377cb07d 100644 --- a/tools/setup_helpers/cmake.py +++ b/tools/setup_helpers/cmake.py @@ -60,15 +60,12 @@ class CMake: cmake3_version = CMake._get_version(which("cmake3")) cmake_version = CMake._get_version(which("cmake")) - _cmake_min_version = LooseVersion("3.27.0") + _cmake_min_version = LooseVersion("3.18.0") if all( ver is None or ver < _cmake_min_version for ver in [cmake_version, cmake3_version] ): - raise RuntimeError( - "no cmake or cmake3 with version >= 3.27.0 found:" - + str([cmake_version, cmake3_version]) - ) + raise RuntimeError("no cmake or cmake3 with version >= 3.18.0 found") if cmake3_version is None: cmake_command = "cmake" diff --git a/torch/CMakeLists.txt b/torch/CMakeLists.txt index b07ba2a2d359..0da483c09743 100644 --- a/torch/CMakeLists.txt +++ b/torch/CMakeLists.txt @@ -2,7 +2,7 @@ # Now it only builds the Torch python bindings. if(NOT CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO) - cmake_minimum_required(VERSION 3.27 FATAL_ERROR) + cmake_minimum_required(VERSION 3.18 FATAL_ERROR) project(torch CXX C) find_package(torch REQUIRED) option(USE_CUDA "Use CUDA" ON) diff --git a/torch/_inductor/cpp_builder.py b/torch/_inductor/cpp_builder.py index 29f95df11e0b..20a7c77c9e9b 100644 --- a/torch/_inductor/cpp_builder.py +++ b/torch/_inductor/cpp_builder.py @@ -1729,7 +1729,7 @@ class CppBuilder: definitions = " ".join(self._build_option.get_definitions()) contents = textwrap.dedent( f""" - cmake_minimum_required(VERSION 3.27 FATAL_ERROR) + cmake_minimum_required(VERSION 3.18 FATAL_ERROR) project(aoti_model LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) diff --git a/torch/lib/libshm/CMakeLists.txt b/torch/lib/libshm/CMakeLists.txt index c3cd26fea7bf..8a7329ddab77 100644 --- a/torch/lib/libshm/CMakeLists.txt +++ b/torch/lib/libshm/CMakeLists.txt @@ -1,5 +1,5 @@ project(libshm C CXX) -cmake_minimum_required(VERSION 3.27 FATAL_ERROR) +cmake_minimum_required(VERSION 3.18 FATAL_ERROR) set(TORCH_ROOT ${CMAKE_CURRENT_LIST_DIR}/../../../)