mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-05 01:49:02 +00:00
cmake: set c++14 as minimum c++ rev
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
This commit is contained in:
parent
037bd24e7f
commit
bbe36d8c33
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
# * .gitlab/ci/docker/centos7/cuda10.2/
|
# * .gitlab/ci/docker/centos7/cuda10.2/
|
||||||
# - cuda
|
# - cuda
|
||||||
# - gcc 4.8.5
|
# - gcc 7.3.1
|
||||||
# * .gitlab/ci/docker/centos8/base/
|
# * .gitlab/ci/docker/centos8/base/
|
||||||
# - gcc 8.3.1
|
# - gcc 8.3.1
|
||||||
# - clang 8.0.1
|
# - clang 8.0.1
|
||||||
@ -13,7 +13,7 @@
|
|||||||
# - cuda
|
# - cuda
|
||||||
# - gcc 8.2.1
|
# - gcc 8.2.1
|
||||||
# * .gitlab/ci/docker/ubuntu1604/base/
|
# * .gitlab/ci/docker/ubuntu1604/base/
|
||||||
# - gcc 4.8
|
# - gcc 5.4.0
|
||||||
# - clang 3.8
|
# - clang 3.8
|
||||||
# - clang 5.0
|
# - clang 5.0
|
||||||
# - tbb
|
# - tbb
|
||||||
@ -51,7 +51,7 @@
|
|||||||
GIT_CLONE_PATH: $CI_BUILDS_DIR/gitlab-kitware-sciviz-ci
|
GIT_CLONE_PATH: $CI_BUILDS_DIR/gitlab-kitware-sciviz-ci
|
||||||
|
|
||||||
.centos7: ¢os7
|
.centos7: ¢os7
|
||||||
image: "kitware/vtkm:ci-centos7_cuda10.2-20201016"
|
image: "kitware/vtkm:ci-centos7_cuda10.2-20210128"
|
||||||
extends:
|
extends:
|
||||||
- .docker_image
|
- .docker_image
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
# Build on centos7 with CUDA and test on rhel8 and centos7
|
# Build on centos7 with CUDA and test on rhel8 and centos7
|
||||||
# gcc 4.8
|
# gcc 7.3.1
|
||||||
build:centos7_gcc48:
|
build:centos7_gcc73:
|
||||||
tags:
|
tags:
|
||||||
- build
|
- build
|
||||||
- vtkm
|
- vtkm
|
||||||
@ -18,7 +18,7 @@ build:centos7_gcc48:
|
|||||||
CMAKE_GENERATOR: "Unix Makefiles"
|
CMAKE_GENERATOR: "Unix Makefiles"
|
||||||
VTKM_SETTINGS: "cuda+turing+32bit_ids+no_rendering"
|
VTKM_SETTINGS: "cuda+turing+32bit_ids+no_rendering"
|
||||||
|
|
||||||
test:centos7_gcc48:
|
test:centos7_gcc73:
|
||||||
tags:
|
tags:
|
||||||
- test
|
- test
|
||||||
- vtkm
|
- vtkm
|
||||||
@ -31,9 +31,9 @@ test:centos7_gcc48:
|
|||||||
- .cmake_test_linux
|
- .cmake_test_linux
|
||||||
- .only-default
|
- .only-default
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:centos7_gcc48
|
- build:centos7_gcc73
|
||||||
needs:
|
needs:
|
||||||
- build:centos7_gcc48
|
- build:centos7_gcc73
|
||||||
|
|
||||||
test:rhel8_test_centos7:
|
test:rhel8_test_centos7:
|
||||||
tags:
|
tags:
|
||||||
@ -50,6 +50,6 @@ test:rhel8_test_centos7:
|
|||||||
variables:
|
variables:
|
||||||
CTEST_EXCLUSIONS: "built_against_test_install"
|
CTEST_EXCLUSIONS: "built_against_test_install"
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:centos7_gcc48
|
- build:centos7_gcc73
|
||||||
needs:
|
needs:
|
||||||
- build:centos7_gcc48
|
- build:centos7_gcc73
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
FROM nvidia/cuda:10.2-devel-centos7
|
FROM nvidia/cuda:10.2-devel-centos7
|
||||||
LABEL maintainer "Robert Maynard<robert.maynard@kitware.com>"
|
LABEL maintainer "Robert Maynard<robert.maynard@kitware.com>"
|
||||||
|
|
||||||
RUN yum install make gcc gcc-c++ curl cuda-compat-10-2 -y
|
RUN yum install make gcc gcc-c++ curl cuda-compat-10-2 centos-release-scl -y
|
||||||
RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | bash
|
RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | bash
|
||||||
RUN yum install git git-lfs -y
|
RUN yum install git git-lfs devtoolset-7-gcc-c++ -y
|
||||||
|
|
||||||
# Provide a consistent CMake path across all images
|
# Provide a consistent CMake path across all images
|
||||||
# Install CMake 3.13 as it is the minium for cuda builds
|
# Install CMake 3.13 as it is the minium for cuda builds
|
||||||
@ -20,4 +20,4 @@ RUN mkdir /opt/cmake-latest/ && \
|
|||||||
rm cmake-3.17.3-Linux-x86_64.sh && \
|
rm cmake-3.17.3-Linux-x86_64.sh && \
|
||||||
ln -s /opt/cmake-latest/bin/ctest /opt/cmake-latest/bin/ctest-latest
|
ln -s /opt/cmake-latest/bin/ctest /opt/cmake-latest/bin/ctest-latest
|
||||||
|
|
||||||
ENV PATH "/opt/cmake/bin:/opt/cmake-latest/bin:${PATH}"
|
ENV PATH "/opt/rh/devtoolset-7/root/bin:/opt/cmake/bin:/opt/cmake-latest/bin:${PATH}"
|
||||||
|
@ -75,51 +75,6 @@ test:ubuntu1804_test_ubuntu1604_gcc5_2:
|
|||||||
needs:
|
needs:
|
||||||
- build:ubuntu1604_gcc5_2
|
- build:ubuntu1604_gcc5_2
|
||||||
|
|
||||||
# Build on ubuntu1604 with mpi + tbb and test on ubuntu1604
|
|
||||||
# Uses gcc 4.8
|
|
||||||
# Uses OpenMPI
|
|
||||||
build:ubuntu1604_gcc48:
|
|
||||||
tags:
|
|
||||||
- build
|
|
||||||
- vtkm
|
|
||||||
- docker
|
|
||||||
- linux
|
|
||||||
extends:
|
|
||||||
- .ubuntu1604
|
|
||||||
- .cmake_build_linux
|
|
||||||
- .only-default
|
|
||||||
variables:
|
|
||||||
CC: "gcc-4.8"
|
|
||||||
CXX: "g++-4.8"
|
|
||||||
CMAKE_BUILD_TYPE: Release
|
|
||||||
#custom openmpi install location
|
|
||||||
CMAKE_PREFIX_PATH: "/opt/openmpi/"
|
|
||||||
VTKM_SETTINGS: "tbb+mpi+shared+no_rendering"
|
|
||||||
|
|
||||||
test:ubuntu1604_gcc48:
|
|
||||||
tags:
|
|
||||||
- test
|
|
||||||
- vtkm
|
|
||||||
- docker
|
|
||||||
- linux
|
|
||||||
- privileged
|
|
||||||
extends:
|
|
||||||
- .ubuntu1604
|
|
||||||
- .cmake_test_linux
|
|
||||||
- .only-default
|
|
||||||
variables:
|
|
||||||
#env flags to allow openmpi to run as root user
|
|
||||||
OMPI_ALLOW_RUN_AS_ROOT: 1
|
|
||||||
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
|
|
||||||
#mpi location so that `built_against_test_install` tests
|
|
||||||
#pass
|
|
||||||
CMAKE_PREFIX_PATH: "/opt/openmpi/"
|
|
||||||
dependencies:
|
|
||||||
- build:ubuntu1604_gcc48
|
|
||||||
needs:
|
|
||||||
- build:ubuntu1604_gcc48
|
|
||||||
|
|
||||||
|
|
||||||
# Build on ubuntu1604 with tbb and test on ubuntu1604
|
# Build on ubuntu1604 with tbb and test on ubuntu1604
|
||||||
# Uses clang 5
|
# Uses clang 5
|
||||||
build:ubuntu1604_clang5:
|
build:ubuntu1604_clang5:
|
||||||
|
@ -77,7 +77,7 @@ endif()
|
|||||||
set(vec_levels none native)
|
set(vec_levels none native)
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
#for now we presume gcc >= 4.8
|
#for now we presume gcc >= 5.4
|
||||||
list(APPEND vec_levels avx avx2)
|
list(APPEND vec_levels avx avx2)
|
||||||
|
|
||||||
#common flags for the avx and avx2 instructions for the gcc compiler
|
#common flags for the avx and avx2 instructions for the gcc compiler
|
||||||
|
@ -12,6 +12,14 @@
|
|||||||
cmake_minimum_required(VERSION 3.12...3.15 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.12...3.15 FATAL_ERROR)
|
||||||
project (VTKm)
|
project (VTKm)
|
||||||
|
|
||||||
|
# We only allow c++14
|
||||||
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
# When using C++14 support make sure you use the standard C++ extensions rather
|
||||||
|
# than compiler-specific versions of the extensions (to preserve portability).
|
||||||
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
|
||||||
# Update module path
|
# Update module path
|
||||||
set(VTKm_CMAKE_MODULE_PATH ${VTKm_SOURCE_DIR}/CMake)
|
set(VTKm_CMAKE_MODULE_PATH ${VTKm_SOURCE_DIR}/CMake)
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${VTKm_CMAKE_MODULE_PATH})
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${VTKm_CMAKE_MODULE_PATH})
|
||||||
@ -163,9 +171,6 @@ mark_as_advanced(
|
|||||||
)
|
)
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# When using C++11 support make sure you use the standard C++ extensions rather
|
|
||||||
# than compiler-specific versions of the extensions (to preserve portability).
|
|
||||||
set(CMAKE_CXX_EXTENSIONS Off)
|
|
||||||
|
|
||||||
# Setup default build types
|
# Setup default build types
|
||||||
include(VTKmBuildType)
|
include(VTKmBuildType)
|
||||||
|
@ -64,7 +64,7 @@ effort.
|
|||||||
VTK-m Requires:
|
VTK-m Requires:
|
||||||
|
|
||||||
+ C++11 Compiler. VTK-m has been confirmed to work with the following
|
+ C++11 Compiler. VTK-m has been confirmed to work with the following
|
||||||
+ GCC 4.8+
|
+ GCC 5.4+
|
||||||
+ Clang 5.0+
|
+ Clang 5.0+
|
||||||
+ XCode 5.0+
|
+ XCode 5.0+
|
||||||
+ MSVC 2015+
|
+ MSVC 2015+
|
||||||
@ -103,7 +103,7 @@ Optional dependencies are:
|
|||||||
|
|
||||||
VTK-m has been tested on the following configurations:c
|
VTK-m has been tested on the following configurations:c
|
||||||
+ On Linux
|
+ On Linux
|
||||||
+ GCC 4.8.5, 5.4, 6.5, 7.4, 8.2, 9.2; Clang 5, 8; Intel 17.0.4; 19.0.0
|
+ GCC 5.4.0, 5.4, 6.5, 7.4, 8.2, 9.2; Clang 5, 8; Intel 17.0.4; 19.0.0
|
||||||
+ CMake 3.12, 3.13, 3.16, 3.17
|
+ CMake 3.12, 3.13, 3.16, 3.17
|
||||||
+ CUDA 9.2, 10.2, 11.0, 11.1
|
+ CUDA 9.2, 10.2, 11.0, 11.1
|
||||||
+ TBB 4.4 U2, 2017 U7
|
+ TBB 4.4 U2, 2017 U7
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
#if defined(__NVCC__)
|
#if defined(__NVCC__)
|
||||||
// Currently nvcc has zero support deprecated attributes
|
// Currently nvcc has zero support deprecated attributes
|
||||||
#elif __cplusplus >= 201402L
|
#elif __cplusplus >= 201402L && !defined(VTKM_GCC)
|
||||||
|
|
||||||
// C++14 and better supports [[deprecated]]
|
// C++14 and better supports [[deprecated]]
|
||||||
// Except in these cases:
|
// Except in these cases:
|
||||||
|
Loading…
Reference in New Issue
Block a user