From dff70a5e1a6e7a184a2e75c1b22a8e0ce0944b41 Mon Sep 17 00:00:00 2001 From: Tongliang Liao Date: Wed, 13 Jul 2022 14:21:27 +0000 Subject: [PATCH] Make language std configurable. (#75519) RocksDB 7 starts to use C++17 in header. We should make this configurable, in case user needs higher std version. List of files to changed is found by `git grep 'CMAKE_[^_]*_STANDARD'`. Doc string is from CMake code. Pull Request resolved: https://github.com/pytorch/pytorch/pull/75519 Approved by: https://github.com/malfet --- CMakeLists.txt | 4 ++-- android/pytorch_android/CMakeLists.txt | 2 +- android/pytorch_android_torchvision/CMakeLists.txt | 2 +- android/test_app/app/CMakeLists.txt | 2 +- aten/src/ATen/nnapi/CMakeLists.txt | 2 +- c10/CMakeLists.txt | 2 +- cmake/Dependencies.cmake | 4 ++-- test/mobile/custom_build/CMakeLists.txt | 2 +- torch/lib/libshm/CMakeLists.txt | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dbc49a5e9319..38a430ee7287 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,8 +37,8 @@ if(env_cxx_standard GREATER -1) WARNING "C++ standard version definition detected in environment variable." "PyTorch requires -std=c++14. Please remove -std=c++ settings in your environment.") endif() -set(CMAKE_CXX_STANDARD 14) -set(CMAKE_C_STANDARD 11) +set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ standard whose features are requested to build this target.") +set(CMAKE_C_STANDARD 11 CACHE STRING "The C standard whose features are requested to build this target.") if(DEFINED GLIBCXX_USE_CXX11_ABI) if(${GLIBCXX_USE_CXX11_ABI} EQUAL 1) diff --git a/android/pytorch_android/CMakeLists.txt b/android/pytorch_android/CMakeLists.txt index 4d1bf714a45f..ad2647c2f4df 100644 --- a/android/pytorch_android/CMakeLists.txt +++ b/android/pytorch_android/CMakeLists.txt @@ -14,7 +14,7 @@ endif() include(GNUInstallDirs) -set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ standard whose features are requested to build this target.") set(CMAKE_VERBOSE_MAKEFILE ON) message(STATUS "ANDROID_STL:${ANDROID_STL}") diff --git a/android/pytorch_android_torchvision/CMakeLists.txt b/android/pytorch_android_torchvision/CMakeLists.txt index 788e09bcc8e9..08de7cebde49 100644 --- a/android/pytorch_android_torchvision/CMakeLists.txt +++ b/android/pytorch_android_torchvision/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.4.1) project(pytorch_vision_jni CXX) -set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ standard whose features are requested to build this target.") set(CMAKE_VERBOSE_MAKEFILE ON) set(pytorch_vision_cpp_DIR ${CMAKE_CURRENT_LIST_DIR}/src/main/cpp) diff --git a/android/test_app/app/CMakeLists.txt b/android/test_app/app/CMakeLists.txt index 1094223b4c99..457ccbe189bd 100644 --- a/android/test_app/app/CMakeLists.txt +++ b/android/test_app/app/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.4.1) set(PROJECT_NAME pytorch_testapp_jni) project(${PROJECT_NAME} CXX) -set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ standard whose features are requested to build this target.") set(CMAKE_VERBOSE_MAKEFILE ON) set(build_DIR ${CMAKE_SOURCE_DIR}/build) diff --git a/aten/src/ATen/nnapi/CMakeLists.txt b/aten/src/ATen/nnapi/CMakeLists.txt index 01324049bde6..065729e5c887 100644 --- a/aten/src/ATen/nnapi/CMakeLists.txt +++ b/aten/src/ATen/nnapi/CMakeLists.txt @@ -3,7 +3,7 @@ if(PYTORCH_NNAPI_STANDALONE) cmake_minimum_required(VERSION 3.5 FATAL_ERROR) project(pytorch_nnapi) - set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ standard whose features are requested to build this target.") find_package(Torch REQUIRED) set(NNAPI_SRCS diff --git a/c10/CMakeLists.txt b/c10/CMakeLists.txt index 84e4b0712ee4..5f1b9777a120 100644 --- a/c10/CMakeLists.txt +++ b/c10/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.10 FATAL_ERROR) project(c10 CXX) -set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ standard whose features are requested to build this target.") set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # Main build file for the C10 library. diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake index 011ae9f6e6ac..a3c82524ce5b 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -1654,14 +1654,14 @@ if(NOT INTERN_BUILD_MOBILE) if(CMAKE_VERSION VERSION_LESS "3.1") set(CMAKE_C_FLAGS "-std=c11 ${CMAKE_C_FLAGS}") else() - set(CMAKE_C_STANDARD 11) + set(CMAKE_C_STANDARD 11 CACHE STRING "The C standard whose features are requested to build this target.") endif() endif() string(APPEND CMAKE_CUDA_FLAGS " -Wno-deprecated-gpu-targets --expt-extended-lambda") if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ standard whose features are requested to build this target.") endif() # use cub in a safe manner, see: diff --git a/test/mobile/custom_build/CMakeLists.txt b/test/mobile/custom_build/CMakeLists.txt index 339ee953f7ec..521569176c30 100644 --- a/test/mobile/custom_build/CMakeLists.txt +++ b/test/mobile/custom_build/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.1) project(custom_build_project) -set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ standard whose features are requested to build this target.") # Find torch library find_package(Torch REQUIRED) diff --git a/torch/lib/libshm/CMakeLists.txt b/torch/lib/libshm/CMakeLists.txt index 1022ce84c339..6ee75c888884 100644 --- a/torch/lib/libshm/CMakeLists.txt +++ b/torch/lib/libshm/CMakeLists.txt @@ -19,7 +19,7 @@ endif(MSVC) if(CMAKE_VERSION VERSION_LESS "3.1") set(CMAKE_CXX_FLAGS "-std=c++14 ${CMAKE_CXX_FLAGS}") else() - set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ standard whose features are requested to build this target.") endif() add_library(shm SHARED core.cpp)