diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..7fb449076 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,99 @@ +version: 2 + +variables: + intel-linux: &intel-linux + docker: + - image: devcafe/cmake-cookbook_circleci_ubuntu16.04-intel2018.1 + name: tsubame + user: root + environment: + CIRCLECI_COMPILER: intel + working_directory: ~/cmake-cookbook + pgi-linux: &pgi-linux + docker: + - image: devcafe/cmake-cookbook_circleci_ubuntu16.04-pgi18.4 + name: chabo + user: root + environment: + CIRCLECI_COMPILER: pgi + working_directory: ~/cmake-cookbook + setup: &setup + run: + name: Set up base system and Python dependencies + command: | + cat >> $BASH_ENV <\n\n') - f.write('const std::size_t max_number = {0};\n'.format(max_number)) - f.write('std::vector & primes() {\n') - f.write(' static std::vector primes;\n') - for number in primes: - f.write(' primes.push_back({0});\n'.format(number)) - f.write(' return primes;\n}') +code = """#pragma once + +#include + +const std::size_t max_number = {max_number}; + +std::vector & primes() {{ + static std::vector primes; + +{push_back} + + return primes; +}} +""" +push_back = '\n'.join([' primes.push_back({:d});'.format(x) for x in primes]) +output_file_name.write_text( + code.format(max_number=max_number, push_back=push_back)) diff --git a/chapter-07/recipe-09/fortran-example/src/evolution/evolution.f90 b/chapter-07/recipe-09/fortran-example/src/evolution/evolution.f90 index 4f4ad639f..40db629e1 100644 --- a/chapter-07/recipe-09/fortran-example/src/evolution/evolution.f90 +++ b/chapter-07/recipe-09/fortran-example/src/evolution/evolution.f90 @@ -18,7 +18,7 @@ pure subroutine evolve(row, rule_binary) integer, intent(in) :: rule_binary(8) integer :: i integer :: left, center, right - integer :: ancestors + integer :: ancestry integer, allocatable :: new_row(:) allocate(new_row(size(row))) @@ -31,8 +31,8 @@ pure subroutine evolve(row, rule_binary) if (left < 1) left = left + size(row) if (right > size(row)) right = right - size(row) - ancestors = compute_ancestors(row, left, center, right) - new_row(i) = rule_binary(ancestors) + ancestry = compute_ancestors(row, left, center, right) + new_row(i) = rule_binary(ancestry) end do row = new_row diff --git a/chapter-08/recipe-02/cxx-example/external/upstream/boost/CMakeLists.txt b/chapter-08/recipe-02/cxx-example/external/upstream/boost/CMakeLists.txt index f5bc6c1c4..48fa170b3 100644 --- a/chapter-08/recipe-02/cxx-example/external/upstream/boost/CMakeLists.txt +++ b/chapter-08/recipe-02/cxx-example/external/upstream/boost/CMakeLists.txt @@ -21,7 +21,11 @@ else() set(_toolset "clang") set(_cxx_std_flag "-std=c++11") elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") - set(_toolset "intel") + if(APPLE) + set(_toolset "intel-darwin") + else() + set(_toolset "intel-linux") + endif() set(_cxx_std_flag "-std=c++11") endif() @@ -43,10 +47,6 @@ else() message(STATUS " Libraries to be built: ${printout}") endif() - set(_user_config_jamfile "${PROJECT_BINARY_DIR}/user-config.jam") - file(WRITE "${_user_config_jamfile}" "using ${_toolset} : : ${CMAKE_CXX_COMPILER} : \"${_cxx_std_flag}\" \"${_cxx_std_flag}\" ;") - set(_build_user_config_args "--user-config=${PROJECT_BINARY_DIR}/user-config.jam") - include(ExternalProject) ExternalProject_Add(boost_external URL diff --git a/chapter-08/recipe-02/cxx-example/menu.yml b/chapter-08/recipe-02/cxx-example/menu.yml index 6a66fff1e..76805d6c2 100644 --- a/chapter-08/recipe-02/cxx-example/menu.yml +++ b/chapter-08/recipe-02/cxx-example/menu.yml @@ -8,6 +8,12 @@ appveyor-msys: definitions: - Boost_FORCE_SUPERBUILD: 'ON' +# Boost build system does not support PGI +circle-pgi: + skip_generators: + - 'Unix Makefiles' + - 'Ninja' + travis-linux: definitions: - Boost_FORCE_SUPERBUILD: 'ON' diff --git a/chapter-08/recipe-05/cxx-example/menu.yml b/chapter-08/recipe-05/cxx-example/menu.yml new file mode 100644 index 000000000..a91a67f30 --- /dev/null +++ b/chapter-08/recipe-05/cxx-example/menu.yml @@ -0,0 +1,5 @@ +# Fails to generate imported target for UUID +circle-pgi: + skip_generators: + - 'Unix Makefiles' + - 'Ninja' diff --git a/chapter-09/recipe-01/fortran-c-example/src/bt-randomgen-example.f90 b/chapter-09/recipe-01/fortran-c-example/src/bt-randomgen-example.f90 index adc90e53e..40a4c1ec5 100644 --- a/chapter-09/recipe-01/fortran-c-example/src/bt-randomgen-example.f90 +++ b/chapter-09/recipe-01/fortran-c-example/src/bt-randomgen-example.f90 @@ -15,7 +15,7 @@ program bt_randomgen_example integer(c_int) :: bt_size write(output_unit, '(A)') 'Initializing randomgen C library' - call init_randomgen(time()) + call init_randomgen(int(time())) lower = -2 upper = 42 do i = 1, 20 diff --git a/chapter-09/recipe-01/fortran-cxx-example/CMakeLists.txt b/chapter-09/recipe-01/fortran-cxx-example/CMakeLists.txt index 68e9ac839..ee673192c 100644 --- a/chapter-09/recipe-01/fortran-cxx-example/CMakeLists.txt +++ b/chapter-09/recipe-01/fortran-cxx-example/CMakeLists.txt @@ -2,6 +2,10 @@ cmake_minimum_required(VERSION 3.5 FATAL_ERROR) project(recipe-01 LANGUAGES Fortran CXX) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) diff --git a/chapter-09/recipe-01/fortran-uuid-example/menu.yml b/chapter-09/recipe-01/fortran-uuid-example/menu.yml index e2ea2d15c..f4d424d46 100644 --- a/chapter-09/recipe-01/fortran-uuid-example/menu.yml +++ b/chapter-09/recipe-01/fortran-uuid-example/menu.yml @@ -7,6 +7,12 @@ appveyor-msys: - 'MSYS Makefiles' - 'Ninja' +# Fails to generate imported target for UUID +circle-pgi: + skip_generators: + - 'Unix Makefiles' + - 'Ninja' + travis-linux: failing_generators: - 'Ninja' diff --git a/chapter-09/recipe-01/fortran-uuid-example/src/interfaces/CMakeLists.txt b/chapter-09/recipe-01/fortran-uuid-example/src/interfaces/CMakeLists.txt index 348ebbe8a..1fdcc661e 100644 --- a/chapter-09/recipe-01/fortran-uuid-example/src/interfaces/CMakeLists.txt +++ b/chapter-09/recipe-01/fortran-uuid-example/src/interfaces/CMakeLists.txt @@ -3,7 +3,7 @@ FortranCInterface_VERIFY() find_package(PkgConfig REQUIRED QUIET) pkg_search_module(UUID REQUIRED uuid IMPORTED_TARGET) -if(UUID_FOUND) +if(TARGET PkgConfig::UUID) message(STATUS "Found libuuid") endif() find_package(Backtrace REQUIRED) diff --git a/chapter-09/recipe-02/cxx-example/menu.yml b/chapter-09/recipe-02/cxx-example/menu.yml index 11380f4e6..a0b31a358 100644 --- a/chapter-09/recipe-02/cxx-example/menu.yml +++ b/chapter-09/recipe-02/cxx-example/menu.yml @@ -6,6 +6,12 @@ appveyor-msys: failing_generators: - 'Ninja' +# Need to link against libpgftnrtl and librt +circle-pgi: + skip_generators: + - 'Unix Makefiles' + - 'Ninja' + travis-linux: failing_generators: - 'Ninja' diff --git a/chapter-09/recipe-03/cxx-example/menu.yml b/chapter-09/recipe-03/cxx-example/menu.yml index c3e86f86c..a8a32200d 100644 --- a/chapter-09/recipe-03/cxx-example/menu.yml +++ b/chapter-09/recipe-03/cxx-example/menu.yml @@ -10,3 +10,9 @@ appveyor-msys: definitions: - CMAKE_BUILD_TYPE: 'Release' - CMAKE_CXX_FLAGS: '-D_hypot=hypot' + +# CMake cannot find the Python library +circle-pgi: + skip_generators: + - 'Unix Makefiles' + - 'Ninja' diff --git a/chapter-09/recipe-04/cxx-example/menu.yml b/chapter-09/recipe-04/cxx-example/menu.yml index a3e6babd7..c6953c09c 100644 --- a/chapter-09/recipe-04/cxx-example/menu.yml +++ b/chapter-09/recipe-04/cxx-example/menu.yml @@ -18,6 +18,12 @@ appveyor-msys: - Boost_USE_STATIC_RUNTIME: 'ON' - CMAKE_CXX_FLAGS: '-D_hypot=hypot' +# CMake cannot find the Python library +circle-pgi: + skip_generators: + - 'Unix Makefiles' + - 'Ninja' + travis-osx: definitions: - BOOST_ROOT: '/usr/local/opt/boost@1.59' diff --git a/chapter-09/recipe-05/cxx-example/menu.yml b/chapter-09/recipe-05/cxx-example/menu.yml index a21ec40c5..8ca19c86d 100644 --- a/chapter-09/recipe-05/cxx-example/menu.yml +++ b/chapter-09/recipe-05/cxx-example/menu.yml @@ -8,3 +8,10 @@ appveyor-msys: - CMAKE_CXX_FLAGS: '-D_hypot=hypot' skip_generators: - 'MSYS Makefiles' + +# PGI does not understand -fvisibility flags +# that we get from pybind11 +circle-pgi: + skip_generators: + - 'Unix Makefiles' + - 'Ninja' diff --git a/chapter-10/recipe-01/cxx-example/menu.yml b/chapter-10/recipe-01/cxx-example/menu.yml index 936dec66b..ceb203d20 100644 --- a/chapter-10/recipe-01/cxx-example/menu.yml +++ b/chapter-10/recipe-01/cxx-example/menu.yml @@ -14,6 +14,18 @@ travis-osx: definitions: - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-01 +circle-intel: + definitions: + - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-03 + +# Fails to generate imported target for UUID +circle-pgi: + definitions: + - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-03 + skip_generators: + - 'Unix Makefiles' + - 'Ninja' + local: definitions: - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-01 diff --git a/chapter-10/recipe-01/cxx-example/src/CMakeLists.txt b/chapter-10/recipe-01/cxx-example/src/CMakeLists.txt index d6581f522..c816ce4bc 100644 --- a/chapter-10/recipe-01/cxx-example/src/CMakeLists.txt +++ b/chapter-10/recipe-01/cxx-example/src/CMakeLists.txt @@ -2,8 +2,9 @@ find_package(PkgConfig QUIET) if(PKG_CONFIG_FOUND) pkg_search_module(UUID uuid IMPORTED_TARGET) - if(UUID_FOUND) + if(TARGET PkgConfig::UUID) message(STATUS "Found libuuid") + set(UUID_FOUND TRUE) endif() endif() diff --git a/chapter-10/recipe-02/cxx-example/menu.yml b/chapter-10/recipe-02/cxx-example/menu.yml index ade098301..6e268f96b 100644 --- a/chapter-10/recipe-02/cxx-example/menu.yml +++ b/chapter-10/recipe-02/cxx-example/menu.yml @@ -14,6 +14,18 @@ travis-osx: definitions: - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-02 +circle-intel: + definitions: + - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-03 + +# Fails to generate imported target for UUID +circle-pgi: + definitions: + - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-03 + skip_generators: + - 'Unix Makefiles' + - 'Ninja' + local: definitions: - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-02 diff --git a/chapter-10/recipe-02/cxx-example/src/CMakeLists.txt b/chapter-10/recipe-02/cxx-example/src/CMakeLists.txt index 7343214f7..cbb8fb526 100644 --- a/chapter-10/recipe-02/cxx-example/src/CMakeLists.txt +++ b/chapter-10/recipe-02/cxx-example/src/CMakeLists.txt @@ -2,8 +2,9 @@ find_package(PkgConfig QUIET) if(PKG_CONFIG_FOUND) pkg_search_module(UUID uuid IMPORTED_TARGET) - if(UUID_FOUND) + if(TARGET PkgConfig::UUID) message(STATUS "Found libuuid") + set(UUID_FOUND TRUE) endif() endif() diff --git a/chapter-10/recipe-03/cxx-example/menu.yml b/chapter-10/recipe-03/cxx-example/menu.yml index 2632bdfda..40e4a714c 100644 --- a/chapter-10/recipe-03/cxx-example/menu.yml +++ b/chapter-10/recipe-03/cxx-example/menu.yml @@ -14,6 +14,18 @@ travis-osx: definitions: - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-03 +circle-intel: + definitions: + - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-03 + +# Fails to generate imported target for UUID +circle-pgi: + definitions: + - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-03 + skip_generators: + - 'Unix Makefiles' + - 'Ninja' + local: definitions: - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-03 diff --git a/chapter-10/recipe-03/cxx-example/src/CMakeLists.txt b/chapter-10/recipe-03/cxx-example/src/CMakeLists.txt index 92b7ef421..55c7f69d1 100644 --- a/chapter-10/recipe-03/cxx-example/src/CMakeLists.txt +++ b/chapter-10/recipe-03/cxx-example/src/CMakeLists.txt @@ -2,8 +2,9 @@ find_package(PkgConfig QUIET) if(PKG_CONFIG_FOUND) pkg_search_module(UUID uuid IMPORTED_TARGET) - if(UUID_FOUND) + if(TARGET PkgConfig::UUID) message(STATUS "Found libuuid") + set(UUID_FOUND TRUE) endif() endif() diff --git a/chapter-10/recipe-03/cxx-example/src/Message.hpp b/chapter-10/recipe-03/cxx-example/src/Message.hpp deleted file mode 120000 index 5414eabb1..000000000 --- a/chapter-10/recipe-03/cxx-example/src/Message.hpp +++ /dev/null @@ -1 +0,0 @@ -../../../recipe-02/cxx-example/src/Message.hpp \ No newline at end of file diff --git a/chapter-10/recipe-03/cxx-example/src/Message.hpp b/chapter-10/recipe-03/cxx-example/src/Message.hpp new file mode 100644 index 000000000..848ac08d9 --- /dev/null +++ b/chapter-10/recipe-03/cxx-example/src/Message.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include +#include + +#include "messageExport.h" + +class message_EXPORT Message { +public: + Message(const std::string &m) : message_(m) {} + + friend std::ostream &operator<<(std::ostream &os, Message &obj) { + return obj.printObject(os); + } + +private: + std::string message_; + std::ostream &printObject(std::ostream &os); +}; + +std::string getUUID(); diff --git a/chapter-10/recipe-04/cxx-example/menu.yml b/chapter-10/recipe-04/cxx-example/menu.yml index 396316bbd..6ac01980a 100644 --- a/chapter-10/recipe-04/cxx-example/menu.yml +++ b/chapter-10/recipe-04/cxx-example/menu.yml @@ -14,6 +14,18 @@ travis-osx: definitions: - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-04 +circle-intel: + definitions: + - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-03 + +# Fails to generate imported target for UUID +circle-pgi: + definitions: + - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-03 + skip_generators: + - 'Unix Makefiles' + - 'Ninja' + local: definitions: - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-04 diff --git a/chapter-11/recipe-01/cxx-example/menu.yml b/chapter-11/recipe-01/cxx-example/menu.yml index e124c14d7..0a273a017 100644 --- a/chapter-11/recipe-01/cxx-example/menu.yml +++ b/chapter-11/recipe-01/cxx-example/menu.yml @@ -1,2 +1,12 @@ targets: + - install + - test - package + +# Fails to generate imported target for UUID +circle-pgi: + definitions: + - CMAKE_INSTALL_PREFIX: $HOME/Software/recipe-01 + skip_generators: + - 'Unix Makefiles' + - 'Ninja' diff --git a/chapter-11/recipe-01/cxx-example/src/Message.hpp b/chapter-11/recipe-01/cxx-example/src/Message.hpp deleted file mode 120000 index f3c2d38a0..000000000 --- a/chapter-11/recipe-01/cxx-example/src/Message.hpp +++ /dev/null @@ -1 +0,0 @@ -../../../../chapter-10/recipe-02/cxx-example/src/Message.hpp \ No newline at end of file diff --git a/chapter-11/recipe-01/cxx-example/src/Message.hpp b/chapter-11/recipe-01/cxx-example/src/Message.hpp new file mode 100644 index 000000000..848ac08d9 --- /dev/null +++ b/chapter-11/recipe-01/cxx-example/src/Message.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include +#include + +#include "messageExport.h" + +class message_EXPORT Message { +public: + Message(const std::string &m) : message_(m) {} + + friend std::ostream &operator<<(std::ostream &os, Message &obj) { + return obj.printObject(os); + } + +private: + std::string message_; + std::ostream &printObject(std::ostream &os); +}; + +std::string getUUID(); diff --git a/chapter-11/recipe-02/cxx-example/custom.sh b/chapter-11/recipe-02/cxx-example/custom.sh index e8d113656..a569ce72c 100755 --- a/chapter-11/recipe-02/cxx-example/custom.sh +++ b/chapter-11/recipe-02/cxx-example/custom.sh @@ -7,6 +7,13 @@ if [ $# -eq 0 ] ; then exit 1 fi +# Remove symlinks +script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +find "$script_dir" -type l -exec sh -c ' + file=$(basename "$1") + directory=${1%/*} + (cd "$directory" && cp --remove-destination "$(readlink "$file")" "$file")' sh {} ';' + # build directory is provided by the main script build_directory="$1" mkdir -p "${build_directory}" diff --git a/chapter-12/recipe-03/cxx-example/docs/Doxyfile.in b/chapter-12/recipe-03/cxx-example/docs/Doxyfile.in index a93040477..b0abceae4 100644 --- a/chapter-12/recipe-03/cxx-example/docs/Doxyfile.in +++ b/chapter-12/recipe-03/cxx-example/docs/Doxyfile.in @@ -45,7 +45,6 @@ OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO EXTENSION_MAPPING = MARKDOWN_SUPPORT = YES -TOC_INCLUDE_HEADINGS = 0 AUTOLINK_SUPPORT = YES BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO @@ -206,7 +205,6 @@ HTML_COLORSTYLE_HUE = 220 HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 HTML_TIMESTAMP = NO -HTML_DYNAMIC_MENUS = YES HTML_DYNAMIC_SECTIONS = NO HTML_INDEX_NUM_ENTRIES = 100 GENERATE_DOCSET = NO @@ -364,7 +362,6 @@ DOTFILE_DIRS = MSCFILE_DIRS = DIAFILE_DIRS = PLANTUML_JAR_PATH = -PLANTUML_CFG_FILE = PLANTUML_INCLUDE_PATH = DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 diff --git a/chapter-14/recipe-03/fortran-example/menu.yml b/chapter-14/recipe-03/fortran-example/menu.yml index e57789e72..63205b75f 100644 --- a/chapter-14/recipe-03/fortran-example/menu.yml +++ b/chapter-14/recipe-03/fortran-example/menu.yml @@ -17,3 +17,15 @@ travis-linux: travis-osx: failing_generators: - 'Ninja' + +# ASan not supported by ifort +circle-intel: + skip_generators: + - 'Unix Makefiles' + - 'Ninja' + +# error stop is Fortran2008 and PGI is not compliant +circle-pgi: + skip_generators: + - 'Unix Makefiles' + - 'Ninja' diff --git a/contributing/generate-readmes.py b/contributing/generate-readmes.py index 5db917889..ce69e4467 100644 --- a/contributing/generate-readmes.py +++ b/contributing/generate-readmes.py @@ -60,6 +60,7 @@ def generate_main_readme(directory_of_this_script, chapters, chapter_titles, [![Travis branch](https://img.shields.io/travis/dev-cafe/cmake-cookbook/master.svg?style=flat-square)](https://travis-ci.org/dev-cafe/cmake-cookbook) [![AppVeyor branch](https://img.shields.io/appveyor/ci/bast/cmake-cookbook/master.svg?style=flat-square)](https://ci.appveyor.com/project/bast/cmake-cookbook/branch/master) +[![CircleCI](https://circleci.com/gh/robertodr/cmake-cookbook.svg?style=svg)](https://circleci.com/gh/robertodr/cmake-cookbook) [![GitHub issues](https://img.shields.io/github/issues/dev-cafe/cmake-cookbook.svg?style=flat-square)](https://github.com/dev-cafe/cmake-cookbook/issues) [![GitHub forks](https://img.shields.io/github/forks/dev-cafe/cmake-cookbook.svg?style=flat-square)](https://github.com/dev-cafe/cmake-cookbook/network) diff --git a/testing/README.md b/testing/README.md index f65e6f4f5..987028978 100644 --- a/testing/README.md +++ b/testing/README.md @@ -38,8 +38,12 @@ appveyor-vs: appveyor-msys: ... -# Drone CI -drone: +# Circle CI on Linux with Intel 2018 +circle-intel: + ... + +# Circle CI on Linux with PGI 18.4 +circle-pgi: ... ``` diff --git a/testing/collect_tests.py b/testing/collect_tests.py index 4b83deb7f..c5f1a5f66 100644 --- a/testing/collect_tests.py +++ b/testing/collect_tests.py @@ -10,9 +10,10 @@ import colorama import docopt +from packaging import version + from env import (die_hard, get_buildflags, get_ci_environment, get_generator, verbose_output) -from packaging import version from parse import extract_menu_file @@ -210,8 +211,9 @@ def run_example(topdir, generator, ci_environment, buildflags, recipe, example): if dashboard_script_path.exists(): # if this directory contains a dashboard.cmake script, we launch it step = dashboard_script - command = 'ctest -C {0} -S "{1}" -DCTEST_CMAKE_GENERATOR="{2}"'.format( - configuration, dashboard_script_path, generator) + command = 'ctest -C {0} -S "{1}" -DCTEST_CMAKE_GENERATOR="{2}" {3}'.format( + configuration, dashboard_script_path, generator, + definitions_string) return_code += run_command( step=step, command=command, expect_failure=expect_failure) diff --git a/testing/env.py b/testing/env.py index 6e9724ae5..fe9a56d83 100644 --- a/testing/env.py +++ b/testing/env.py @@ -14,8 +14,12 @@ def get_ci_environment(): ci_environment = 'appveyor-vs' else: ci_environment = 'appveyor-msys' - elif os.environ.get('DRONE'): - ci_environment = 'drone' + elif os.environ.get('CIRCLECI'): + circle_compiler = os.environ.get('CIRCLECI_COMPILER') + if circle_compiler == 'intel': + ci_environment = 'circle-intel' + else: + ci_environment = 'circle-pgi' else: ci_environment = 'local' return ci_environment diff --git a/testing/menu.yml b/testing/menu.yml index a2fa25855..7bb198518 100644 --- a/testing/menu.yml +++ b/testing/menu.yml @@ -17,15 +17,26 @@ appveyor-msys: env: - 'DIE_HARD': 'True' -drone: +circle-intel: definitions: - - CMAKE_C_COMPILER: 'gcc' - - CMAKE_CXX_COMPILER: 'g++' - - CMAKE_Fortran_COMPILER: 'pgfortran' + - CMAKE_C_COMPILER: 'icc' + - CMAKE_CXX_COMPILER: 'icpc' + - CMAKE_Fortran_COMPILER: 'ifort' - CMAKE_BUILD_TYPE: 'Debug' + - SITE: 'Circle CI Ubuntu 16.04' env: - 'DIE_HARD': 'True' +circle-pgi: + definitions: + - CMAKE_C_COMPILER: 'pgcc' + - CMAKE_CXX_COMPILER: 'pgc++' + - CMAKE_Fortran_COMPILER: 'pgfortran' + - CMAKE_BUILD_TYPE: 'Debug' + - SITE: 'Circle CI Ubuntu 16.04' + env: + - 'DIE_HARD': 'True' + travis-linux: definitions: - CMAKE_C_COMPILER: 'gcc-7'