diff --git a/CMakeLists.txt b/CMakeLists.txt index 4acdf4f9857..788a5f37bc7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.2 FATAL_ERROR) #cmake_policy(SET CMP0022 NEW) #cmake_policy(SET CMP0023 NEW) @@ -110,9 +110,10 @@ if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8.0 endif() # ---[ Build flags -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11") +set(CMAKE_C_STANDARD 99) +set(CMAKE_CXX_STANDARD 11) if(NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2 -fPIC") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -fPIC") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-narrowing") # Eigen fails to build with some versions, so convert this to a warning # Details at http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1459 diff --git a/cmake/External/nccl.cmake b/cmake/External/nccl.cmake index 6d4a02dbe81..5725c1cc95f 100644 --- a/cmake/External/nccl.cmake +++ b/cmake/External/nccl.cmake @@ -20,32 +20,18 @@ if (NOT __NCCL_INCLUDED) set(NCCL_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${NCCL_EXTRA_COMPILER_FLAGS}) set(NCCL_C_FLAGS ${CMAKE_C_FLAGS} ${NCCL_EXTRA_COMPILER_FLAGS}) - if(${CMAKE_VERSION} VERSION_LESS "3.2") - ExternalProject_Add(nccl_external - SOURCE_DIR ${nccl_PREFIX} - BUILD_IN_SOURCE 1 - CONFIGURE_COMMAND "" - BUILD_COMMAND - make - "CXX=${CMAKE_CXX_COMPILER}" - "CUDA_HOME=${CUDA_TOOLKIT_ROOT_DIR}" - "NVCC=${CUDA_NVCC_EXECUTABLE}" - INSTALL_COMMAND "" - ) - else() - ExternalProject_Add(nccl_external - SOURCE_DIR ${nccl_PREFIX} - BUILD_IN_SOURCE 1 - CONFIGURE_COMMAND "" - BUILD_COMMAND - make - "CXX=${CMAKE_CXX_COMPILER}" - "CUDA_HOME=${CUDA_TOOLKIT_ROOT_DIR}" - "NVCC=${CUDA_NVCC_EXECUTABLE}" - BUILD_BYPRODUCTS "${nccl_PREFIX}/build/lib/libnccl_static.a" - INSTALL_COMMAND "" - ) - endif() + ExternalProject_Add(nccl_external + SOURCE_DIR ${nccl_PREFIX} + BUILD_IN_SOURCE 1 + CONFIGURE_COMMAND "" + BUILD_COMMAND + make + "CXX=${CMAKE_CXX_COMPILER}" + "CUDA_HOME=${CUDA_TOOLKIT_ROOT_DIR}" + "NVCC=${CUDA_NVCC_EXECUTABLE}" + BUILD_BYPRODUCTS "${nccl_PREFIX}/build/lib/libnccl_static.a" + INSTALL_COMMAND "" + ) set(NCCL_FOUND TRUE) add_library(__caffe2_nccl INTERFACE) diff --git a/cmake/Modules_CUDA_fix/FindCUDA.cmake b/cmake/Modules_CUDA_fix/FindCUDA.cmake index 9176db4c999..8a46192d5be 100644 --- a/cmake/Modules_CUDA_fix/FindCUDA.cmake +++ b/cmake/Modules_CUDA_fix/FindCUDA.cmake @@ -1284,11 +1284,6 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files) set(_target_is_phony false) endif() - # If CMake doesn't support separable compilation, complain - if(CUDA_SEPARABLE_COMPILATION AND CMAKE_VERSION VERSION_LESS "2.8.10.1") - message(SEND_ERROR "CUDA_SEPARABLE_COMPILATION isn't supported for CMake versions less than 2.8.10.1") - endif() - # Set up all the command line flags here, so that they can be overridden on a per target basis. set(nvcc_flags "")