diff --git a/.appveyor.yml b/.appveyor.yml index f10096654..0c617e235 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -12,23 +12,23 @@ branches: image: Visual Studio 2015 environment: - CONDA: c:\Miniconda37-x64 - ECMWF: c:\ecmwf - GIT_CLONE_DIR: $(ECMWF)\git - INSTALL_DIR: $(ECMWF)\install - ECCODES_SRC: $(GIT_CLONE_DIR)\eccodes - ECBUILD_SRC: $(GIT_CLONE_DIR)\ecbuild + CONDA: c:\Miniconda37-x64 + ECMWF: c:\ecmwf + GIT_CLONE_DIR: $(ECMWF)\git + INSTALL_DIR: $(ECMWF)\install + ECCODES_SRC: $(GIT_CLONE_DIR)\eccodes + ECBUILD_SRC: $(GIT_CLONE_DIR)\ecbuild # scripts that are called at very beginning, before repo cloning init: - # make sure git clones symlinks as symlinks - - cmd: git config --global core.symlinks true + # make sure git clones symlinks as symlinks + - cmd: git config --global core.symlinks true # activate conda environment so the tests can find linux utils - - cmd: call %CONDA%\Scripts\activate.bat + - cmd: call %CONDA%\Scripts\activate.bat # add eccodes\build\bin to path so tests can find eccodes.dll - - cmd: set PATH=%PATH%;%ECCODES_SRC%\build\bin + - cmd: set PATH=%PATH%;%ECCODES_SRC%\build\bin # auto-yes for conda - - cmd: conda config --set always_yes yes + - cmd: conda config --set always_yes yes clone_folder: $(ECCODES_SRC) @@ -36,59 +36,59 @@ clone_depth: 1 # scripts that run after cloning repository install: - # install ecbuild - - cmd: git clone --depth 1 https://github.com/ecmwf/ecbuild.git %ECBUILD_SRC% + # install ecbuild + - cmd: git clone --depth 1 https://github.com/ecmwf/ecbuild.git %ECBUILD_SRC% # install linux utils - - cmd: conda install -c msys2 m2-bash ^ - m2-findutils ^ - m2-coreutils ^ - m2-grep ^ - m2-sed ^ - m2-gawk ^ - m2-diffutils ^ - m2-perl + - cmd: conda install -c msys2 m2-bash ^ + m2-findutils ^ + m2-coreutils ^ + m2-grep ^ + m2-sed ^ + m2-gawk ^ + m2-diffutils ^ + m2-perl # get the latest version of cmake - - cmd: conda install -c conda-forge cmake + - cmd: conda install -c conda-forge cmake # other deps - - cmd: conda install netcdf4 + - cmd: conda install libnetcdf #---------------------------------# # build configuration # #---------------------------------# platform: - - x64 + - x64 before_build: - - cmd: call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 - - cmd: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 + - cmd: call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 + - cmd: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 build_script: - - cmd: cd %ECCODES_SRC% - - cmd: mkdir build && cd build - - cmd: cmake -G "NMake Makefiles" ^ - -D CMAKE_INSTALL_PREFIX=%INSTALL_DIR% ^ - -D CMAKE_BUILD_TYPE=Release ^ - -D ENABLE_FORTRAN=0 ^ - -D ENABLE_PYTHON=0 ^ - -D ENABLE_NETCDF=1 ^ - -D ENABLE_JPG=1 ^ - -D IEEE_LE=1 ^ - -D ENABLE_MEMFS=0 ^ - -D ENABLE_EXTRA_TESTS=OFF ^ - .. - - cmd: nmake - - cmd: ctest - - cmd: nmake install + - cmd: cd %ECCODES_SRC% + - cmd: mkdir build && cd build + - cmd: cmake -G "NMake Makefiles" ^ + -D CMAKE_INSTALL_PREFIX=%INSTALL_DIR% ^ + -D CMAKE_BUILD_TYPE=Release ^ + -D ENABLE_FORTRAN=0 ^ + -D ENABLE_PYTHON=0 ^ + -D ENABLE_NETCDF=1 ^ + -D ENABLE_JPG=1 ^ + -D IEEE_LE=1 ^ + -D ENABLE_MEMFS=0 ^ + -D ENABLE_EXTRA_TESTS=OFF ^ + .. + - cmd: nmake + - cmd: ctest --output-on-failure + - cmd: nmake install #---------------------------------# # tests configuration # #---------------------------------# test_script: - - cmd: codes_info - - cmd: for /F "tokens=* USEBACKQ" %%F IN (`codes_info -s`) DO (ls %%F) - - cmd: for /F "tokens=* USEBACKQ" %%F IN (`codes_info -d`) DO (ls %%F) + - cmd: codes_info + - cmd: for /F "tokens=* USEBACKQ" %%F IN (`codes_info -s`) DO (ls %%F) + - cmd: for /F "tokens=* USEBACKQ" %%F IN (`codes_info -d`) DO (ls %%F) diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..e7512b251 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,59 @@ +#---------------------------------# +# general configuration # +#---------------------------------# + +sudo: false + +branches: + only: + - develop + - master + +language: c + +os: osx +osx_image: xcode10.1 + +env: + global: + - ECCODES_SRC=${TRAVIS_BUILD_DIR} + - ECBUILD_SRC=${ECCODES_SRC}/../ecbuild + - BUILD_DIR=${ECCODES_SRC}/build + +git: + depth: 1 + +install: + # install ecbuild + - git clone --depth 1 https://github.com/ecmwf/ecbuild.git ${ECBUILD_SRC} + + # install netcdf + - brew install netcdf + +#---------------------------------# +# build configuration # +#---------------------------------# + +script: + # env vars + - echo ${ECCODES_SRC} + - echo ${ECBUILD_SRC} + - echo ${BUILD_DIR} + + # build ecCodes + - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} + - cmake -D ENABLE_FORTRAN=0 + -D ENABLE_PYTHON=0 + -D ENABLE_NETCDF=1 + -D ENABLE_JPG=1 + -D ENABLE_MEMFS=0 + -D ENABLE_EXTRA_TESTS=ON + ${ECCODES_SRC} + - make -j4 + - ctest -j4 --output-on-failure + - make install --silent + + # extra sanity tests + - codes_info + - ls $(codes_info -s) + - ls $(codes_info -d) diff --git a/README.md b/README.md index b4d82618d..d4164517b 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ ecCodes ======= -[![Windows: master](https://img.shields.io/appveyor/ci/ecmwf/eccodes/master.svg?label=windows-master)](https://ci.appveyor.com/project/ecmwf/eccodes/branch/master) -[![Windows: develop](https://img.shields.io/appveyor/ci/ecmwf/eccodes/develop.svg?label=windows-dev)](https://ci.appveyor.com/project/ecmwf/eccodes/branch/develop) +[![macOS: master](https://img.shields.io/travis/ecmwf/eccodes/master.svg?label=macOS-master)](https://travis-ci.org/ecmwf/eccodes/branches) +[![macOS: develop](https://img.shields.io/travis/ecmwf/eccodes/develop.svg?label=macOS-dev)](https://travis-ci.org/ecmwf/eccodes/branches) +[![Windows: master](https://img.shields.io/appveyor/ci/ecmwf/eccodes/master.svg?label=Windows-master)](https://ci.appveyor.com/project/ecmwf/eccodes/branch/master) +[![Windows: develop](https://img.shields.io/appveyor/ci/ecmwf/eccodes/develop.svg?label=Windows-dev)](https://ci.appveyor.com/project/ecmwf/eccodes/branch/develop) ecCodes is a package developed by ECMWF which provides an application programming interface and a set of tools for decoding and encoding messages in the following formats: @@ -19,12 +21,12 @@ It is designed to provide the user with a simple set of functions to access data several formats with a key/value approach. Documentation can be found here: - https://confluence.ecmwf.int/display/ECC/ecCodes+Home + https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home INSTALLATION ------------ -1. Download ecCodes from https://confluence.ecmwf.int/display/ECC/Releases +1. Download ecCodes from https://software.ecmwf.int/wiki/display/ECC/Releases 2. Unpack distribution: > tar -xzf eccodes-x.y.z-Source.tar.gz @@ -45,7 +47,7 @@ INSTALLATION For more details, please see: -https://confluence.ecmwf.int/display/ECC/ecCodes+installation +https://software.ecmwf.int/wiki/display/ECC/ecCodes+installation If you encounter any problems please send an e-mail with your problem to: