From 29fbe0bb03a920b8ee0bdb63da19ec0204876913 Mon Sep 17 00:00:00 2001 From: Roberto Di Remigio Date: Sun, 16 Sep 2018 19:28:06 -0400 Subject: [PATCH 1/8] Change Appveyor image --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index 31f3929cf..4cf1e7693 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -12,7 +12,7 @@ cache: - c:\Deps\conda\ -> testing\dependencies\appveyor\anaconda.ps1 image: - - Previous Visual Studio 2017 + - Visual Studio 2017 environment: # Create expected SHELL variable for pipenv. From 00ef88356bb051897eb67513c91b7c2ce33b68d7 Mon Sep 17 00:00:00 2001 From: Roberto Di Remigio Date: Sun, 16 Sep 2018 21:50:55 -0400 Subject: [PATCH 2/8] Pin MKL to its 2018 version --- chapter-11/recipe-05/cxx-example/conda-recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter-11/recipe-05/cxx-example/conda-recipe/meta.yaml b/chapter-11/recipe-05/cxx-example/conda-recipe/meta.yaml index db1faf14e..69ef03773 100644 --- a/chapter-11/recipe-05/cxx-example/conda-recipe/meta.yaml +++ b/chapter-11/recipe-05/cxx-example/conda-recipe/meta.yaml @@ -13,11 +13,11 @@ build: - cmake --build build_conda --target install requirements: - host: - - mkl-devel 2018 build: - cmake >=3.5 - {{ compiler('cxx') }} + host: + - mkl-devel 2018 about: home: http://www.example.com From 2417e94496627dffb14add0bed20e4a75b115979 Mon Sep 17 00:00:00 2001 From: Roberto Di Remigio Date: Mon, 17 Sep 2018 08:35:53 -0400 Subject: [PATCH 3/8] Rename ch 10, r 4 for consistency --- README.md | 2 +- chapter-10/README.md | 2 +- chapter-10/recipe-04/README.md | 2 +- chapter-10/recipe-04/title.txt | 2 +- testing/dependencies/appveyor/anaconda.ps1 | 2 +- testing/dependencies/travis/anaconda.sh | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f270d5147..dd601377f 100644 --- a/README.md +++ b/README.md @@ -138,7 +138,7 @@ published by Packt and authored by [Radovan Bast](https://github.com/bast) and - [1. Installing your project](chapter-10/recipe-01/README.md) - [2. Generating export headers](chapter-10/recipe-02/README.md) - [3. Exporting your targets](chapter-10/recipe-03/README.md) -- [4. Installing a superbuild project](chapter-10/recipe-04/README.md) +- [4. Installing a superbuild](chapter-10/recipe-04/README.md) ### [Chapter 11: Packaging Projects](chapter-11/README.md) diff --git a/chapter-10/README.md b/chapter-10/README.md index d257413ba..b15da7dc7 100644 --- a/chapter-10/README.md +++ b/chapter-10/README.md @@ -3,4 +3,4 @@ - [1. Installing your project](recipe-01/README.md) - [2. Generating export headers](recipe-02/README.md) - [3. Exporting your targets](recipe-03/README.md) -- [4. Installing a superbuild project](recipe-04/README.md) +- [4. Installing a superbuild](recipe-04/README.md) diff --git a/chapter-10/recipe-04/README.md b/chapter-10/recipe-04/README.md index 25ef2f3fb..ffbd8ad0e 100644 --- a/chapter-10/recipe-04/README.md +++ b/chapter-10/recipe-04/README.md @@ -1,4 +1,4 @@ -# Installing a superbuild project +# Installing a superbuild This recipe shows how to install a superbuild which depends on a library which may or may not be available on the system. diff --git a/chapter-10/recipe-04/title.txt b/chapter-10/recipe-04/title.txt index 08aa0e0a6..e48a7e711 100644 --- a/chapter-10/recipe-04/title.txt +++ b/chapter-10/recipe-04/title.txt @@ -1 +1 @@ -Installing a superbuild project +Installing a superbuild diff --git a/testing/dependencies/appveyor/anaconda.ps1 b/testing/dependencies/appveyor/anaconda.ps1 index 2585e69dd..bae08e655 100644 --- a/testing/dependencies/appveyor/anaconda.ps1 +++ b/testing/dependencies/appveyor/anaconda.ps1 @@ -83,7 +83,7 @@ function SetUpConda ($Anaconda_cache) { Write-Host $conda_path $args Start-Process -FilePath "$conda_path" -ArgumentList $args -Wait -Passthru - $args = "install --yes --quiet conda-build anaconda-client jinja2 setuptools" + $args = "install --yes --quiet conda-build anaconda-client conda-verify jinja2 setuptools" Write-Host $conda_path $args Start-Process -FilePath "$conda_path" -ArgumentList $args -Wait -Passthru diff --git a/testing/dependencies/travis/anaconda.sh b/testing/dependencies/travis/anaconda.sh index d83133210..3ffccb1bd 100755 --- a/testing/dependencies/travis/anaconda.sh +++ b/testing/dependencies/travis/anaconda.sh @@ -25,7 +25,7 @@ else conda update --all --yes &> /dev/null conda clean -tipy &> /dev/null # Install conda build and deployment tools. - conda install --yes --quiet conda-build anaconda-client jinja2 setuptools &> /dev/null + conda install --yes --quiet conda-build anaconda-client conda-verify jinja2 setuptools &> /dev/null conda clean -tipsy &> /dev/null conda info -a cd "$TRAVIS_BUILD_DIR" From 5321756181b0ef8ac1bdeb35f96f77500df04fc2 Mon Sep 17 00:00:00 2001 From: Roberto Di Remigio Date: Mon, 17 Sep 2018 20:29:47 -0400 Subject: [PATCH 4/8] Skip certain recipes when they are known not to work --- chapter-01/recipe-01/fortran-example/menu.yml | 2 +- chapter-01/recipe-02/fortran-example/menu.yml | 2 +- chapter-01/recipe-03/fortran-example/menu.yml | 2 +- chapter-01/recipe-09/fortran-example/menu.yml | 2 +- chapter-02/recipe-03/fortran-example/menu.yml | 2 +- chapter-02/recipe-06/cxx-example/menu.yml | 4 ++-- chapter-03/recipe-04/cxx-example/menu.yml | 1 + chapter-03/recipe-05/cxx-example-3.5/menu.yml | 2 +- chapter-03/recipe-05/cxx-example/menu.yml | 2 +- chapter-03/recipe-05/fortran-example-3.5/menu.yml | 2 +- chapter-03/recipe-05/fortran-example/menu.yml | 2 +- chapter-03/recipe-06/c-example-3.5/menu.yml | 3 ++- chapter-03/recipe-06/c-example/menu.yml | 1 + chapter-03/recipe-06/cxx-example/menu.yml | 1 + chapter-03/recipe-07/cxx-example-3.5/menu.yml | 2 +- chapter-03/recipe-07/cxx-example/menu.yml | 2 +- chapter-03/recipe-09/c-example-3.5/menu.yml | 3 ++- chapter-03/recipe-09/c-example/menu.yml | 3 ++- chapter-05/recipe-03/cxx-example/menu.yml | 4 ++-- chapter-05/recipe-04/cxx-example/menu.yml | 4 ++-- chapter-05/recipe-05/fortran-example/menu.yml | 2 +- chapter-05/recipe-08/c-example-3.5/menu.yml | 4 +++- chapter-05/recipe-08/c-example/menu.yml | 4 +++- chapter-05/recipe-09/cxx-example/menu.yml | 3 ++- chapter-06/recipe-01/fortran-c-example/menu.yml | 2 +- chapter-06/recipe-02/fortran-c-example/menu.yml | 2 +- chapter-06/recipe-04/fortran-example/menu.yml | 2 +- chapter-07/recipe-09/fortran-example/menu.yml | 6 +++++- chapter-09/recipe-01/fortran-c-example/menu.yml | 2 +- chapter-09/recipe-01/fortran-cxx-example/menu.yml | 2 +- chapter-09/recipe-01/fortran-uuid-example-3.5/menu.yml | 2 +- chapter-09/recipe-01/fortran-uuid-example/menu.yml | 2 +- chapter-09/recipe-02/cxx-example/menu.yml | 2 +- chapter-09/recipe-06/fortran-example/menu.yml | 2 +- chapter-11/recipe-03/fortran-example/menu.yml | 2 +- chapter-13/recipe-02/fortran-example/menu.yml | 4 ++-- chapter-14/recipe-03/fortran-example/menu.yml | 3 ++- chapter-14/recipe-04/cxx-example/menu.yml | 3 ++- 38 files changed, 56 insertions(+), 39 deletions(-) diff --git a/chapter-01/recipe-01/fortran-example/menu.yml b/chapter-01/recipe-01/fortran-example/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-01/recipe-01/fortran-example/menu.yml +++ b/chapter-01/recipe-01/fortran-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-01/recipe-02/fortran-example/menu.yml b/chapter-01/recipe-02/fortran-example/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-01/recipe-02/fortran-example/menu.yml +++ b/chapter-01/recipe-02/fortran-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-01/recipe-03/fortran-example/menu.yml b/chapter-01/recipe-03/fortran-example/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-01/recipe-03/fortran-example/menu.yml +++ b/chapter-01/recipe-03/fortran-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-01/recipe-09/fortran-example/menu.yml b/chapter-01/recipe-09/fortran-example/menu.yml index a0d363a09..e09272248 100644 --- a/chapter-01/recipe-09/fortran-example/menu.yml +++ b/chapter-01/recipe-09/fortran-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-02/recipe-03/fortran-example/menu.yml b/chapter-02/recipe-03/fortran-example/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-02/recipe-03/fortran-example/menu.yml +++ b/chapter-02/recipe-03/fortran-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-02/recipe-06/cxx-example/menu.yml b/chapter-02/recipe-06/cxx-example/menu.yml index 504113102..e9f53a40a 100644 --- a/chapter-02/recipe-06/cxx-example/menu.yml +++ b/chapter-02/recipe-06/cxx-example/menu.yml @@ -5,14 +5,14 @@ circle-intel: circle-pgi: definitions: - Eigen3_DIR: '/opt/eigen/share/eigen3/cmake' - + travis-linux: definitions: - Eigen3_DIR: '$HOME/Deps/eigen/share/eigen3/cmake' # OpenMP does not work with clang travis-osx: - failing_generators: + skip_generators: - 'Unix Makefiles' - 'Ninja' diff --git a/chapter-03/recipe-04/cxx-example/menu.yml b/chapter-03/recipe-04/cxx-example/menu.yml index a0b31a358..294b2dffb 100644 --- a/chapter-03/recipe-04/cxx-example/menu.yml +++ b/chapter-03/recipe-04/cxx-example/menu.yml @@ -1,3 +1,4 @@ +# No suitable native BLAS/LAPACK with MSVC appveyor-vs: failing_generators: - 'Visual Studio 15 2017 Win64' diff --git a/chapter-03/recipe-05/cxx-example-3.5/menu.yml b/chapter-03/recipe-05/cxx-example-3.5/menu.yml index a1b2ac465..7f2d973af 100644 --- a/chapter-03/recipe-05/cxx-example-3.5/menu.yml +++ b/chapter-03/recipe-05/cxx-example-3.5/menu.yml @@ -1,5 +1,5 @@ # OpenMP does not work with clang travis-osx: - failing_generators: + skip_generators: - 'Unix Makefiles' - 'Ninja' diff --git a/chapter-03/recipe-05/cxx-example/menu.yml b/chapter-03/recipe-05/cxx-example/menu.yml index a1b2ac465..7f2d973af 100644 --- a/chapter-03/recipe-05/cxx-example/menu.yml +++ b/chapter-03/recipe-05/cxx-example/menu.yml @@ -1,5 +1,5 @@ # OpenMP does not work with clang travis-osx: - failing_generators: + skip_generators: - 'Unix Makefiles' - 'Ninja' diff --git a/chapter-03/recipe-05/fortran-example-3.5/menu.yml b/chapter-03/recipe-05/fortran-example-3.5/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-03/recipe-05/fortran-example-3.5/menu.yml +++ b/chapter-03/recipe-05/fortran-example-3.5/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-03/recipe-05/fortran-example/menu.yml b/chapter-03/recipe-05/fortran-example/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-03/recipe-05/fortran-example/menu.yml +++ b/chapter-03/recipe-05/fortran-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-03/recipe-06/c-example-3.5/menu.yml b/chapter-03/recipe-06/c-example-3.5/menu.yml index 86d786d0e..c14e6b2c9 100644 --- a/chapter-03/recipe-06/c-example-3.5/menu.yml +++ b/chapter-03/recipe-06/c-example-3.5/menu.yml @@ -4,7 +4,8 @@ appveyor-vs: - MSMPI_INC: 'C:\Program Files (x86)\Microsoft SDKs\MPI\Include\' - MSMPI_LIB32: 'C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\' - MSMPI_LIB64: 'C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\' - + +# No suitable MPI with MSYS appveyor-msys: failing_generators: - 'MSYS Makefiles' diff --git a/chapter-03/recipe-06/c-example/menu.yml b/chapter-03/recipe-06/c-example/menu.yml index 9c46e88f9..c14e6b2c9 100644 --- a/chapter-03/recipe-06/c-example/menu.yml +++ b/chapter-03/recipe-06/c-example/menu.yml @@ -5,6 +5,7 @@ appveyor-vs: - MSMPI_LIB32: 'C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\' - MSMPI_LIB64: 'C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\' +# No suitable MPI with MSYS appveyor-msys: failing_generators: - 'MSYS Makefiles' diff --git a/chapter-03/recipe-06/cxx-example/menu.yml b/chapter-03/recipe-06/cxx-example/menu.yml index 9c46e88f9..c14e6b2c9 100644 --- a/chapter-03/recipe-06/cxx-example/menu.yml +++ b/chapter-03/recipe-06/cxx-example/menu.yml @@ -5,6 +5,7 @@ appveyor-vs: - MSMPI_LIB32: 'C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\' - MSMPI_LIB64: 'C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\' +# No suitable MPI with MSYS appveyor-msys: failing_generators: - 'MSYS Makefiles' diff --git a/chapter-03/recipe-07/cxx-example-3.5/menu.yml b/chapter-03/recipe-07/cxx-example-3.5/menu.yml index f3bdc7e02..44dd3ceb7 100644 --- a/chapter-03/recipe-07/cxx-example-3.5/menu.yml +++ b/chapter-03/recipe-07/cxx-example-3.5/menu.yml @@ -16,7 +16,7 @@ travis-linux: # OpenMP does not work with clang travis-osx: - failing_generators: + skip_generators: - 'Unix Makefiles' - 'Ninja' diff --git a/chapter-03/recipe-07/cxx-example/menu.yml b/chapter-03/recipe-07/cxx-example/menu.yml index f3bdc7e02..44dd3ceb7 100644 --- a/chapter-03/recipe-07/cxx-example/menu.yml +++ b/chapter-03/recipe-07/cxx-example/menu.yml @@ -16,7 +16,7 @@ travis-linux: # OpenMP does not work with clang travis-osx: - failing_generators: + skip_generators: - 'Unix Makefiles' - 'Ninja' diff --git a/chapter-03/recipe-09/c-example-3.5/menu.yml b/chapter-03/recipe-09/c-example-3.5/menu.yml index 9056d0529..cb16b5c29 100644 --- a/chapter-03/recipe-09/c-example-3.5/menu.yml +++ b/chapter-03/recipe-09/c-example-3.5/menu.yml @@ -1,3 +1,4 @@ +# No pkg-config with Visual Studio generator appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' diff --git a/chapter-03/recipe-09/c-example/menu.yml b/chapter-03/recipe-09/c-example/menu.yml index 8b8a603e4..febb3ccbd 100644 --- a/chapter-03/recipe-09/c-example/menu.yml +++ b/chapter-03/recipe-09/c-example/menu.yml @@ -1,5 +1,6 @@ +# No pkg-config with Visual Studio generator appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' # Fails to generate imported target for ZeroMQ diff --git a/chapter-05/recipe-03/cxx-example/menu.yml b/chapter-05/recipe-03/cxx-example/menu.yml index d48badf19..17bc6f1df 100644 --- a/chapter-05/recipe-03/cxx-example/menu.yml +++ b/chapter-05/recipe-03/cxx-example/menu.yml @@ -1,6 +1,6 @@ appveyor-vs: - failing_generators: - - 'Visual Studio 15 2017 Win64' + skip_generators: + - 'Visual Studio 15 2017 Win64' appveyor-msys: failing_generators: diff --git a/chapter-05/recipe-04/cxx-example/menu.yml b/chapter-05/recipe-04/cxx-example/menu.yml index d48badf19..17bc6f1df 100644 --- a/chapter-05/recipe-04/cxx-example/menu.yml +++ b/chapter-05/recipe-04/cxx-example/menu.yml @@ -1,6 +1,6 @@ appveyor-vs: - failing_generators: - - 'Visual Studio 15 2017 Win64' + skip_generators: + - 'Visual Studio 15 2017 Win64' appveyor-msys: failing_generators: diff --git a/chapter-05/recipe-05/fortran-example/menu.yml b/chapter-05/recipe-05/fortran-example/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-05/recipe-05/fortran-example/menu.yml +++ b/chapter-05/recipe-05/fortran-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-05/recipe-08/c-example-3.5/menu.yml b/chapter-05/recipe-08/c-example-3.5/menu.yml index 047865567..a01e264d0 100644 --- a/chapter-05/recipe-08/c-example-3.5/menu.yml +++ b/chapter-05/recipe-08/c-example-3.5/menu.yml @@ -1,7 +1,9 @@ +# No pkg-config with Visual Studio generator appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' +# UUID can't be found on MSYS appveyor-msys: failing_generators: - 'MSYS Makefiles' diff --git a/chapter-05/recipe-08/c-example/menu.yml b/chapter-05/recipe-08/c-example/menu.yml index 4849924db..820730533 100644 --- a/chapter-05/recipe-08/c-example/menu.yml +++ b/chapter-05/recipe-08/c-example/menu.yml @@ -1,7 +1,9 @@ +# No pkg-config with Visual Studio generator appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' +# UUID can't be found on MSYS appveyor-msys: failing_generators: - 'MSYS Makefiles' diff --git a/chapter-05/recipe-09/cxx-example/menu.yml b/chapter-05/recipe-09/cxx-example/menu.yml index 9c46e88f9..5d57c2b5e 100644 --- a/chapter-05/recipe-09/cxx-example/menu.yml +++ b/chapter-05/recipe-09/cxx-example/menu.yml @@ -5,7 +5,8 @@ appveyor-vs: - MSMPI_LIB32: 'C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\' - MSMPI_LIB64: 'C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\' +# No suitable MPI with MSYS appveyor-msys: - failing_generators: + skip_generators: - 'MSYS Makefiles' - 'Ninja' diff --git a/chapter-06/recipe-01/fortran-c-example/menu.yml b/chapter-06/recipe-01/fortran-c-example/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-06/recipe-01/fortran-c-example/menu.yml +++ b/chapter-06/recipe-01/fortran-c-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-06/recipe-02/fortran-c-example/menu.yml b/chapter-06/recipe-02/fortran-c-example/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-06/recipe-02/fortran-c-example/menu.yml +++ b/chapter-06/recipe-02/fortran-c-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-06/recipe-04/fortran-example/menu.yml b/chapter-06/recipe-04/fortran-example/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-06/recipe-04/fortran-example/menu.yml +++ b/chapter-06/recipe-04/fortran-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-07/recipe-09/fortran-example/menu.yml b/chapter-07/recipe-09/fortran-example/menu.yml index 45f9bc19b..249b94a4a 100644 --- a/chapter-07/recipe-09/fortran-example/menu.yml +++ b/chapter-07/recipe-09/fortran-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: @@ -12,3 +12,7 @@ targets: travis-linux: failing_generators: - 'Ninja' + +travis-osx: + failing_generators: + - 'Ninja' diff --git a/chapter-09/recipe-01/fortran-c-example/menu.yml b/chapter-09/recipe-01/fortran-c-example/menu.yml index e2ea2d15c..3ec6656d6 100644 --- a/chapter-09/recipe-01/fortran-c-example/menu.yml +++ b/chapter-09/recipe-01/fortran-c-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-09/recipe-01/fortran-cxx-example/menu.yml b/chapter-09/recipe-01/fortran-cxx-example/menu.yml index e2ea2d15c..3ec6656d6 100644 --- a/chapter-09/recipe-01/fortran-cxx-example/menu.yml +++ b/chapter-09/recipe-01/fortran-cxx-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-09/recipe-01/fortran-uuid-example-3.5/menu.yml b/chapter-09/recipe-01/fortran-uuid-example-3.5/menu.yml index e2ea2d15c..3ec6656d6 100644 --- a/chapter-09/recipe-01/fortran-uuid-example-3.5/menu.yml +++ b/chapter-09/recipe-01/fortran-uuid-example-3.5/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-09/recipe-01/fortran-uuid-example/menu.yml b/chapter-09/recipe-01/fortran-uuid-example/menu.yml index f4d424d46..b92d6420a 100644 --- a/chapter-09/recipe-01/fortran-uuid-example/menu.yml +++ b/chapter-09/recipe-01/fortran-uuid-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-09/recipe-02/cxx-example/menu.yml b/chapter-09/recipe-02/cxx-example/menu.yml index a0b31a358..17bc6f1df 100644 --- a/chapter-09/recipe-02/cxx-example/menu.yml +++ b/chapter-09/recipe-02/cxx-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-09/recipe-06/fortran-example/menu.yml b/chapter-09/recipe-06/fortran-example/menu.yml index d8b276337..c1dc81af1 100644 --- a/chapter-09/recipe-06/fortran-example/menu.yml +++ b/chapter-09/recipe-06/fortran-example/menu.yml @@ -2,7 +2,7 @@ targets: - test appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-11/recipe-03/fortran-example/menu.yml b/chapter-11/recipe-03/fortran-example/menu.yml index 11380f4e6..98d2d1361 100644 --- a/chapter-11/recipe-03/fortran-example/menu.yml +++ b/chapter-11/recipe-03/fortran-example/menu.yml @@ -1,5 +1,5 @@ appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: diff --git a/chapter-13/recipe-02/fortran-example/menu.yml b/chapter-13/recipe-02/fortran-example/menu.yml index a15d92ef2..3474833f8 100644 --- a/chapter-13/recipe-02/fortran-example/menu.yml +++ b/chapter-13/recipe-02/fortran-example/menu.yml @@ -3,7 +3,7 @@ targets: - install appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' appveyor-msys: @@ -11,7 +11,7 @@ appveyor-msys: - 'Ninja' travis-osx: - failing_generators: + skip_generators: - 'Unix Makefiles' - 'Ninja' diff --git a/chapter-14/recipe-03/fortran-example/menu.yml b/chapter-14/recipe-03/fortran-example/menu.yml index e2e400fd0..5a013e1b5 100644 --- a/chapter-14/recipe-03/fortran-example/menu.yml +++ b/chapter-14/recipe-03/fortran-example/menu.yml @@ -1,8 +1,9 @@ targets: - test +# No ASan on Windows appveyor-vs: - failing_generators: + skip_generators: - 'Visual Studio 15 2017 Win64' # No ASan on Windows diff --git a/chapter-14/recipe-04/cxx-example/menu.yml b/chapter-14/recipe-04/cxx-example/menu.yml index 818ac1f30..4316c28f3 100644 --- a/chapter-14/recipe-04/cxx-example/menu.yml +++ b/chapter-14/recipe-04/cxx-example/menu.yml @@ -6,6 +6,7 @@ appveyor-vs: skip_generators: - 'Visual Studio 15 2017 Win64' +# No TSan on Windows appveyor-msys: skip_generators: - 'MSYS Makefiles' @@ -13,6 +14,6 @@ appveyor-msys: # OpenMP does not work with clang travis-osx: - failing_generators: + skip_generators: - 'Unix Makefiles' - 'Ninja' From e0b6273704a33d1f6b99bd847742d23b17facc22 Mon Sep 17 00:00:00 2001 From: Roberto Di Remigio Date: Mon, 17 Sep 2018 20:30:09 -0400 Subject: [PATCH 5/8] Add stub for change log --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..8d24f1b12 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,17 @@ +# Change Log + +## [Unreleased] + +## [Version 1.0] - 2018-09-XY + +### Added +### Changed +### Deprecated +### Removed +### Fixed +### Security + +[Unreleased]: https://github.com/dev-cafe/cmake-cookbook/compare/v1.0...HEAD +[Version 1.0]: https://github.com/dev-cafe/cmake-cookbook/releases/tag/v1.0 + +[GitHub]: https://github.com/dev-cafe/cmake-cookbook From 56ce4f39fd07358571deefc0b7f2c5e2e41a7c06 Mon Sep 17 00:00:00 2001 From: Roberto Di Remigio Date: Mon, 17 Sep 2018 20:38:52 -0400 Subject: [PATCH 6/8] Document difference in failing and skipping --- .appveyor.yml | 32 +++++++------------ chapter-11/recipe-04/cxx-example/custom.sh | 12 ++++--- chapter-11/recipe-04/cxx-example/menu.yml | 2 +- .../cxx-example/conda-recipe/meta.yaml | 1 + chapter-11/recipe-05/cxx-example/custom.sh | 12 ++++--- chapter-11/recipe-05/cxx-example/menu.yml | 6 +++- contributing/README.md | 5 +-- testing/README.md | 16 ++++++++++ testing/collect_tests.py | 3 ++ 9 files changed, 57 insertions(+), 32 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 4cf1e7693..09e961dd3 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -8,34 +8,26 @@ build: cache: - c:\tools\vcpkg\installed\ -> testing\dependencies\appveyor\install.bat - c:\msys64\var\cache\pacman\pkg -> testing\dependencies\appveyor\install.bat - - c:\Deps\boost_1_67_0 -> testing\dependencies\appveyor\boost.bat - c:\Deps\conda\ -> testing\dependencies\appveyor\anaconda.ps1 + - c:\Deps\boost_1_67_0 -> testing\dependencies\appveyor\boost.bat image: - Visual Studio 2017 environment: # Create expected SHELL variable for pipenv. - SHELL: "windows" - CTEST_OUTPUT_ON_FAILURE: "1" + SHELL: 'windows' + CTEST_OUTPUT_ON_FAILURE: '1' matrix: - - CMAKE_GENERATOR: "MSYS Makefiles" - BUILDFLAGS: "VERBOSE=1" - CMAKEARGS: "" - - CMAKE_GENERATOR: "Visual Studio 15 2017 Win64" - BUILDFLAGS: "/verbosity:normal" - CMAKEARGS: "" - - CMAKE_GENERATOR: "Ninja" - BUILDFLAGS: "-v" - CMAKEARGS: "" - - CMAKE_GENERATOR: "MSYS Makefiles" - ANACONDA_TESTS_ONLY: "1" - BUILDFLAGS: "VERBOSE=1" - CMAKEARGS: "" - - CMAKE_GENERATOR: "Visual Studio 15 2017 Win64" - ANACONDA_TESTS_ONLY: "1" - BUILDFLAGS: "/verbosity:normal" - CMAKEARGS: "" + - CMAKE_GENERATOR: 'MSYS Makefiles' + BUILDFLAGS: 'VERBOSE=1' + - CMAKE_GENERATOR: 'Visual Studio 15 2017 Win64' + BUILDFLAGS: '/verbosity:normal' + - CMAKE_GENERATOR: 'Ninja' + BUILDFLAGS: '-v' + - CMAKE_GENERATOR: 'Visual Studio 15 2017 Win64' + BUILDFLAGS: '/verbosity:normal' + ANACONDA_TESTS_ONLY: '1' matrix: fast_finish: true diff --git a/chapter-11/recipe-04/cxx-example/custom.sh b/chapter-11/recipe-04/cxx-example/custom.sh index 69b797f41..c17938e1e 100755 --- a/chapter-11/recipe-04/cxx-example/custom.sh +++ b/chapter-11/recipe-04/cxx-example/custom.sh @@ -19,19 +19,23 @@ cp ../example.cpp . if [[ "$OSTYPE" == "msys" ]]; then conda.exe config --set always_yes yes --set changeps1 no - conda.exe build conda-recipe + conda.exe build --no-anaconda-upload conda-recipe - conda.exe install --use-local conda-example-simple + conda.exe install --no-update-dependencies --use-local --yes conda-example-simple hello-conda.exe + + conda.exe clean --all --yes else PATH=$HOME/Deps/conda/bin${PATH:+:$PATH} - conda build conda-recipe + conda build --no-anaconda-upload conda-recipe - conda install --use-local conda-example-simple + conda install --no-update-deps --use-local --yes conda-example-simple hello-conda + + conda clean --all --yes fi exit $? diff --git a/chapter-11/recipe-04/cxx-example/menu.yml b/chapter-11/recipe-04/cxx-example/menu.yml index 53a7bfba7..aa19cf4b7 100644 --- a/chapter-11/recipe-04/cxx-example/menu.yml +++ b/chapter-11/recipe-04/cxx-example/menu.yml @@ -1,3 +1,3 @@ local: env: - - VERBOSE_OUTPUT: 'True' + - VERBOSE_OUTPUT: 'ON' diff --git a/chapter-11/recipe-05/cxx-example/conda-recipe/meta.yaml b/chapter-11/recipe-05/cxx-example/conda-recipe/meta.yaml index 69ef03773..458073a0b 100644 --- a/chapter-11/recipe-05/cxx-example/conda-recipe/meta.yaml +++ b/chapter-11/recipe-05/cxx-example/conda-recipe/meta.yaml @@ -17,6 +17,7 @@ requirements: - cmake >=3.5 - {{ compiler('cxx') }} host: + - intel-openmp 2018 - mkl-devel 2018 about: diff --git a/chapter-11/recipe-05/cxx-example/custom.sh b/chapter-11/recipe-05/cxx-example/custom.sh index 9f7e0aaa8..97e52e780 100755 --- a/chapter-11/recipe-05/cxx-example/custom.sh +++ b/chapter-11/recipe-05/cxx-example/custom.sh @@ -19,19 +19,23 @@ cp ../example.cpp . if [[ "$OSTYPE" == "msys" ]]; then conda.exe config --set always_yes yes --set changeps1 no - conda.exe build conda-recipe + conda.exe build --no-anaconda-upload conda-recipe - conda.exe install --use-local conda-example-dgemm + conda.exe install --no-update-deps --use-local --yes conda-example-dgemm dgemm-example.exe + + conda.exe clean --all --yes else PATH=$HOME/Deps/conda/bin${PATH:+:$PATH} - conda build conda-recipe + conda build --no-anaconda-upload conda-recipe - conda install --use-local conda-example-dgemm + conda install --no-update-deps --use-local --yes conda-example-dgemm dgemm-example + + conda clean --all --yes fi exit $? diff --git a/chapter-11/recipe-05/cxx-example/menu.yml b/chapter-11/recipe-05/cxx-example/menu.yml index 53a7bfba7..fd571f799 100644 --- a/chapter-11/recipe-05/cxx-example/menu.yml +++ b/chapter-11/recipe-05/cxx-example/menu.yml @@ -1,3 +1,7 @@ +appveyor-vs: + env: + - VERBOSE_OUTPUT: 'ON' + local: env: - - VERBOSE_OUTPUT: 'True' + - VERBOSE_OUTPUT: 'ON' diff --git a/contributing/README.md b/contributing/README.md index 9b34073ae..1d739bc76 100644 --- a/contributing/README.md +++ b/contributing/README.md @@ -24,8 +24,9 @@ To update the README files, run `python contributing/generate-readmes.py` - this #### Indentation -We use 2 spaces instead of 4 spaces to reduce the printed page width. -No tabs. +We use 2 spaces instead of 4 spaces to reduce the printed page width. No tabs. +Get the integration for [EditorConfig](https://editorconfig.org/) in your +favorite editor to help you keep the conventions. #### Case of commands diff --git a/testing/README.md b/testing/README.md index 8ed232e34..7d3120db7 100644 --- a/testing/README.md +++ b/testing/README.md @@ -70,6 +70,22 @@ appveyor-msys: - 'MSYS Makefiles' ``` +## When to use `failing_generators` and `skip_generators` + +Marking generators as expected failures or skipping them achieves more or less +the same goal: not failing CI for recipes that are known not to work under +certain conditions. Using `failing_generators` means that the recipe is actually +tested, but the possible failure is not elevated to an error; whereas using +`skip_generators` will skip the testing altogether. +The semantic to differentiate the use of the two is thus: +1. Use `failing_generators` if the recipe does not work under the current CI set + up, but _it could be made_ to work. As an example, the Ninja is always marked as + an expected failure for Fortran recipes, since its set up is rather contrived, + requiring specific versions specific versions of CMake _and_ Ninja. + The hurdle could however be overcome in the future. +2. Use `skip_generators` when _you cannot foresee any way_ to make the recipe work. + This is the case for the Fortran recipes with the Visual Studio generators. + ## Bulding targets diff --git a/testing/collect_tests.py b/testing/collect_tests.py index 28f61cfc8..c8ba333cf 100644 --- a/testing/collect_tests.py +++ b/testing/collect_tests.py @@ -55,6 +55,8 @@ def run_command(*, step, command, expect_failure): # Stream stderr always stderr_streamer = functools.partial(streamer, file_handle=sys.stderr) stderr = '' + # subprocess.Popen can be managed as a context and allows us to stream + # stdout and stderr in real-time with subprocess.Popen( cmd, bufsize=1, @@ -166,6 +168,7 @@ def run_example(topdir, generator, ci_environment, buildflags, recipe, example): custom_script = 'custom.sh' custom_script_path = cmakelists_path / custom_script if custom_script_path.exists(): + sys.stdout.write('\nRunning a custom.sh script\n') # if this directory contains a custom.sh script, we launch it step = custom_script command = 'bash "{0}" "{1}"'.format(custom_script_path, build_directory) From 3e18625dc0087060c0ea848656c17f105548be37 Mon Sep 17 00:00:00 2001 From: Roberto Di Remigio Date: Fri, 21 Sep 2018 11:43:11 -0400 Subject: [PATCH 7/8] Skip ch 11, r 5 on appveyor --- .appveyor.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 09e961dd3..096fc5243 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -64,8 +64,7 @@ build_script: - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv lock" - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv install" - if "%ANACONDA_TESTS_ONLY%"=="1" ( - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-11/recipe-04'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-11/recipe-05'" + bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-11/recipe-04'" ) else ( bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-01/recipe-*'" && bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-02/recipe-*'" && From 603306a6c5885c34680d275ebbf3f120c96e5d8c Mon Sep 17 00:00:00 2001 From: Roberto Di Remigio Date: Fri, 21 Sep 2018 14:49:32 -0400 Subject: [PATCH 8/8] Run limited set of tests This is to ease rebuilding of cache --- .appveyor.yml | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 096fc5243..73e1faf9f 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -66,20 +66,7 @@ build_script: - if "%ANACONDA_TESTS_ONLY%"=="1" ( bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-11/recipe-04'" ) else ( - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-01/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-02/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-03/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-04/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-05/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-06/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-07/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-08/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-09/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-10/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-11/recipe-0[1-3]'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-12/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-13/recipe-*'" && - bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-14/recipe-*'" + bash -c "cd /c/projects/cmake-cookbook-no-symlinks && pipenv run python testing/collect_tests.py 'chapter-01/recipe-*'" ) deploy: off