diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index ba5410e9ce..0000000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -patreon: ruslo -custom: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UN8PDZZ3Q7VVL diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 1f6d947bee..a47c070cb0 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,4 +1,4 @@ - + * I've read [Brief overview section](https://hunter.readthedocs.io/en/latest/overview.html) and do understand basic concepts. **[Yes|No]** * I've read [F.A.Q. section](https://hunter.readthedocs.io/en/latest/faq.html) and haven't found an answer to my question. **[Yes|No]** diff --git a/.github/ISSUE_TEMPLATE/discussion.md b/.github/ISSUE_TEMPLATE/discussion.md index 0062ec40ca..62eff0bf5d 100644 --- a/.github/ISSUE_TEMPLATE/discussion.md +++ b/.github/ISSUE_TEMPLATE/discussion.md @@ -7,7 +7,7 @@ assignees: '' --- - + * I've read [Brief overview section](https://hunter.readthedocs.io/en/latest/overview.html) and do understand basic concepts. **[Yes|No]** * I've read [F.A.Q. section](https://hunter.readthedocs.io/en/latest/faq.html) and haven't found an answer to my question. **[Yes|No]** diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index a46393ca19..5c1d8c91ee 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,15 +4,6 @@ * I've followed [this guide](https://hunter.readthedocs.io/en/latest/creating-new/create/cmake.html) step by step carefully. **[Yes|No]** -* I've tested this package remotely and have excluded all broken builds. - Here is the links to the Travis/AppVeyor with status "All passed": - - * https://ci.appveyor.com/project//hunter/build/ - * https://travis-ci.org//hunter/builds/ - -* I have submitted CI configs to https://github.com/cpp-pm/hunter-testing targeting `pkg.template` branch, - see this merged pull request https://github.com/cpp-pm/hunter-testing/pull/ - * My change will resolve this "New package" request: https://github.com/cpp-pm/hunter/issues/ @@ -25,15 +16,15 @@ * I've followed [this guide](https://hunter.readthedocs.io/en/latest/creating-new/update.html) step by step carefully. **[Yes|No]** -* I've tested this package remotely and have excluded all broken builds. - Here is the links to the Travis/AppVeyor with status "All passed": - - * https://ci.appveyor.com/project//hunter/build/ - * https://travis-ci.org//hunter/builds/ + +* This update will break a few toolchains. + - Toolchain 1 + - Toolchain 2 - -* This update will break few old toolchains. - They are excluded in this pull request: https://github.com/cpp-pm/hunter-testing/pull/ + +* This update will fix a few toolchains. + - Toolchain 1 + - Toolchain 2 --- diff --git a/.github/workflows/ci-docs.yml b/.github/workflows/ci-docs.yml new file mode 100644 index 0000000000..3ebe540528 --- /dev/null +++ b/.github/workflows/ci-docs.yml @@ -0,0 +1,35 @@ +name: CI-docs +on: + push: + branches: ['master', 'github_actions_ci'] + paths: ['docs/**', 'examples/**'] + pull_request: + branches: ['master', 'github_actions_ci'] + paths: ['docs/**', 'examples/**'] + +jobs: + + docs: + runs-on: ubuntu-latest + + steps: + + - name: Git checkout with submodules + uses: actions/checkout@v2 + with: + submodules: true + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install virtualenv + + - name: Run test script + run: | + cd docs + ./jenkins.sh \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..e0462ffe4c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,134 @@ +name: CI +on: + push: + paths: [ 'cmake/projects/**' ] + pull_request: + paths: [ 'cmake/projects/**' ] + workflow_dispatch: + inputs: + project: + description: 'Project name' + required: true + +jobs: + + set_matrix: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + + steps: + + - name: Git checkout + uses: actions/checkout@v2 + + - name: Manual dispatch, get project name from input + if: github.event_name == 'workflow_dispatch' + run: | + echo '["cmake/projects/${{ github.event.inputs.project }}/hunter.cmake"]' > ${HOME}/files.json + + - name: Get changed files and save them to ${HOME}/files.json + if: github.event_name != 'workflow_dispatch' + id: files + uses: lots0logs/gh-action-get-changed-files@2.1.4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Set matrix for subsequent build + id: set-matrix + run: | + MATRIX=`python .github/workflows/set_matrix.py` + if [ "${MATRIX}" ]; then + echo "::set-output name=matrix::${MATRIX}" + else + exit 1 + fi + + build: + name: ${{ matrix.example }} ${{ matrix.toolchain }} ${{ matrix.os }} + needs: set_matrix + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: ${{ fromJson(needs.set_matrix.outputs.matrix) }} + + env: + TOOLCHAIN: ${{ matrix.toolchain }} + PROJECT_DIR: examples/${{ matrix.example }} + GITHUB_USER_PASSWORD: ${{ secrets.CPP_PM_BOT_TOKEN }} + + steps: + + - name: Git checkout with submodules + uses: actions/checkout@v2 + with: + submodules: true + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + + - name: Set up Python environment variable (Unix) + if: runner.os != 'Windows' + run: echo "HUNTER_PYTHON_LOCATION=$pythonLocation" >> $GITHUB_ENV + + - name: Set up Python environment variable (Windows) + if: runner.os == 'Windows' + run: echo "HUNTER_PYTHON_LOCATION=$env:pythonLocation" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8 + + - name: Extract branch name + shell: bash + run: echo "##[set-output name=branch;]${GITHUB_REF#refs/heads/}" + id: extract_branch + + - name: Upgrade pip + run: | + python -m pip install --upgrade pip + + - name: Build on Unix + if: runner.os != 'Windows' + env: + BRANCH_NAME: ${{ steps.extract_branch.outputs.branch }} + run: | + bash ${{ matrix.script }} + + - name: Build on Windows + if: runner.os == 'Windows' + env: + BRANCH_NAME: ${{ steps.extract_branch.outputs.branch }} + run: | + ${{ matrix.script }} + + set_status: + needs: [ set_matrix, build ] + if: always() && needs.set_matrix.result == 'success' && github.event_name != 'pull_request' + runs-on: ubuntu-latest + + steps: + + - name: Git checkout + uses: actions/checkout@v2 + + - name: Get job status via GitHub API + uses: octokit/request-action@v2.x + id: get_job_data + with: + route: GET /repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Parse job status + run: | + mkdir job_data + echo '${{ steps.get_job_data.outputs.data }}' > job_data.json + python .github/workflows/set_status.py + + - name: Deploy job status to GitHub Pages + uses: peaceiris/actions-gh-pages@v3.7.0-8 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: job_data + destination_dir: _data/projects + keep_files: true + enable_jekyll: true diff --git a/.github/workflows/ci/build.cmd b/.github/workflows/ci/build.cmd new file mode 100644 index 0000000000..3d204a7799 --- /dev/null +++ b/.github/workflows/ci/build.cmd @@ -0,0 +1,48 @@ +:: Install Python package 'requests' +pip install requests gitpython + +:: Install latest Polly toolchains and scripts +C:\msys64\usr\bin\wget.exe https://github.com/cpp-pm/polly/archive/master.zip +7z x master.zip +set POLLY_ROOT=%cd%\polly-master + +:: Install dependencies (CMake, Ninja) +python %POLLY_ROOT%\bin\install-ci-dependencies.py + +:: Tune locations +set PATH=%cd%\_ci\cmake\bin;%PATH% +set PATH=%cd%\_ci\ninja;%PATH% + +:: Remove entry with sh.exe from PATH to fix error with MinGW toolchain +:: (For MinGW make to work correctly sh.exe must NOT be in your path) +:: * http://stackoverflow.com/a/3870338/2288008 +set PATH=%PATH:C:\Program Files\Git\bin;=% +set PATH=%PATH:C:\Program Files\Git\usr\bin;=% + +:: Save git.exe in HUNTER_GIT_EXECUTABLE for upload +:: * https://docs.hunter.sh/en/latest/reference/user-variables.html#hunter-git-executable +:: Variable will be used in CMake so it's okay to use Unix style '/' +set HUNTER_GIT_EXECUTABLE=C:/Program Files/Git/bin/git.exe + +set MINGW_PATH=C:\ProgramData\chocolatey\bin + +:: MSYS2 location +set MSYS_PATH=C:\msys64\usr\bin + +:: Visual Studio 15 2017: Mimic behavior of older versions +set VS150COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools + +:: Visual Studio 16 2019: Mimic behavior of older versions +set VS160COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools + +:: To fix "path too long" error +if not "%TOOLCHAIN:vs-=%"=="%TOOLCHAIN%" set HUNTER_BINARY_DIR=C:\__BIN + +:: Add msbuild to PATH (for vs-14 toolchain, GitHub windows-2016 runner doesn't have VS 2015) +if "%TOOLCHAIN:~0,5%"=="vs-14" set PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin;%PATH% + +if "%BRANCH_NAME%" == "master" ( + python jenkins.py --upload +) else ( + python jenkins.py +) diff --git a/.github/workflows/ci/build.sh b/.github/workflows/ci/build.sh new file mode 100644 index 0000000000..24af6e129e --- /dev/null +++ b/.github/workflows/ci/build.sh @@ -0,0 +1,33 @@ +# Install Python package 'requests' +pip install requests gitpython + +# Install latest Polly toolchains and scripts +wget https://github.com/cpp-pm/polly/archive/master.zip +unzip master.zip +POLLY_ROOT="`pwd`/polly-master" +export PATH="${POLLY_ROOT}/bin:${PATH}" + +# Install dependencies (CMake, Android NDK) +install-ci-dependencies.py --prune-archives + +# Tune locations +export PATH="`pwd`/_ci/cmake/bin:${PATH}" + +# Installed if toolchain is Android (otherwise directory doesn't exist) +export ANDROID_NDK_r10e="`pwd`/_ci/android-ndk-r10e" +export ANDROID_NDK_r11c="`pwd`/_ci/android-ndk-r11c" +export ANDROID_NDK_r15c="`pwd`/_ci/android-ndk-r15c" +export ANDROID_NDK_r16b="`pwd`/_ci/android-ndk-r16b" +export ANDROID_NDK_r17="`pwd`/_ci/android-ndk-r17" + +# Use Xcode 11.3.1 instead of default 11.6 (for ios-13-2 toolchain, no iOS 13.2 SDK in Xcode 11.6) +if [[ "$TOOLCHAIN" =~ "ios-nocodesign-13-2" ]]; then + export DEVELOPER_DIR="/Applications/Xcode_11.3.1.app/Contents/Developer" +fi + +# Run build script +if [[ "$BRANCH_NAME" == "master" ]]; then + python jenkins.py --upload +else + python jenkins.py +fi diff --git a/.github/workflows/ci/matrix.json b/.github/workflows/ci/matrix.json new file mode 100644 index 0000000000..d1b09d174a --- /dev/null +++ b/.github/workflows/ci/matrix.json @@ -0,0 +1,22 @@ +[ +{ "example": "foo", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "analyze-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "sanitize-address-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "sanitize-leak-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "sanitize-thread-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "foo", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "foo", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "foo", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "foo", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "foo", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "foo", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "foo", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" } +] diff --git a/.github/workflows/set_matrix.py b/.github/workflows/set_matrix.py new file mode 100644 index 0000000000..b750b49fe4 --- /dev/null +++ b/.github/workflows/set_matrix.py @@ -0,0 +1,59 @@ +import os +import sys +import json +import re + +# simple helper to allow single-line-comments with `//` in json files +# https://stackoverflow.com/a/57814048 +def json_from_file_ignore_comments(filePath): + contents = "" + with open(filePath, "r") as fh: + for line in fh: + cleanedLine = line.split("//", 1)[0] + if len(cleanedLine) > 0 and line.endswith("\n") and "\n" not in cleanedLine: + cleanedLine += "\n" + contents += cleanedLine + json_data = json.loads(contents) + return json_data + +try: + with open(os.environ.get('HOME') + '/files.json') as json_files: + files = json.load(json_files) +except IOError: + sys.exit('Can\'t read changed files from files.json') + +projects = set() + +p = re.compile('cmake/projects/([^/]+)') +for file in files: + if p.match(file): + project = p.match(file).group(1) + if os.path.isdir('cmake/projects/' + project): + projects.add(project) + +if projects: + dafault_dir = '.github/workflows/ci/' + + default_matrix = json_from_file_ignore_comments(dafault_dir + 'matrix.json') + + include = [] + for project in projects: + project_dir = 'cmake/projects/' + project + '/ci/'; + + matrix_override = project_dir + 'matrix.json'; + if os.path.isfile(matrix_override): + project_matrix = json_from_file_ignore_comments(matrix_override) + else: + project_matrix = [ dict(leg, example = project) for leg in default_matrix ] + + for leg in project_matrix: + if (os.path.isfile(project_dir + leg['script'])): + leg['script'] = project_dir + leg['script'] + else: + leg['script'] = dafault_dir + leg['script'] + + include += project_matrix + + print(json.dumps({'include': include})) +else: + sys.exit('No projects found') \ No newline at end of file diff --git a/.github/workflows/set_status.py b/.github/workflows/set_status.py new file mode 100644 index 0000000000..97c0dc7353 --- /dev/null +++ b/.github/workflows/set_status.py @@ -0,0 +1,18 @@ +import sys +import json + +try: + with open('job_data.json') as json_data: + job_data = json.load(json_data) +except IOError: + sys.exit('Can\'t read job status from job_data.json') + +projects = dict() + +for job in job_data['jobs'][1:-1]: + project = job['name'].split(" ")[0] + projects.setdefault(project, []).append(job) + +for project, jobs in projects.items(): + with open('job_data/' + project + '.json', 'w') as file: + json.dump(sorted(jobs, key = lambda i: i['name']), file, indent=4) \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2a2120b54b..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,62 +0,0 @@ -# OSX/Linux (https://github.com/travis-ci-tester/toolchain-table) - -language: - - minimal - -os: - - linux - -# Container-based infrastructure (Linux) -# * https://docs.travis-ci.com/user/migrating-from-legacy/#How-can-I-use-container-based-infrastructure%3F -sudo: - - false - -# Install packages differs for container-based infrastructure -# * https://docs.travis-ci.com/user/migrating-from-legacy/#How-do-I-install-APT-sources-and-packages%3F -addons: - apt: - packages: - - python3-pip - - enchant # for documentation - -dist: - - trusty - -env: - - TOOLCHAIN=generate-documentation-test - -install: - # Info about OS - - uname -a - - # Install Python 3 - - if [[ "`uname`" == "Darwin" ]]; then travis_retry brew install python3; fi - - # Install Python package 'requests' - # 'easy_install3' is not installed by 'brew install python3' on OS X 10.9 Maverick - - if [[ "`uname`" == "Darwin" ]]; then pip3 install requests; fi - - if [[ "`uname`" == "Linux" ]]; then travis_retry pip3 install --user requests; fi - - # Install latest Polly toolchains and scripts - - wget https://github.com/cpp-pm/polly/archive/master.zip - - unzip master.zip - - POLLY_ROOT="`pwd`/polly-master" - - export PATH="${POLLY_ROOT}/bin:${PATH}" - - # Install dependencies (CMake, Android NDK) - - install-ci-dependencies.py - - # Tune locations - - export PATH="`pwd`/_ci/cmake/bin:${PATH}" - - # Installed if toolchain is Android (otherwise directory doesn't exist) - - export ANDROID_NDK_r10e="`pwd`/_ci/android-ndk-r10e" - - export ANDROID_NDK_r11c="`pwd`/_ci/android-ndk-r11c" - -script: - - cd docs - - ./jenkins.sh - -branches: - only: - - master diff --git a/README.rst b/README.rst index 92f56fef93..cf6e9cc240 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ Hunter ====== -|gitter| |rtfd| |travis| |appveyor| |license| +|gitter| |rtfd| |license| CMake driven cross-platform package manager for C/C++. Linux, Windows, macOS, iOS, Android, Raspberry Pi, etc. @@ -13,7 +13,7 @@ Linux, Windows, macOS, iOS, Android, Raspberry Pi, etc. * Reporting issues: https://github.com/cpp-pm/hunter/issues/new * Contributing guide: https://hunter.readthedocs.io/en/latest/contributing.html * Contacts: https://hunter.readthedocs.io/en/latest/contacts.html -* `Per package testing table `_ +* `Per package testing table `_ .. |gitter| image:: https://badges.gitter.im/cpp-pm/community.svg :target: https://gitter.im/cpp-pm/community @@ -23,14 +23,6 @@ Linux, Windows, macOS, iOS, Android, Raspberry Pi, etc. :target: http://hunter.readthedocs.io/en/latest/?badge=latest :alt: Documentation status -.. |travis| image:: https://img.shields.io/travis/cpp-pm/hunter-testing/pkg.gtest.svg?style=flat&logo=travis&label=Linux%20OSX%20Android%20iOS - :target: https://travis-ci.com/cpp-pm/hunter-testing/builds - :alt: Travis CI - -.. |appveyor| image:: https://img.shields.io/appveyor/ci/rbsheth/hunter-testing/pkg.gtest.svg?style=flat&logo=appveyor&label=Windows - :target: https://ci.appveyor.com/project/rbsheth/hunter-testing/history - :alt: AppVeyor CI - .. |license| image:: https://img.shields.io/github/license/cpp-pm/hunter.svg :target: https://github.com/cpp-pm/hunter/blob/master/LICENSE :alt: LICENSE diff --git a/cmake/configs/default.cmake b/cmake/configs/default.cmake index 3344893909..a2677df4ec 100644 --- a/cmake/configs/default.cmake +++ b/cmake/configs/default.cmake @@ -1,4 +1,4 @@ -# Copyright (c) 2013-2018, Ruslan Baratov +# Copyright (c) 2013-2020, Ruslan Baratov, Rahul Sheth # All rights reserved. # Do not place header guards here @@ -27,7 +27,7 @@ hunter_default_version(Android-SDK-Tools VERSION 25.2.5) hunter_default_version(Android-Support-Repository VERSION 47) hunter_default_version(AngelScript VERSION 2.30-p0) hunter_default_version(ArrayFire VERSION 3.3.1-p0) -hunter_default_version(Assimp VERSION 5.0.0-07779a7a) +hunter_default_version(Assimp VERSION 5.0.1-dbd99bf) hunter_default_version(Async++ VERSION 0.0.3-hunter) hunter_default_version(Avahi VERSION 0.6.31) hunter_default_version(BZip2 VERSION 1.0.8-p0) @@ -37,7 +37,7 @@ if(MINGW) # https://github.com/boostorg/build/issues/301 hunter_default_version(Boost VERSION 1.64.0) else() - hunter_default_version(Boost VERSION 1.72.0-p1) + hunter_default_version(Boost VERSION 1.75.0) endif() hunter_default_version(Boost.DI VERSION 1.1.0) @@ -57,9 +57,9 @@ hunter_default_version(CppNetlib VERSION 0.10.1-hunter-3) hunter_default_version(CppNetlibUri VERSION 1.0.5-hunter) hunter_default_version(CreateLaunchers VERSION 0.2.1) hunter_default_version(CsvParserCPlusPlus VERSION 1.0.1) -hunter_default_version(Eigen VERSION 3.3.7) +hunter_default_version(Eigen VERSION 3.3.9) hunter_default_version(EnumGroup VERSION 0.0.1) -hunter_default_version(Expat VERSION 2.1.1) +hunter_default_version(Expat VERSION 2.2.9-p0) hunter_default_version(FLAC VERSION 1.3.3-p0) hunter_default_version(FP16 VERSION 0.0.0-febbb1c-p0) hunter_default_version(FakeIt VERSION 2.0.3) @@ -79,10 +79,11 @@ hunter_default_version(HastyNoise VERSION 0.8.3) hunter_default_version(ICU VERSION 63.1-p5) hunter_default_version(IF97 VERSION 2.1.2) hunter_default_version(Igloo VERSION 1.1.1-hunter) -hunter_default_version(IlmBase VERSION 2.4.0-p1) +hunter_default_version(IlmBase VERSION 2.5.1-p0) hunter_default_version(Immer VERSION 0.6.2-cf44615) hunter_default_version(Jpeg VERSION 9c-p0) hunter_default_version(JsonSpirit VERSION 0.0.4-hunter) +hunter_default_version(KhronosDataFormat VERSION 1.3.1-1f8c852-p1) hunter_default_version(LAPACK VERSION 3.7.1) hunter_default_version(LLVM VERSION 6.0.1-p0) # Clang hunter_default_version(LLVMCompilerRT VERSION 6.0.1) # Clang @@ -108,16 +109,17 @@ hunter_default_version(OpenCL VERSION 2.1-p3) hunter_default_version(OpenCL-cpp VERSION 2.0.10-p0) hunter_default_version(OpenCV VERSION 4.1.1-p0) hunter_default_version(OpenCV-Extra VERSION 4.1.1) -hunter_default_version(OpenEXR VERSION 2.4.0-p1) +hunter_default_version(OpenEXR VERSION 2.5.1-p0) hunter_default_version(OpenNMTTokenizer VERSION 1.11.0-p1) -hunter_default_version(OpenSSL VERSION 1.1.1d) +hunter_default_version(OpenSSL VERSION 1.1.1i) hunter_default_version(OpenSceneGraph VERSION 3.6.3-p0) +hunter_default_version(Opus VERSION 1.3.1) hunter_default_version(PNG VERSION 1.6.26-p6) hunter_default_version(PROJ4 VERSION 5.0.0) hunter_default_version(PhysUnits VERSION 1.1.0-p0) hunter_default_version(PocoCpp VERSION 1.10.1-p0) hunter_default_version(PostgreSQL VERSION 10.0.0) -hunter_default_version(Protobuf VERSION 3.11.2-p0) +hunter_default_version(Protobuf VERSION 3.14.0-4a09d77-p0) string(COMPARE EQUAL "${CMAKE_SYSTEM_NAME}" "Linux" _is_linux) if(_is_linux OR MINGW) @@ -135,7 +137,7 @@ hunter_default_version(QtCMakeExtra VERSION 1.0.34) hunter_default_version(QtPropertyEditor VERSION 2.1.3-p0) hunter_default_version(QtQmlManager VERSION 1.0.0) hunter_default_version(Qwt VERSION 6.1-p3) -hunter_default_version(RapidJSON VERSION 1.1.0-66eb606-p0) +hunter_default_version(RapidJSON VERSION 1.1.0-ce81bc9-p1) hunter_default_version(RapidXML VERSION 1.13) hunter_default_version(RedisClient VERSION 0.6.1-p1) hunter_default_version(SDL2 VERSION 2.0.7-p3) @@ -143,8 +145,8 @@ hunter_default_version(SDL_image VERSION 2.0.1-p1) hunter_default_version(SDL_mixer VERSION 2.0.2-p0) hunter_default_version(SDL_ttf VERSION 2.0.14-p0) hunter_default_version(SFML VERSION 2.5.1-p0) -hunter_default_version(SPIRV-Headers VERSION 1.5.1) -hunter_default_version(SPIRV-Tools VERSION 2019.4-p0) +hunter_default_version(SPIRV-Headers VERSION 1.5.4.raytracing.fixed) +hunter_default_version(SPIRV-Tools VERSION 2020.1-p0) hunter_default_version(SQLiteModernCpp VERSION 0.0.0) hunter_default_version(SimpleSignal VERSION 0.0.0-79c3f68-p1) hunter_default_version(Snappy VERSION 1.1.7) @@ -156,7 +158,7 @@ hunter_default_version(TIFF VERSION 4.0.2-p5) hunter_default_version(Tesseract VERSION 3.05.01-hunter-3) hunter_default_version(Urho3D VERSION 1.7-p15) hunter_default_version(Vulkan-Headers VERSION 1.2.133-p0) -hunter_default_version(VulkanMemoryAllocator VERSION 2.1.0-p0) +hunter_default_version(VulkanMemoryAllocator VERSION 2.3.0-p0) hunter_default_version(WDC VERSION 1.1.5) hunter_default_version(WTL VERSION 9.1.5321) hunter_default_version(Washer VERSION 0.1.2) @@ -169,7 +171,7 @@ hunter_default_version(ZMQPP VERSION 4.2.0-p0) hunter_default_version(ZeroMQ VERSION 4.2.3-p1) hunter_default_version(Zug VERSION 0.0.1-be20cae) -hunter_default_version(absl VERSION 20200225.2) +hunter_default_version(abseil VERSION 20200923.2) hunter_default_version(acf VERSION 0.1.14) hunter_default_version(actionlib VERSION 1.11.13-p0) hunter_default_version(aes VERSION 0.0.1-p1) @@ -188,11 +190,14 @@ hunter_default_version(android_sdk_platform_tools_packer VERSION 1.0.0) hunter_default_version(android_sdk_tools_packer VERSION 1.0.3) hunter_default_version(android_support_repository_packer VERSION 1.0.0) hunter_default_version(angles VERSION 1.9.11-p0) +hunter_default_version(apg VERSION 0.0.0-b322f7a-p0) hunter_default_version(arabica VERSION 0.0.0-a202766-p0) -hunter_default_version(asio VERSION 1.12.2-8d6df7b-p1) +hunter_default_version(asio VERSION 1.17.0-p0) +hunter_default_version(astc-encoder VERSION 2.0-ab16aaa-p0) hunter_default_version(autobahn-cpp VERSION 0.2.0) hunter_default_version(autoutils VERSION 0.3.0) hunter_default_version(aws-c-common VERSION 0.2.1-p0) +hunter_default_version(basis_universal VERSION 1.12-f80f8dd-p2) hunter_default_version(benchmark VERSION 1.5.0) hunter_default_version(bento4 VERSION 1.5.1-628-e6ee435-p0) hunter_default_version(binaryen VERSION 1.38.28-p1) @@ -207,7 +212,8 @@ hunter_default_version(catkin VERSION 0.7.17-p0) hunter_default_version(cctz VERSION 2.2.0) hunter_default_version(ccv VERSION 0.7-p6) hunter_default_version(cereal VERSION 1.2.2-p0) -hunter_default_version(ceres-solver VERSION 1.14.0-p1) +hunter_default_version(ceres-solver VERSION 2.0.0-p0) +hunter_default_version(cgltf VERSION 1.7-dc6b5f1-p0) hunter_default_version(check_ci_tag VERSION 1.0.0) hunter_default_version(chromium_zlib VERSION 0.0.0-f87c2b10efb4-p0) hunter_default_version(civetweb VERSION 1.11-p0) @@ -216,6 +222,7 @@ hunter_default_version(class_loader VERSION 0.4.1-p0) hunter_default_version(cmcstl2 VERSION 0.0.0-bee0705e99) hunter_default_version(convertutf VERSION 1.0.1) hunter_default_version(corrade VERSION 2019.10) +hunter_default_version(cpp-statsd-client VERSION 1.0.1-42f02b4-p0) hunter_default_version(cpp_redis VERSION 3.5.0-h1) hunter_default_version(cppast VERSION 0.0.0-b155d6a-p0) hunter_default_version(cppcodec VERSION 0.2-p0) @@ -255,35 +262,39 @@ hunter_default_version(eigen3-nnls VERSION 1.0.1) hunter_default_version(enet VERSION 1.3.13-p1) hunter_default_version(entityx VERSION 1.3.0-p1) hunter_default_version(eos VERSION 0.12.1) +hunter_default_version(etc2comp VERSION 0.0.0-9cd0f9c-p0) hunter_default_version(ethash VERSION 0.5.0) hunter_default_version(farmhash VERSION 1.1) +hunter_default_version(fast_obj VERSION 1.0-p0) hunter_default_version(ffmpeg VERSION n4.1-dev-45499e557c-p7) hunter_default_version(fft2d VERSION 1.0.0-p0) +hunter_default_version(filament VERSION 1.9.8) hunter_default_version(fixesproto VERSION 5.0) -hunter_default_version(flatbuffers VERSION 1.8.0-p1) +hunter_default_version(flatbuffers VERSION 1.12.0) hunter_default_version(flex VERSION 2.6.4) -hunter_default_version(fmt VERSION 6.1.2) +hunter_default_version(fmt VERSION 7.1.2) hunter_default_version(folly VERSION 2018.10.22.00-p4) -hunter_default_version(freetype VERSION 2.9.1-p1) +hunter_default_version(freetype VERSION 2.9.1-p3) +hunter_default_version(freetype-gl VERSION 0.0.0-1a8c007-p0) hunter_default_version(frugally-deep VERSION 0.2.2-p0) -hunter_default_version(gRPC VERSION 1.29.1.1) +hunter_default_version(gRPC VERSION 1.34.0-p0) hunter_default_version(gauze VERSION 0.7.1) hunter_default_version(gemmlowp VERSION 1.0.0) hunter_default_version(geos VERSION 3.4.2) hunter_default_version(getopt VERSION 1.0.0-p0) hunter_default_version(gflags VERSION 2.2.1) hunter_default_version(giflib VERSION 5.1.4-p1) -hunter_default_version(gl4es VERSION 1.1.2-p0) +hunter_default_version(gl4es VERSION 1.1.4-p1) hunter_default_version(glbinding VERSION 3.1.0-p0) hunter_default_version(glew VERSION 2.0.0-p1) hunter_default_version(glfw VERSION 3.3.0-f9923e9-p0) hunter_default_version(glib VERSION 2.54.0) -hunter_default_version(glm VERSION 0.9.9.5) +hunter_default_version(glm VERSION 0.9.9.8) hunter_default_version(globjects VERSION 1.1.0-p0) hunter_default_version(glog VERSION 0.4.0) hunter_default_version(glproto VERSION 1.4.17) -hunter_default_version(glslang VERSION 7.12.3352-p1) -hunter_default_version(glu VERSION 9.0.1-p0) +hunter_default_version(glslang VERSION 8.13.3743-9eef54b2-p0) +hunter_default_version(glu VERSION 9.0.1-p1) hunter_default_version(gst_plugins_bad VERSION 1.10.4) hunter_default_version(gst_plugins_base VERSION 1.10.4) hunter_default_version(gst_plugins_good VERSION 1.10.4) @@ -307,7 +318,7 @@ hunter_default_version(inja VERSION 0.1.1) hunter_default_version(inputproto VERSION 2.3) hunter_default_version(intltool VERSION 0.51.0) hunter_default_version(intsizeof VERSION 2.0.2) -hunter_default_version(intx VERSION 0.2.0) +hunter_default_version(intx VERSION 0.5.0) hunter_default_version(ios_sim VERSION 3.1.1) hunter_default_version(ippicv VERSION 20151201) hunter_default_version(iroha-ed25519 VERSION 2.0.0) @@ -316,6 +327,8 @@ hunter_default_version(jaegertracing VERSION 0.4.1) hunter_default_version(jansson VERSION 2.11.0) hunter_default_version(jasper VERSION 2.0.14-p3) hunter_default_version(jo_jpeg VERSION 0.0.1) +hunter_default_version(jpeg-compressor VERSION 0.0.0-aeb7d3b-p0) +hunter_default_version(jsmn VERSION 1.1.0-053d3cd-p0) if(MSVC_VERSION LESS 1600) # for VS10 - version without support C++11 @@ -331,13 +344,14 @@ hunter_default_version(kbproto VERSION 1.0.7) hunter_default_version(lcms VERSION 2.9-p0) hunter_default_version(lehrfempp VERSION 0.7.21) hunter_default_version(leveldb VERSION 1.22) +hunter_default_version(libarchive VERSION 3.4.3) hunter_default_version(libbacktrace VERSION 1.0.0-ca0de051) hunter_default_version(libcpuid VERSION 0.4.0) hunter_default_version(libdaemon VERSION 0.14) hunter_default_version(libdill VERSION 1.6) hunter_default_version(libevhtp VERSION 1.2.16-p4) hunter_default_version(libffi VERSION 3.2.1) -hunter_default_version(libigl VERSION 2.0.0-e33f534-p1) +hunter_default_version(libigl VERSION 2.2.0) hunter_default_version(libjpeg-turbo VERSION 2.0.3-p0) hunter_default_version(libjson-rpc-cpp VERSION 0.7.0-p3) hunter_default_version(libmill VERSION 1.18) @@ -349,7 +363,7 @@ hunter_default_version(libscrypt VERSION 1.21-p1) hunter_default_version(libsecp256k1 VERSION 0.1) hunter_default_version(libsodium VERSION 1.0.16-p0) hunter_default_version(libunibreak VERSION 4.0) -hunter_default_version(libusb VERSION 1.0.22) +hunter_default_version(libusb VERSION 1.0.23) hunter_default_version(libuv VERSION 1.24.0-p1) hunter_default_version(libxdg-basedir VERSION 1.2.0) hunter_default_version(libxml2 VERSION 2.9.7-p0) @@ -358,11 +372,13 @@ hunter_default_version(libzip VERSION 1.5.2-d68a667-p0) hunter_default_version(lmdb VERSION 0.9.21-p2) hunter_default_version(lmdbxx VERSION 0.9.14.0) hunter_default_version(log4cplus VERSION 1.2.0-p0) -hunter_default_version(lz4 VERSION 1.8.0-p2) +hunter_default_version(lz4 VERSION 1.9.2-p0) hunter_default_version(lzma VERSION 5.2.3-p4) hunter_default_version(magnum VERSION 2019.01) hunter_default_version(md5 VERSION 1.6) +hunter_default_version(meshoptimizer VERSION 0.14-a507623-p0) hunter_default_version(mini_chromium VERSION 0.0.1-p2) +hunter_default_version(miniz VERSION 2.1.0-5ebed82-p0) hunter_default_version(minizip VERSION 1.0.1-p3) hunter_default_version(mkl VERSION 20190502) hunter_default_version(mkldnn VERSION 0.19-p0) @@ -379,9 +395,10 @@ hunter_default_version(nanosvg VERSION 0.0.0-2b08dee-p0) hunter_default_version(ncnn VERSION 20180314-p2) hunter_default_version(ncursesw VERSION 6.1) hunter_default_version(nlohmann_fifo_map VERSION 0.0.0-0dfbf5d-p1) -hunter_default_version(nlohmann_json VERSION 3.7.0) +hunter_default_version(nlohmann_json VERSION 3.8.0) hunter_default_version(nng VERSION 1.1.1) hunter_default_version(nsync VERSION 1.14-p1) +hunter_default_version(occt VERSION 7.4.0-p0) hunter_default_version(odb VERSION 2.4.0) hunter_default_version(odb-boost VERSION 2.4.0) hunter_default_version(odb-compiler VERSION 2.4.0) @@ -393,6 +410,7 @@ hunter_default_version(oniguruma VERSION 6.8.1-p0) hunter_default_version(onmt VERSION 0.4.1-p2) hunter_default_version(openddlparser VERSION 0.1.0-p2) hunter_default_version(opentracing-cpp VERSION 1.6.0) +hunter_default_version(opusfile VERSION 0.12-p0) hunter_default_version(pcg VERSION 0.0.0-p1) hunter_default_version(pciaccess VERSION 0.13.4) hunter_default_version(pcre2 VERSION 10.13-p0) @@ -429,10 +447,10 @@ hunter_default_version(presentproto VERSION 1.0) hunter_default_version(prometheus-cpp VERSION 0.6.0-p2) hunter_default_version(protobuf-c VERSION 1.3.0-p1) hunter_default_version(pthread-stubs VERSION 0.4) -hunter_default_version(pugixml VERSION 1.8.1) -hunter_default_version(pybind11 VERSION 2.2.4) +hunter_default_version(pugixml VERSION 1.10-p0) +hunter_default_version(pybind11 VERSION 2.5.0) hunter_default_version(qhull VERSION 7.2.0-p1) -hunter_default_version(quickjs VERSION 2019-07-21-p0) +hunter_default_version(quickjs VERSION 2020-04-12-p0) hunter_default_version(rabbitmq-c VERSION 0.10.0) hunter_default_version(rabit VERSION 0.0.0-p2) hunter_default_version(randrproto VERSION 1.3.2) @@ -442,13 +460,13 @@ if(MSVC) if(MSVC_VERSION LESS 1916) hunter_default_version(range-v3 VERSION vcpkg5-p) else() - hunter_default_version(range-v3 VERSION 0.5.0) + hunter_default_version(range-v3 VERSION 0.11.0) endif() else() - hunter_default_version(range-v3 VERSION 0.5.0) + hunter_default_version(range-v3 VERSION 0.11.0) endif() -hunter_default_version(re2 VERSION 2017.11.01-p0) +hunter_default_version(re2 VERSION 2020.08.01) hunter_default_version(readline VERSION 6.3) hunter_default_version(recastnavigation VERSION 1.4-p0) hunter_default_version(renderproto VERSION 0.11.1) @@ -471,7 +489,7 @@ hunter_default_version(ros_std_msgs VERSION 0.5.12-p0) hunter_default_version(rosconsole VERSION 1.13.10-p0) hunter_default_version(roscpp_core VERSION 0.6.12-p0) hunter_default_version(rospack VERSION 2.5.3-p0) -hunter_default_version(s3 VERSION 0.0.0-287e4be-p1) +hunter_default_version(s3 VERSION 4.1.0-287e4be-p0) hunter_default_version(scelta VERSION 0.1.0-a0f4f70-p0) hunter_default_version(schnorrkel_crust VERSION 0.3.0) hunter_default_version(sds VERSION 2.0.0) @@ -480,6 +498,7 @@ hunter_default_version(shaderc VERSION 2019.0-p1) hunter_default_version(shaka_player_embedded VERSION 0.1.0-beta-p1) hunter_default_version(sleef VERSION 3.3.1-p1) hunter_default_version(sm VERSION 1.2.3) +hunter_default_version(smol-v VERSION 0.0.0-4b52c16-p0) hunter_default_version(soil VERSION 1.0.4) hunter_default_version(sources_for_android_sdk_packer VERSION 1.0.0) hunter_default_version(sparsehash VERSION 2.0.2) @@ -488,10 +507,10 @@ if(MSVC_VERSION LESS 1800) # for VS12 - version without support C++11 hunter_default_version(spdlog VERSION 1.0.0-p0) else() - hunter_default_version(spdlog VERSION 1.4.2-p0) + hunter_default_version(spdlog VERSION 1.8.0-p1) endif() -hunter_default_version(spirv-cross VERSION 20190906) +hunter_default_version(spirv-cross VERSION 20200917) hunter_default_version(sqlite3 VERSION 3.30.1-p0) hunter_default_version(sse2neon VERSION 1.0.0-p0) hunter_default_version(stanhull VERSION 0.0.1) @@ -504,13 +523,17 @@ hunter_default_version(szip VERSION 2.1.0-p1) hunter_default_version(tacopie VERSION 3.2.0-h1) hunter_default_version(taocpp-json VERSION 1.0.0-beta.11-e0895587) hunter_default_version(tcl VERSION core8.6.8) -hunter_default_version(termcolor VERSION 1.0.0) +hunter_default_version(termcolor VERSION 1.0.1) hunter_default_version(tf VERSION 1.12.0-p0) hunter_default_version(tf2 VERSION 0.6.5-p0) +hunter_default_version(theora VERSION 1.1.1-p0) hunter_default_version(thread-pool-cpp VERSION 1.1.0) hunter_default_version(thrift VERSION 0.12.0-p0) hunter_default_version(tiny-process-library VERSION 2.0.2-p0) hunter_default_version(tinydir VERSION 1.2-p0) +hunter_default_version(tinyexr VERSION 1.0.0-297e645-p1) +hunter_default_version(tinygltf VERSION 2.5.0-p0) +hunter_default_version(tinyobjloader VERSION 2.0.0-rc6-bec38e3) hunter_default_version(tinyrefl VERSION 0.4.1-p0) hunter_default_version(tinyxml2 VERSION 6.2.0-p1) hunter_default_version(tmxparser VERSION 2.1.0-ab4125b-p1) @@ -518,10 +541,11 @@ hunter_default_version(toluapp VERSION 1.0.93-p1) hunter_default_version(tomcrypt VERSION 1.18.2-p1) hunter_default_version(tommath VERSION 1.0.1-p0) hunter_default_version(tsl_hat_trie VERSION 1.0.0) +hunter_default_version(tsl_robin_map VERSION 0.6.3-dc2023b) hunter_default_version(tvm VERSION 0.5-a4bc50e-p0) hunter_default_version(type_safe VERSION 0.2.1-p2) hunter_default_version(units VERSION 2.3.1) -hunter_default_version(utf8 VERSION 2.3.4-p1) +hunter_default_version(utf8 VERSION 3.1.1) hunter_default_version(util_linux VERSION 2.30.1) hunter_default_version(uuid VERSION 1.0.3) hunter_default_version(v8 VERSION 7.4.98-p3) @@ -533,6 +557,7 @@ hunter_default_version(wxWidgets VERSION 3.0.2) hunter_default_version(wyrm VERSION 0.1.0) hunter_default_version(x11 VERSION 1.6.7) hunter_default_version(x264 VERSION snapshot-20190513-2245) +hunter_default_version(xatlas VERSION 0.0.0-4077f0e-p0) hunter_default_version(xau VERSION 1.0.9) hunter_default_version(xcb VERSION 1.13) hunter_default_version(xcb-proto VERSION 1.13) @@ -554,10 +579,11 @@ hunter_default_version(xshmfence VERSION 1.3) hunter_default_version(xtrans VERSION 1.4.0) hunter_default_version(xxf86vm VERSION 1.1.2) hunter_default_version(xxhash VERSION 0.6.5-p0) -hunter_default_version(yaml-cpp VERSION 0.6.2-0f9a586-p1) +hunter_default_version(yaml-cpp VERSION 0.6.3) hunter_default_version(zip VERSION 0.1.15) +hunter_default_version(zlog VERSION 1.2.14) hunter_default_version(zookeeper VERSION 3.4.9-p2) -hunter_default_version(zstd VERSION 1.4.5-d73e2fb-p0) +hunter_default_version(zstd VERSION 1.4.5) if(ANDROID) string(COMPARE EQUAL "${CMAKE_SYSTEM_VERSION}" "" _is_empty) diff --git a/cmake/modules/hunter_finalize.cmake b/cmake/modules/hunter_finalize.cmake index 766d5bfaa5..d0dfe22cce 100644 --- a/cmake/modules/hunter_finalize.cmake +++ b/cmake/modules/hunter_finalize.cmake @@ -22,7 +22,7 @@ macro(hunter_finalize) string(COMPARE EQUAL "${HUNTER_CACHE_SERVERS}" "" _is_empty) if(_is_empty) hunter_status_debug("Using default cache server") - set(HUNTER_CACHE_SERVERS "https://github.com/ingenue/hunter-cache") + set(HUNTER_CACHE_SERVERS "https://github.com/cpp-pm/hunter-cache") endif() hunter_status_debug("List of cache servers:") diff --git a/cmake/modules/hunter_get_boost_libs.cmake b/cmake/modules/hunter_get_boost_libs.cmake index 716583e4af..821c8eddf0 100644 --- a/cmake/modules/hunter_get_boost_libs.cmake +++ b/cmake/modules/hunter_get_boost_libs.cmake @@ -70,6 +70,7 @@ function(hunter_get_boost_libs) hunter_append_component(${common_args} COMPONENT math SINCE 1.23.0) hunter_append_component(${common_args} COMPONENT metaparse SINCE 1.61.0 UNTIL 1.66.0) hunter_append_component(${common_args} COMPONENT mpi SINCE 1.35.0) + hunter_append_component(${common_args} COMPONENT nowide SINCE 1.74.0) hunter_append_component(${common_args} COMPONENT program_options SINCE 1.32.0) hunter_append_component(${common_args} COMPONENT python SINCE 1.19.0) hunter_append_component(${common_args} COMPONENT random SINCE 1.15.0) @@ -78,7 +79,7 @@ function(hunter_get_boost_libs) hunter_append_component(${common_args} COMPONENT signals SINCE 1.29.0 UNTIL 1.69.0) hunter_append_component(${common_args} COMPONENT stacktrace SINCE 1.65.0) hunter_append_component(${common_args} COMPONENT system SINCE 1.35.0) - hunter_append_component(${common_args} COMPONENT test SINCE 1.21.0) + hunter_append_component(${common_args} COMPONENT test SINCE 1.21.0 UNTIL 1.74.0) hunter_append_component(${common_args} COMPONENT thread SINCE 1.25.0) hunter_append_component(${common_args} COMPONENT timer SINCE 1.9.0) hunter_append_component(${common_args} COMPONENT type_erasure SINCE 1.60.0) diff --git a/cmake/modules/hunter_setup_msvc.cmake b/cmake/modules/hunter_setup_msvc.cmake index 78b498e7a9..55e8781b0b 100644 --- a/cmake/modules/hunter_setup_msvc.cmake +++ b/cmake/modules/hunter_setup_msvc.cmake @@ -17,14 +17,32 @@ include(hunter_status_debug) # Command Prompt. See section "Vcvarsall.bat argument": # - http://msdn.microsoft.com/en-us/library/x4d2c09s.aspx # - http://msdn.microsoft.com/library/x4d2c09s%28v=vs.110%29.aspx +# First part it host toolset, second is target platform, if they are +# the same it is condensed to one part. Chosen based on cmake default +# behaviour. See cmake docs: +# - https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2015%202017.html#toolset-selection +# - https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2016%202019.html#toolset-selection # CMake generator -> HUNTER_MSVC_ARCH example: -# Visual Studio 12 2013 -> x86 -# Visual Studio 12 2013 Win64 -> amd64 -# Visual Studio 12 2013 ARM -> x86_arm +# -G "Visual Studio 12 2013" -> x86 +# -G "Visual Studio 16 2019" -> x86/x64 depending on host platform +# -G "Visual Studio 12 2013" -A x64 -> x86_amd64 +# -G "Visual Studio 12 2013" -A x64 -T "host=x64" -> amd64 +# -G "Visual Studio 15 2017" -A ARM64 -> x86_arm64 +# -G "Visual Studio 15 2017" -A ARM64 -T "host=x64" -> amd64_arm64 +# Note: These last ones are a deprecated style from cmake < v3.1 +# -G "Visual Studio 12 2013 Win64" -> x86_amd64 +# -G "Visual Studio 12 2013 ARM" -> x86_arm # CMake's MSVC_CXX_ARCHITECTURE_ID: # X86 -> x86 -# x64 -> amd64 +# x64 -> x86_amd64 +# x64 (with x64 toolset selected) -> amd64 # ARMV7 -> x86_arm +# ARM64 -> x86_arm64 +# * HUNTER_MSVC_ARCH_HOST - architecture specifier for running on host +# Used for building tools which are needed for building, e.g. Boost's +# b2 build tool. +# * HUNTER_MSVC_ARCH_TARGET - architecture specifier for target. Cannot +# be used directly, but can be useful for querying target architecture. # * HUNTER_MSVC_VCVARSALL - full path to the 'vcvarsall.bat' script # This function should work with all generators that provide MSVC compiler: @@ -90,20 +108,46 @@ macro(hunter_setup_msvc) string(COMPARE EQUAL "${_architecture_id}" "X86" _is_x86) string(COMPARE EQUAL "${_architecture_id}" "x64" _is_x64) string(COMPARE EQUAL "${_architecture_id}" "ARMV7" _is_arm) + string(COMPARE EQUAL "${_architecture_id}" "ARM64" _is_arm64) if(_is_x86) - set(HUNTER_MSVC_ARCH "x86") + set(HUNTER_MSVC_ARCH_TARGET "x86") elseif(_is_x64) - set(HUNTER_MSVC_ARCH "amd64") + set(HUNTER_MSVC_ARCH_TARGET "amd64") elseif(_is_arm) - set(HUNTER_MSVC_ARCH "x86_arm") + set(HUNTER_MSVC_ARCH_TARGET "arm") + elseif(_is_arm64) + set(HUNTER_MSVC_ARCH_TARGET "arm64") else() hunter_internal_error( "Unexpected MSVC_*_ARCHITECTURE_ID: '${_architecture_id}'" ) endif() + # These strings do not match the MSVC_*_ARCHITECTURE_ID ones (empty string indicates original x86 default) + string(COMPARE EQUAL "${CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE}" "" _host_is_default_x86) + string(COMPARE EQUAL "${CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE}" "x86" _host_is_x86) + string(COMPARE EQUAL "${CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE}" "x64" _host_is_x64) + + if(_host_is_x86 OR _host_is_default_x86) + set(HUNTER_MSVC_ARCH_HOST "x86") + elseif(_host_is_x64) + set(HUNTER_MSVC_ARCH_HOST "amd64") + else() + hunter_internal_error( + "Unexpected CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE: '${CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE}'" + ) + endif() + + if(HUNTER_MSVC_ARCH_HOST STREQUAL HUNTER_MSVC_ARCH_TARGET) + set(HUNTER_MSVC_ARCH "${HUNTER_MSVC_ARCH_HOST}") + else() + set(HUNTER_MSVC_ARCH "${HUNTER_MSVC_ARCH_HOST}_${HUNTER_MSVC_ARCH_TARGET}") + endif() + hunter_status_debug("HUNTER_MSVC_ARCH: ${HUNTER_MSVC_ARCH}") + hunter_status_debug("HUNTER_MSVC_ARCH_HOST: ${HUNTER_MSVC_ARCH_HOST}") + hunter_status_debug("HUNTER_MSVC_ARCH_TARGET: ${HUNTER_MSVC_ARCH_TARGET}") set(_hunter_vcvarsall_env "${HUNTER_MSVC_VERSION}0") set(_hunter_vcvarsall_env "VS${_hunter_vcvarsall_env}COMNTOOLS") diff --git a/cmake/projects/Assimp/hunter.cmake b/cmake/projects/Assimp/hunter.cmake index b6e894f9d0..adf1baffed 100644 --- a/cmake/projects/Assimp/hunter.cmake +++ b/cmake/projects/Assimp/hunter.cmake @@ -53,15 +53,39 @@ hunter_add_version( eb8cf84437f6cd4e8efbda5839655e1e1c347c27 ) +hunter_add_version( + PACKAGE_NAME + Assimp + VERSION + 5.0.1-575ce61 + URL + "https://github.com/assimp/assimp/archive/575ce6136d4941a45c6ba894947d0e79fe032aff.tar.gz" + SHA1 + 1c25da96497aede9070c2db4479c22e9dae8567f +) + +hunter_add_version( + PACKAGE_NAME + Assimp + VERSION + 5.0.1-dbd99bf + URL + "https://github.com/assimp/assimp/archive/dbd99bf700f140090e9fc495ff1175d0e619323a.tar.gz" + SHA1 + 7181e77744e8b495b5caf08f72a990797207745c +) + hunter_cmake_args( Assimp CMAKE_ARGS + BUILD_SHARED_LIBS=OFF ASSIMP_BUILD_ASSIMP_TOOLS=OFF ASSIMP_BUILD_SAMPLES=OFF ASSIMP_BUILD_TESTS=OFF ASSIMP_ENABLE_BOOST_WORKAROUND=OFF ASSIMP_INSTALL_PDB=OFF - IGNORE_GIT_HASH=ON + ASSIMP_IGNORE_GIT_HASH=ON + ASSIMP_HUNTER_ENABLED=ON ) hunter_pick_scheme(DEFAULT url_sha1_cmake) diff --git a/cmake/projects/Boost/ci/matrix.json b/cmake/projects/Boost/ci/matrix.json new file mode 100644 index 0000000000..f8d02eb70f --- /dev/null +++ b/cmake/projects/Boost/ci/matrix.json @@ -0,0 +1,269 @@ +[ +{ "example": "Boost", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "analyze-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "sanitize-address-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "sanitize-leak-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "sanitize-thread-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-useBoostConfig", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "analyze-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "sanitize-address-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "sanitize-leak-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "sanitize-thread-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-useBoostConfig", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-useBoostConfig", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-useBoostConfig", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-useBoostConfig", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-useBoostConfig", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-useBoostConfig", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-useBoostConfig", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-chrono-useBoostConfig", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-container", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-container", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-container", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-container", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-container", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-container", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-container", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-container", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-container", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-container", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-container", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-container", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-container", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-container", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-container", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-container", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-contract", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-contract", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-contract", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-contract", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-contract", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-contract", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-contract", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-contract", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-contract", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-contract", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-contract", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-contract", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-contract", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-contract", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-contract", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-contract", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-fiber", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-fiber", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-fiber", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-fiber", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-fiber", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-fiber", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-fiber", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-fiber", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-fiber", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-fiber", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-fiber", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-fiber", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-fiber", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-fiber", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-fiber", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-fiber", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-filesystem-useBoostConfig", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-log-useBoostConfig", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "analyze-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "sanitize-address-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "sanitize-leak-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "sanitize-thread-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-log-useBoostConfig", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-math", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-math", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-math", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-math", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-math", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-math", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-math", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-math", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-math", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-math", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-math", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-math", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-math", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-math", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-math", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-math", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-process", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-process", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-process", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-process", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-process", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-process", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-process", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-process", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-process", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-process", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-process", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-process", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-process", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-process", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-process", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-process", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-program-options", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-program-options", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-program-options", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-program-options", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-program-options", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-program-options", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-program-options", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-program-options", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-program-options", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-program-options", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-program-options", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-program-options", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-program-options", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-program-options", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-program-options", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-program-options", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-random", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-random", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-random", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-random", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-random", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-random", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-random", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-random", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-random", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-random", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-random", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-random", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-random", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-random", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-random", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-random", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-serialization", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-serialization", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-serialization", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-serialization", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-serialization", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-serialization", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-serialization", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-serialization", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-serialization", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-serialization", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-serialization", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-serialization", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-serialization", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-serialization", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-serialization", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-serialization", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-stacktrace", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-stacktrace", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-stacktrace", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-stacktrace", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-stacktrace", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-stacktrace", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-stacktrace", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-stacktrace", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-stacktrace", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-stacktrace", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-stacktrace", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-stacktrace", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-stacktrace", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-stacktrace", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-stacktrace", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-stacktrace", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + +{ "example": "Boost-thread", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-thread", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-thread", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-thread", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-thread", "toolchain": "android-ndk-r17-api-24-arm64-v8a-clang-libcxx14", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-thread", "toolchain": "osx-10-13-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-thread", "toolchain": "osx-10-13-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-thread", "toolchain": "osx-10-15-dep-10-10-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-thread", "toolchain": "ios-nocodesign-13-2-dep-9-3", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Boost-thread", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-thread", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-thread", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-thread", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-thread", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-thread", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, +{ "example": "Boost-thread", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" } + +] \ No newline at end of file diff --git a/cmake/projects/Boost/container/hunter.cmake b/cmake/projects/Boost/container/hunter.cmake new file mode 100644 index 0000000000..5af09f13bb --- /dev/null +++ b/cmake/projects/Boost/container/hunter.cmake @@ -0,0 +1,22 @@ +# Copyright (c) 2013, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_download) +include(hunter_pick_scheme) + +hunter_pick_scheme( + DEFAULT + url_sha1_boost_library + IPHONEOS + url_sha1_boost_ios_library +) + +hunter_download( + PACKAGE_NAME + Boost + PACKAGE_COMPONENT + container + PACKAGE_INTERNAL_DEPS_ID "48" +) diff --git a/cmake/projects/Boost/generate.sh b/cmake/projects/Boost/generate.sh index 7ed68e6b30..3d32a82486 100755 --- a/cmake/projects/Boost/generate.sh +++ b/cmake/projects/Boost/generate.sh @@ -7,6 +7,7 @@ BOOST_LIBS=" atomic chrono context + container coroutine contract date_time diff --git a/cmake/projects/Boost/hunter.cmake b/cmake/projects/Boost/hunter.cmake index 7791ad6458..92ddeeaf65 100644 --- a/cmake/projects/Boost/hunter.cmake +++ b/cmake/projects/Boost/hunter.cmake @@ -181,6 +181,27 @@ hunter_add_version( 04f570acbe0beb762e588ad3de292d0328a79c64 ) +hunter_add_version( + PACKAGE_NAME + Boost + VERSION + "1.74.0-p0" + URL + "https://github.com/cpp-pm/boost/archive/v1.74.0-p0.tar.gz" + SHA1 + c7ba15bb52950ac1b1912e0794ad77f66a343a17 +) + +hunter_add_version( + PACKAGE_NAME + Boost + VERSION + "1.75.0" + URL + "${_hunter_boost_base_url}/1.75.0/source/boost_1_75_0.tar.bz2" + SHA1 + 6109efd3bdd8b9220d7d85b5e125f7f28721b9a9 +) # up until 1.63 sourcefourge was used set(_hunter_boost_base_url "https://downloads.sourceforge.net/project/boost/boost/") hunter_add_version( @@ -441,25 +462,25 @@ hunter_pick_scheme(DEFAULT url_sha1_boost) hunter_cacheable(Boost) hunter_download(PACKAGE_NAME Boost PACKAGE_INTERNAL_DEPS_ID "48") - +# This settings Boost_USE_STATIC_LIBS and Boost_USE_STATIC_RUNTIME are needed to configure via find_package(Boost ....) for BoostConfig from boost if(NOT HUNTER_Boost_VERSION VERSION_LESS 1.72.0) hunter_get_cmake_args(PACKAGE Boost OUT boost_cmake_args) string(FIND "${boost_cmake_args}" "BUILD_SHARED_LIBS=ON" boost_shared) string(FIND "${boost_cmake_args}" "USE_CONFIG_FROM_BOOST=ON" use_boost_config) string(FIND "${boost_cmake_args}" "BOOST_BUILD_DYNAMIC_VSRUNTIME=NO" boost_static_runtime) if(use_boost_config GREATER -1) - if(boost_shared LESS 0) - option(Boost_USE_STATIC_LIBS "Use of the static libraries" ON) - else() - option(Boost_USE_STATIC_LIBS "Use of the static libraries" OFF) - endif() - - if(MSVC) - if(boost_static_runtime LESS 0) - option(Boost_USE_STATIC_RUNTIME "Use libraries linked statically to the C++ runtime" OFF) + if(boost_shared LESS 0) + option(Boost_USE_STATIC_LIBS "Use of the static libraries" ON) else() - option(Boost_USE_STATIC_RUNTIME "Use libraries linked statically to the C++ runtime" ON) + option(Boost_USE_STATIC_LIBS "Use of the static libraries" OFF) + endif() + + if(MSVC) + if(boost_static_runtime LESS 0) + option(Boost_USE_STATIC_RUNTIME "Use libraries linked statically to the C++ runtime" OFF) + else() + option(Boost_USE_STATIC_RUNTIME "Use libraries linked statically to the C++ runtime" ON) + endif() endif() - endif() endif() endif() diff --git a/cmake/projects/Boost/schemes/url_sha1_boost.cmake.in b/cmake/projects/Boost/schemes/url_sha1_boost.cmake.in index 9d9cab6e4d..8fc0095ff5 100644 --- a/cmake/projects/Boost/schemes/url_sha1_boost.cmake.in +++ b/cmake/projects/Boost/schemes/url_sha1_boost.cmake.in @@ -53,11 +53,15 @@ if(CMAKE_HOST_WIN32) set(install_cmd "b2") if("@MSVC@") set(HUNTER_MSVC_VCVARSALL "@HUNTER_MSVC_VCVARSALL@") - set(HUNTER_MSVC_ARCH "@HUNTER_MSVC_ARCH@") + set(HUNTER_MSVC_ARCH_HOST "@HUNTER_MSVC_ARCH_HOST@") set(HUNTER_PACKAGE_SOURCE_DIR "@HUNTER_PACKAGE_SOURCE_DIR@") configure_file("@HUNTER_PACKAGE_SCRIPT_DIR@/patched_boostrap.bat.in" "@HUNTER_PACKAGE_DOWNLOAD_DIR@/patched_boostrap.bat") set(patch_cmd "@CMAKE_COMMAND@" -E copy "@HUNTER_PACKAGE_DOWNLOAD_DIR@/patched_boostrap.bat" "@HUNTER_PACKAGE_SOURCE_DIR@/patched_boostrap.bat") set(bootstrap_cmd "patched_boostrap.bat") + elseif("@MSYS@") + set(install_cmd "./b2") + set(patch_cmd "@CMAKE_COMMAND@" -E echo "Dummy patch command") + set(bootstrap_cmd "./bootstrap.sh") else() set(patch_cmd "@CMAKE_COMMAND@" -E echo "Dummy patch command") set(bootstrap_cmd "bootstrap.bat") diff --git a/cmake/projects/Boost/schemes/url_sha1_boost_library.cmake.in b/cmake/projects/Boost/schemes/url_sha1_boost_library.cmake.in index a950038bd3..fd4baa58c1 100644 --- a/cmake/projects/Boost/schemes/url_sha1_boost_library.cmake.in +++ b/cmake/projects/Boost/schemes/url_sha1_boost_library.cmake.in @@ -217,7 +217,7 @@ if(has_toolset_version) set(toolset_full_name ${toolset_name}-${toolset_version}) endif() -set(boost_user_jam "@HUNTER_PACKAGE_BUILD_DIR@/boost.user.jam") +set(boost_user_jam "@HUNTER_PACKAGE_BUILD_DIR@/boost-user.jam") # TODO file(TO_NATIVE_PATH "${boost_user_jam}" boost_user_jam_native_path) # Escape --user-config=C:\projects\hunter-tdmm2\_testing\Hunter\_Base\5398c9d\30f4075\2d24521\Build\Boost\__filesystem\Build\boost.user.jam # Error -> Invalid character escape '\p'. @@ -231,6 +231,7 @@ set( toolset=${toolset_full_name} "--user-config=${boost_user_jam}" --with-@HUNTER_PACKAGE_COMPONENT@ + --abbreviate-paths ) if (@HUNTER_Boost_VERSION@ VERSION_GREATER_EQUAL 1.72.0 AND NOT USE_CONFIG_FROM_BOOST) @@ -252,27 +253,28 @@ hunter_boost_component_b2_args( b2_component_opts ) -string(REPLACE " " ";" cxx_flags_list "${CMAKE_CXX_FLAGS}") - +# For Configuration boost-user.jam see https://boostorg.github.io/build/manual/develop/index.html#bbv2.overview.configuration file( WRITE ${boost_user_jam} - "using ${toolset_name}\n" - " : ${toolset_version}\n" -) + "using ${toolset_name} : ${toolset_version} : \"${boost_compiler}\" : ") if(MSVC) - # For Visual Studio C++ flags must not be set in compiler section. - # Section should be used. - # * https://github.com/ruslo/hunter/issues/179 - file(APPEND ${boost_user_jam} " : \"${boost_compiler}\"\n") + # See 'boost_compiler' section + + # Note: Flags should be quoted: + # - https://github.com/boostorg/build/issues/426#issuecomment-482564740 + string(REPLACE " " ";" cxx_flags_list "${CMAKE_CXX_FLAGS}") + foreach(cxx_flag ${cxx_flags_list}) + file( + APPEND + ${boost_user_jam} + " \"${cxx_flag}\"\n" + ) + endforeach() else() - # For Android C++ flags must be part of the compiler section: - # * https://github.com/ruslo/hunter/issues/174 - # For 'sanitize-address' toolchain flags must be part of the compiler section: - # * https://github.com/ruslo/hunter/issues/269 file( - APPEND ${boost_user_jam} " : \"${boost_compiler}\" ${CMAKE_CXX_FLAGS}\n" + APPEND ${boost_user_jam} " \"${CMAKE_CXX_FLAGS}\" \"${CMAKE_C_FLAGS}\" " ) endif() @@ -288,26 +290,10 @@ if(use_cmake_archiver) file( APPEND ${boost_user_jam} - " : \"${CMAKE_AR}\"\n" - " \"${CMAKE_RANLIB}\"\n" + " \"${CMAKE_AR}\" \"${CMAKE_RANLIB}\" " ) endif() -if(MSVC) - # See 'boost_compiler' section - - # Note: Flags should be quoted: - # - https://github.com/boostorg/build/issues/426#issuecomment-482564740 - - foreach(cxx_flag ${cxx_flags_list}) - file( - APPEND - ${boost_user_jam} - " \"${cxx_flag}\"\n" - ) - endforeach() -endif() - file( APPEND ${boost_user_jam} @@ -407,13 +393,19 @@ if("@ANDROID@") list(APPEND build_opts "address-model=64") endif() elseif("@MSVC@") - string(COMPARE EQUAL "@HUNTER_MSVC_ARCH@" "x86" is_x86) - string(COMPARE EQUAL "@HUNTER_MSVC_ARCH@" "amd64" is_x64) - if(is_x86) + string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "x86" is_x86) + string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "amd64" is_x64) + string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "arm" is_arm) + string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "arm64" is_arm64) + if(is_x86 OR is_arm) list(APPEND build_opts "address-model=32") - elseif(is_x64) + elseif(is_x64 OR is_arm64) list(APPEND build_opts "address-model=64") endif() + + if (is_arm OR is_arm64) + list(APPEND build_opts "architecture=arm") + endif() endif() string(COMPARE NOTEQUAL "@HUNTER_JOBS_OPTION@" "" have_jobs) @@ -433,11 +425,15 @@ if(CMAKE_HOST_WIN32) set(b2_cmd "b2") if("@MSVC@") set(HUNTER_MSVC_VCVARSALL "@HUNTER_MSVC_VCVARSALL@") - set(HUNTER_MSVC_ARCH "@HUNTER_MSVC_ARCH@") + set(HUNTER_MSVC_ARCH_HOST "@HUNTER_MSVC_ARCH_HOST@") set(HUNTER_PACKAGE_SOURCE_DIR "@HUNTER_PACKAGE_SOURCE_DIR@") configure_file("@HUNTER_PACKAGE_SCRIPT_DIR@/patched_boostrap.bat.in" "@HUNTER_PACKAGE_DOWNLOAD_DIR@/patched_boostrap.bat") set(patch_cmd "@CMAKE_COMMAND@" -E copy "@HUNTER_PACKAGE_DOWNLOAD_DIR@/patched_boostrap.bat" "@HUNTER_PACKAGE_SOURCE_DIR@/patched_boostrap.bat") set(bootstrap_cmd "patched_boostrap.bat") + elseif("@MSYS@") + set(b2_cmd "./b2") + set(patch_cmd "@CMAKE_COMMAND@" -E echo "Dummy patch command") + set(bootstrap_cmd "./bootstrap.sh") else() set(patch_cmd "@CMAKE_COMMAND@" -E echo "Dummy patch command") set(bootstrap_cmd "bootstrap.bat") diff --git a/cmake/projects/Boost/scripts/patched_boostrap.bat.in b/cmake/projects/Boost/scripts/patched_boostrap.bat.in index 6af80ac938..f52168e794 100644 --- a/cmake/projects/Boost/scripts/patched_boostrap.bat.in +++ b/cmake/projects/Boost/scripts/patched_boostrap.bat.in @@ -1,6 +1,9 @@ -call "@HUNTER_MSVC_VCVARSALL@" @HUNTER_MSVC_ARCH@ +@ECHO ON +call "@HUNTER_MSVC_VCVARSALL@" @HUNTER_MSVC_ARCH_HOST@ REM The /d flag is required because vcvarsall.bat changes the current drive REM If the hunter cache is located on a different drive to vcvarsall.bat the REM cd command will fail. https://technet.microsoft.com/en-gb/library/bb490875.aspx +@ECHO ON cd /d @HUNTER_PACKAGE_SOURCE_DIR@ -bootstrap.bat +@ECHO ON +call bootstrap.bat diff --git a/cmake/projects/Eigen/hunter.cmake b/cmake/projects/Eigen/hunter.cmake index 6260018b68..a779b3e5ba 100644 --- a/cmake/projects/Eigen/hunter.cmake +++ b/cmake/projects/Eigen/hunter.cmake @@ -13,6 +13,39 @@ include(hunter_cacheable) hunter_cacheable(Eigen) # List of versions here... +hunter_add_version( + PACKAGE_NAME + Eigen + VERSION + "3.3.9" + URL + "https://gitlab.com/libeigen/eigen/-/archive/3.3.9/eigen-3.3.9.tar.gz" + SHA1 + 6a5a43a327b3aaeb7e74dc32bf1d7011cf6f149c +) + +hunter_add_version( + PACKAGE_NAME + Eigen + VERSION + "3.3.8" + URL + "https://gitlab.com/libeigen/eigen/-/archive/3.3.8/eigen-3.3.8.tar.gz" + SHA1 + aba0afb30cfbc4a4b0ce03fb2ee658ff7f674301 +) + +hunter_add_version( + PACKAGE_NAME + Eigen + VERSION + "3.3.8-b11f817" + URL + "https://gitlab.com/libeigen/eigen/-/archive/b11f817bcff04276f3024d6780f56a137968b81a/eigen-b11f817bcff04276f3024d6780f56a137968b81a.tar.gz" + SHA1 + 2b57944e2d36cc210d142f1b8aa8f1d1d491b655 +) + hunter_add_version( PACKAGE_NAME Eigen diff --git a/cmake/projects/Expat/hunter.cmake b/cmake/projects/Expat/hunter.cmake index df9b8eba69..7d3b1e2e59 100644 --- a/cmake/projects/Expat/hunter.cmake +++ b/cmake/projects/Expat/hunter.cmake @@ -8,6 +8,7 @@ include(hunter_cacheable) include(hunter_cmake_args) include(hunter_download) include(hunter_pick_scheme) +include(hunter_source_subdir) hunter_add_version( PACKAGE_NAME @@ -31,15 +32,49 @@ hunter_add_version( 6b7669be7bc36814c0a7a62cf17342d0a708a51a ) -hunter_cmake_args( - Expat - CMAKE_ARGS - BUILD_tools=OFF - BUILD_examples=OFF - BUILD_tests=OFF - BUILD_shared=OFF +hunter_add_version( + PACKAGE_NAME + Expat + VERSION + 2.2.9-p0 + URL + "https://github.com/cpp-pm/libexpat/archive/v2.2.9-p0.tar.gz" + SHA1 + 73c4c258dff36a68dda2f3c39a413ac602bfb47e ) +if(NOT HUNTER_Expat_VERSION VERSION_LESS 2.2.9) + hunter_cmake_args( + Expat + CMAKE_ARGS + EXPAT_BUILD_TOOLS=OFF + EXPAT_BUILD_EXAMPLES=OFF + EXPAT_BUILD_TESTS=OFF + EXPAT_SHARED_LIBS=OFF + ) + + hunter_get_cmake_args(PACKAGE Expat OUT expat_cmake_args) + string(FIND "${expat_cmake_args}" "BUILD_SHARED_LIBS=ON" expat_shared) + + if (expat_shared) + option(EXPAT_SHARED_LIBS "build a shared expat library" ON) + endif() + + hunter_source_subdir( + Expat + SOURCE_SUBDIR "expat" + ) +else() + hunter_cmake_args( + Expat + CMAKE_ARGS + BUILD_tools=OFF + BUILD_examples=OFF + BUILD_tests=OFF + BUILD_shared=OFF + ) +endif() + hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(Expat) hunter_download(PACKAGE_NAME Expat) diff --git a/cmake/projects/IlmBase/hunter.cmake b/cmake/projects/IlmBase/hunter.cmake index 4cbf947b60..29e371686e 100644 --- a/cmake/projects/IlmBase/hunter.cmake +++ b/cmake/projects/IlmBase/hunter.cmake @@ -32,6 +32,17 @@ hunter_add_version( 844f501f28b59caa3bcdf093dacae7a067429694 ) +hunter_add_version( + PACKAGE_NAME + IlmBase + VERSION + 2.5.1-p0 + URL + "https://github.com/cpp-pm/openexr/archive/v2.5.1-p0.tar.gz" + SHA1 + 9a04f614f5fe7f3c916f0af59438c25cc9d59016 +) + hunter_cmake_args( IlmBase CMAKE_ARGS diff --git a/cmake/projects/KhronosDataFormat/hunter.cmake b/cmake/projects/KhronosDataFormat/hunter.cmake new file mode 100644 index 0000000000..16ac82b1a2 --- /dev/null +++ b/cmake/projects/KhronosDataFormat/hunter.cmake @@ -0,0 +1,35 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + KhronosDataFormat + VERSION + 1.3.1-1f8c852-p0 + URL + "https://github.com/cpp-pm/DataFormat/archive/v1.3.1-1f8c852-p0.tar.gz" + SHA1 + ff706838e09646cd9bfa3930ccaf6d6d86e01dc6 +) + +hunter_add_version( + PACKAGE_NAME + KhronosDataFormat + VERSION + 1.3.1-1f8c852-p1 + URL + "https://github.com/cpp-pm/DataFormat/archive/v1.3.1-1f8c852-p1.tar.gz" + SHA1 + 41dd36ba55bd5c4defbd6fea5e0cffd9c81d62a5 +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(KhronosDataFormat) +hunter_download(PACKAGE_NAME KhronosDataFormat) diff --git a/cmake/projects/OpenEXR/hunter.cmake b/cmake/projects/OpenEXR/hunter.cmake index 15cb8b952f..9b296bd3b4 100644 --- a/cmake/projects/OpenEXR/hunter.cmake +++ b/cmake/projects/OpenEXR/hunter.cmake @@ -21,6 +21,17 @@ hunter_add_version( 844f501f28b59caa3bcdf093dacae7a067429694 ) +hunter_add_version( + PACKAGE_NAME + OpenEXR + VERSION + 2.5.1-p0 + URL + "https://github.com/cpp-pm/openexr/archive/v2.5.1-p0.tar.gz" + SHA1 + 9a04f614f5fe7f3c916f0af59438c25cc9d59016 +) + hunter_cmake_args( OpenEXR CMAKE_ARGS diff --git a/cmake/projects/OpenSSL/hunter.cmake b/cmake/projects/OpenSSL/hunter.cmake index 9966a3729c..880ce7fc1f 100755 --- a/cmake/projects/OpenSSL/hunter.cmake +++ b/cmake/projects/OpenSSL/hunter.cmake @@ -65,6 +65,51 @@ hunter_add_version( df0ee4811c87c209ebadb4e6b203d1e560d00f9a ) +hunter_add_version( + PACKAGE_NAME + OpenSSL + VERSION + "1.1.1g" + URL + "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1g.tar.gz" + SHA1 + 33324ff957edaae8ae575817b456320378da46ff +) + +# NB: Only use this version if you need arm64 support before official release! +hunter_add_version( + PACKAGE_NAME + OpenSSL + VERSION + "1.1.1g-p0" + URL + "https://github.com/cpp-pm/openssl/archive/v1.1.1g-p0.tar.gz" + SHA1 + fb3bc6467d37f7536f5ff7a1ea25552cee899275 +) + +hunter_add_version( + PACKAGE_NAME + OpenSSL + VERSION + "1.1.1h" + URL + "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1h.tar.gz" + SHA1 + e581875cc63a29a2e9ae6924f5e65fd79dd3fc2e +) + +hunter_add_version( + PACKAGE_NAME + OpenSSL + VERSION + "1.1.1i" + URL + "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1i.tar.gz" + SHA1 + b1fcae20e23561f3ad02c61c80ba10d8790e3034 +) + hunter_add_version( PACKAGE_NAME OpenSSL diff --git a/cmake/projects/OpenSSL/schemes/url_sha1_openssl_macos.cmake.in b/cmake/projects/OpenSSL/schemes/url_sha1_openssl_macos.cmake.in index 2f79aa2e44..1c4510740b 100644 --- a/cmake/projects/OpenSSL/schemes/url_sha1_openssl_macos.cmake.in +++ b/cmake/projects/OpenSSL/schemes/url_sha1_openssl_macos.cmake.in @@ -31,7 +31,7 @@ hunter_assert_not_empty_string("@HUNTER_GLOBAL_SCRIPT_DIR@") hunter_assert_not_empty_string("@HUNTER_TLS_VERIFY@") # Supported macOS architectures: -# i386, x86_64, ppc, ppc64 +# i386, x86_64, ppc, ppc64, arm64 set(configure_command "./Configure") set(configure_architectures @CMAKE_OSX_ARCHITECTURES@) @@ -168,6 +168,8 @@ foreach(arch ${configure_architectures}) set(configure_arch "darwin-i386-cc") elseif("${arch}" STREQUAL "ppc") set(configure_arch "darwin-ppc-cc") + elseif("${arch}" STREQUAL "arm64") + set(configure_arch "darwin64-arm64-cc") else() hunter_user_error("Could not find the macOS architecture ${arch}. Please update the CMAKE_OSX_ARCHITECTURES option in your toolchain.") endif() diff --git a/cmake/projects/OpenSSL/schemes/url_sha1_openssl_windows.cmake.in b/cmake/projects/OpenSSL/schemes/url_sha1_openssl_windows.cmake.in index ce5526bc17..51c6757c3e 100644 --- a/cmake/projects/OpenSSL/schemes/url_sha1_openssl_windows.cmake.in +++ b/cmake/projects/OpenSSL/schemes/url_sha1_openssl_windows.cmake.in @@ -28,6 +28,7 @@ hunter_assert_not_empty_string("@HUNTER_PACKAGE_DOWNLOAD_DIR@") hunter_assert_not_empty_string("@HUNTER_PACKAGE_SOURCE_DIR@") hunter_assert_not_empty_string("@HUNTER_PACKAGE_INSTALL_PREFIX@") hunter_assert_not_empty_string("@HUNTER_MSVC_ARCH@") +hunter_assert_not_empty_string("@HUNTER_MSVC_ARCH_TARGET@") hunter_assert_not_empty_string("@HUNTER_MSVC_VCVARSALL@") hunter_assert_not_empty_string("@HUNTER_PACKAGE_LICENSE_DIR@") hunter_assert_not_empty_string("@HUNTER_GLOBAL_SCRIPT_DIR@") @@ -59,8 +60,9 @@ if(NOT "${PERL_VERSION}" EQUAL 0) ) endif() -string(COMPARE EQUAL "@HUNTER_MSVC_ARCH@" "amd64" is_amd64) -if(is_amd64) +string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "amd64" is_amd64) +string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "arm64" is_arm64) +if(is_amd64 OR is_arm64) set(arch "VC-WIN64A") set(do_ms do_win64a.bat) else() diff --git a/cmake/projects/OpenSSL/schemes/url_sha1_openssl_windows_1_1_plus.cmake.in b/cmake/projects/OpenSSL/schemes/url_sha1_openssl_windows_1_1_plus.cmake.in index 7de0864483..2c18c75a91 100644 --- a/cmake/projects/OpenSSL/schemes/url_sha1_openssl_windows_1_1_plus.cmake.in +++ b/cmake/projects/OpenSSL/schemes/url_sha1_openssl_windows_1_1_plus.cmake.in @@ -28,6 +28,7 @@ hunter_assert_not_empty_string("@HUNTER_PACKAGE_DOWNLOAD_DIR@") hunter_assert_not_empty_string("@HUNTER_PACKAGE_SOURCE_DIR@") hunter_assert_not_empty_string("@HUNTER_PACKAGE_INSTALL_PREFIX@") hunter_assert_not_empty_string("@HUNTER_MSVC_ARCH@") +hunter_assert_not_empty_string("@HUNTER_MSVC_ARCH_TARGET@") hunter_assert_not_empty_string("@HUNTER_MSVC_VCVARSALL@") hunter_assert_not_empty_string("@HUNTER_PACKAGE_LICENSE_DIR@") hunter_assert_not_empty_string("@HUNTER_GLOBAL_SCRIPT_DIR@") @@ -59,8 +60,9 @@ if(NOT "${PERL_VERSION}" EQUAL 0) ) endif() -string(COMPARE EQUAL "@HUNTER_MSVC_ARCH@" "amd64" is_amd64) -if(is_amd64) +string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "amd64" is_amd64) +string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "arm64" is_arm64) +if(is_amd64 OR is_arm64) set(arch "VC-WIN64A") else() set(arch "VC-WIN32") diff --git a/cmake/projects/Opus/hunter.cmake b/cmake/projects/Opus/hunter.cmake new file mode 100644 index 0000000000..4739cb3ea0 --- /dev/null +++ b/cmake/projects/Opus/hunter.cmake @@ -0,0 +1,26 @@ +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_cmake_args) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + Opus + VERSION + 1.3.1 + URL + "https://github.com/xiph/opus/archive/v1.3.1.tar.gz" + SHA1 + 9d58962b734ab265ad1154e9a3fe21103b198baa +) + +hunter_cmake_args( + Opus + CMAKE_ARGS + OPUS_INSTALL_PKG_CONFIG_MODULE=OFF +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(Opus) +hunter_download(PACKAGE_NAME Opus) diff --git a/cmake/projects/Protobuf/hunter.cmake b/cmake/projects/Protobuf/hunter.cmake index 5ac0b700ef..3c4b9a8bea 100644 --- a/cmake/projects/Protobuf/hunter.cmake +++ b/cmake/projects/Protobuf/hunter.cmake @@ -149,6 +149,28 @@ hunter_add_version( 490beb456fb6934bd4d9f6012c601f6724c2f757 ) +hunter_add_version( + PACKAGE_NAME + Protobuf + VERSION + "3.12.4-p1" + URL + "https://github.com/cpp-pm/protobuf/archive/v3.12.4-p1.tar.gz" + SHA1 + 01b62322e6d9d3271261882bbc7c1719f7179d9d +) + +hunter_add_version( + PACKAGE_NAME + Protobuf + VERSION + "3.14.0-4a09d77-p0" + URL + "https://github.com/cpp-pm/protobuf/archive/v3.14.0-4a09d77-p0.tar.gz" + SHA1 + 3553ff3bfd7d0c4c1413b1552064b3dca6fa213e +) + string( COMPARE EQUAL "${CMAKE_SYSTEM_NAME}" "WindowsStore" _hunter_windows_store ) @@ -187,3 +209,4 @@ endif() hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(Protobuf) hunter_download(PACKAGE_NAME Protobuf) + diff --git a/cmake/projects/RapidJSON/hunter.cmake b/cmake/projects/RapidJSON/hunter.cmake index 0913ab8629..291fbbce95 100644 --- a/cmake/projects/RapidJSON/hunter.cmake +++ b/cmake/projects/RapidJSON/hunter.cmake @@ -9,6 +9,17 @@ include(hunter_cmake_args) include(hunter_download) include(hunter_pick_scheme) +hunter_add_version( + PACKAGE_NAME + RapidJSON + VERSION + "1.1.0-ce81bc9-p1" + URL + "https://github.com/cpp-pm/rapidjson/archive/v1.1.0-ce81bc9-p1.tar.gz" + SHA1 + 2fb99e1c64dcd6702a56efb1bea9341c67c1d6e3 +) + hunter_add_version( PACKAGE_NAME RapidJSON @@ -97,12 +108,17 @@ hunter_add_version( 3cae7f5043e2bfbeb83c033b90a1a9fb69fd2371 ) +# C++ versions should be passed in by the toolchain. +# Since this is a header-only library, the RAPIDJSON_BUILD_CXX11 setting is irrelevant. hunter_cmake_args( RapidJSON CMAKE_ARGS RAPIDJSON_BUILD_DOC=OFF RAPIDJSON_BUILD_EXAMPLES=OFF RAPIDJSON_BUILD_TESTS=OFF + RAPIDJSON_BUILD_CXX11=OFF + RAPIDJSON_HAS_STDSTRING=ON + RAPIDJSON_NOMEMBERITERATORCLASS=ON ) hunter_pick_scheme(DEFAULT url_sha1_cmake) diff --git a/cmake/projects/SPIRV-Headers/hunter.cmake b/cmake/projects/SPIRV-Headers/hunter.cmake index b7427a12d4..669a069939 100644 --- a/cmake/projects/SPIRV-Headers/hunter.cmake +++ b/cmake/projects/SPIRV-Headers/hunter.cmake @@ -21,6 +21,50 @@ hunter_add_version( 77018bfe6cb1eceaf824e401dbd206660a25bf66 ) +hunter_add_version( + PACKAGE_NAME + SPIRV-Headers + VERSION + 1.5.1.corrected + URL + https://github.com/KhronosGroup/SPIRV-Headers/archive/1.5.1.corrected.tar.gz + SHA1 + e7911f27a13c61e9d8c13fe7b0df5f1a883e972e +) + +hunter_add_version( + PACKAGE_NAME + SPIRV-Headers + VERSION + 1.5.3.reservations1 + URL + https://github.com/KhronosGroup/SPIRV-Headers/archive/1.5.3.reservations1.tar.gz + SHA1 + e1666e3cf71e0eb8c75a1786e9f430f6d7670f42 +) + +hunter_add_version( + PACKAGE_NAME + SPIRV-Headers + VERSION + 1.5.4 + URL + https://github.com/KhronosGroup/SPIRV-Headers/archive/1.5.4.tar.gz + SHA1 + 24e517cc55339b847ccb7d3b1d59f73b7df775a1 +) + +hunter_add_version( + PACKAGE_NAME + SPIRV-Headers + VERSION + 1.5.4.raytracing.fixed + URL + https://github.com/KhronosGroup/SPIRV-Headers/archive/1.5.4.raytracing.fixed.tar.gz + SHA1 + 49657f53dd391ab9dad0cb1ce47001d673a2c7ab +) + hunter_cmake_args( SPIRV-Tools CMAKE_ARGS diff --git a/cmake/projects/SPIRV-Tools/hunter.cmake b/cmake/projects/SPIRV-Tools/hunter.cmake index 722ca1acfc..c95cb2466b 100644 --- a/cmake/projects/SPIRV-Tools/hunter.cmake +++ b/cmake/projects/SPIRV-Tools/hunter.cmake @@ -21,6 +21,17 @@ hunter_add_version( c6ea3b64476403c613e138beb12b6c5f96c0c8a6 ) +hunter_add_version( + PACKAGE_NAME + SPIRV-Tools + VERSION + 2020.1-p0 + URL + https://github.com/cpp-pm/SPIRV-Tools/archive/v2020.1-p0.tar.gz + SHA1 + 695e9abf892fe939fbe61398a06b6f177cd43e77 +) + hunter_cmake_args( SPIRV-Tools CMAKE_ARGS diff --git a/cmake/projects/VulkanMemoryAllocator/hunter.cmake b/cmake/projects/VulkanMemoryAllocator/hunter.cmake index 102fd0269a..86f2d38580 100644 --- a/cmake/projects/VulkanMemoryAllocator/hunter.cmake +++ b/cmake/projects/VulkanMemoryAllocator/hunter.cmake @@ -8,6 +8,17 @@ include(hunter_cacheable) include(hunter_download) include(hunter_pick_scheme) +hunter_add_version( + PACKAGE_NAME + VulkanMemoryAllocator + VERSION + 2.3.0-p0 + URL + "https://github.com/cpp-pm/VulkanMemoryAllocator/archive/v2.3.0-p0.tar.gz" + SHA1 + 85d9987582a4cebe5bf7c29bcebd0c844a7b1848 +) + hunter_add_version( PACKAGE_NAME VulkanMemoryAllocator diff --git a/cmake/projects/abseil/hunter.cmake b/cmake/projects/abseil/hunter.cmake new file mode 100644 index 0000000000..7eb8f1cf59 --- /dev/null +++ b/cmake/projects/abseil/hunter.cmake @@ -0,0 +1,43 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_cmake_args) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + abseil + VERSION + 20200225.2 + URL + "https://github.com/abseil/abseil-cpp/archive/20200225.2.tar.gz" + SHA1 + f8207455be29fa9b0fc80393f63df49a85212084 +) + +hunter_add_version( + PACKAGE_NAME + abseil + VERSION + 20200923.2 + URL + "https://github.com/abseil/abseil-cpp/archive/20200923.2.tar.gz" + SHA1 + 1dd3f0a937c3678437646d26ca6784bd6a9b2b26 +) + +hunter_cmake_args( + abseil + CMAKE_ARGS + ABSL_ENABLE_INSTALL=ON + ABSL_RUN_TESTS=OFF +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(abseil) +hunter_download(PACKAGE_NAME abseil) diff --git a/cmake/projects/apg/hunter.cmake b/cmake/projects/apg/hunter.cmake new file mode 100644 index 0000000000..f7d2970295 --- /dev/null +++ b/cmake/projects/apg/hunter.cmake @@ -0,0 +1,25 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + apg + VERSION + 0.0.0-b322f7a-p0 + URL + "https://github.com/cpp-pm/apg/archive/v0.0.0-b322f7a-p0.tar.gz" + SHA1 + 2ce4fa26b0548561b10d537e1477c711493e434d +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(apg) +hunter_download(PACKAGE_NAME apg) + diff --git a/cmake/projects/asio/hunter.cmake b/cmake/projects/asio/hunter.cmake index 3c649b7728..cecd7f172e 100644 --- a/cmake/projects/asio/hunter.cmake +++ b/cmake/projects/asio/hunter.cmake @@ -19,6 +19,17 @@ hunter_add_version( 35f9abb8abaac541f168e7cc547a256b2ca6e2dd ) +hunter_add_version( + PACKAGE_NAME + asio + VERSION + 1.17.0-p0 + URL + "https://github.com/cpp-pm/asio/archive/v1.17.0-p0.tar.gz" + SHA1 + 21239ee00b2f765db4d3f2dcd9ee953c1650c3f1 +) + hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(asio) hunter_download(PACKAGE_NAME asio) diff --git a/cmake/projects/astc-encoder/hunter.cmake b/cmake/projects/astc-encoder/hunter.cmake new file mode 100644 index 0000000000..7c06aaa048 --- /dev/null +++ b/cmake/projects/astc-encoder/hunter.cmake @@ -0,0 +1,63 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) +include(hunter_cmake_args) + +hunter_add_version( + PACKAGE_NAME + astc-encoder + VERSION + 2.0-ab16aaa-p0 + URL + "https://github.com/cpp-pm/astc-encoder/archive/v2.0-ab16aaa-p0.tar.gz" + SHA1 + 027d46d8c190cbfc3c7ab0b78a7773e534f9deec +) + +hunter_add_version( + PACKAGE_NAME + astc-encoder + VERSION + 1.3-a47b80f-p0 + URL + "https://github.com/cpp-pm/astc-encoder/archive/v1.3-a47b80f-p0.tar.gz" + SHA1 + 6a181bffbacec7a6c2ee99a0c9bdb9da3de09c95 +) + +hunter_add_version( + PACKAGE_NAME + astc-encoder + VERSION + 1.3-a47b80f-p1 + URL + "https://github.com/cpp-pm/astc-encoder/archive/v1.3-a47b80f-p1.tar.gz" + SHA1 + c01b9663ffd6e6a80cca985d24c4e77fcbaa65e7 +) + +if(ANDROID OR IOS) + hunter_cmake_args( + astc-encoder + CMAKE_ARGS + VEC=neon + BUILD_APPS=OFF + ) +else() + hunter_cmake_args( + astc-encoder + CMAKE_ARGS + VEC=sse2 + BUILD_APPS=OFF + ) +endif() + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(astc-encoder) +hunter_download(PACKAGE_NAME astc-encoder) diff --git a/cmake/projects/basis_universal/hunter.cmake b/cmake/projects/basis_universal/hunter.cmake new file mode 100644 index 0000000000..b2a7d110f8 --- /dev/null +++ b/cmake/projects/basis_universal/hunter.cmake @@ -0,0 +1,33 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) +include(hunter_cmake_args) + +hunter_add_version( + PACKAGE_NAME + basis_universal + VERSION + 1.12-f80f8dd-p2 + URL + "https://github.com/cpp-pm/basis_universal/archive/v1.12-f80f8dd-p2.tar.gz" + SHA1 + e2ec4b09138a18b5f4c475fdcff39175b2077c05 +) + +if(ANDROID OR IOS OR _hunter_windows_store) + hunter_cmake_args( + basis_universal + CMAKE_ARGS + BASISU_BUILD_TOOL=OFF + ) +endif() + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(basis_universal) +hunter_download(PACKAGE_NAME basis_universal) diff --git a/cmake/projects/botan/schemes/url_sha1_botan_win.cmake.in b/cmake/projects/botan/schemes/url_sha1_botan_win.cmake.in index b27a180c19..c0dcc0493b 100644 --- a/cmake/projects/botan/schemes/url_sha1_botan_win.cmake.in +++ b/cmake/projects/botan/schemes/url_sha1_botan_win.cmake.in @@ -28,6 +28,7 @@ hunter_assert_not_empty_string("@HUNTER_PACKAGE_SOURCE_DIR@") hunter_assert_not_empty_string("@HUNTER_PACKAGE_INSTALL_PREFIX@") # TODO These properties are not set in msys-cxx17 build #hunter_assert_not_empty_string("@HUNTER_MSVC_ARCH@") +#hunter_assert_not_empty_string("@HUNTER_MSVC_ARCH_TARGET@") #hunter_assert_not_empty_string("@HUNTER_MSVC_VCVARSALL@") hunter_assert_not_empty_string("@HUNTER_INSTALL_PREFIX@") hunter_assert_not_empty_string("@HUNTER_TLS_VERIFY@") @@ -77,13 +78,13 @@ hunter_get_build_flags( hunter_setup_msvc() # Usage: configure.py [options] -# +# # Options: # --version show program's version number and exit # -h, --help show this help message and exit # --verbose Show debug messages # --quiet Show only warnings and errors -# +# # Target options: # --cpu=CPU set the target CPU architecture # --os=OS set the target operating system @@ -116,7 +117,7 @@ hunter_setup_msvc() # --disable-altivec disable AltiVec intrinsics # --disable-neon disable NEON intrinsics # --disable-armv8crypto disable ARMv8Crypto intrinsics -# +# # Build options: # --with-debug-info include debug symbols # --with-sanitizers enable ASan/UBSan checks @@ -148,14 +149,14 @@ hunter_setup_msvc() # --unsafe-fuzzer-mode Disable essential checks for testing # --build-fuzzers=TYPE Build fuzzers (afl, libfuzzer, klee, test) # --with-fuzzer-lib=LIB additionally link in LIB -# +# # Documentation Options: # --without-documentation Skip building/installing documentation # --with-sphinx Use Sphinx # --with-pdf Use Sphinx to generate PDF doc # --with-rst2man Use rst2man to generate man page # --with-doxygen Use Doxygen -# +# # Module selection: # --module-policy=POL module policy file (see src/build- # data/policy) @@ -171,7 +172,7 @@ hunter_setup_msvc() # --with-sqlite3 use sqlite3 # --with-zlib use zlib # --with-tpm use tpm -# +# # Installation options: # --program-suffix=SUFFIX append string to program names # --library-suffix=SUFFIX append string to library names @@ -181,7 +182,7 @@ hunter_setup_msvc() # --libdir=DIR set the library install dir # --mandir=DIR set the install dir for man pages # --includedir=DIR set the include file install dir -# +# # Informational: # --list-modules list available modules and exit # --list-os-features list available OS features and exit @@ -214,7 +215,8 @@ if(ENABLE_MODULES) list(APPEND configure_opts --enable-modules=${ENABLE_MODULES}) endif() -if("${HUNTER_MSVC_ARCH}" STREQUAL "amd64") +# TODO: Support MSVC ARM / ARM64 here +if("${HUNTER_MSVC_ARCH_TARGET}" STREQUAL "amd64") list(APPEND configure_opts --cpu=x64) else() list(APPEND configure_opts --cpu=x86) @@ -235,10 +237,10 @@ if(NOT "${ar}" STREQUAL "") endif() # MSVS="2015" PLATFORM="x86_amd64" TARGET="shared" -#.\configure.py -#--prefix=c:\users\appveyor\appdata\local\temp\1\botan-install -#--cc=msvc -#--os=windows +#.\configure.py +#--prefix=c:\users\appveyor\appdata\local\temp\1\botan-install +#--cc=msvc +#--os=windows #--cpu=x64 or --cpu=x86 #--cc-bin=sccache cl --no-store-vc-rev diff --git a/cmake/projects/ceres-solver/hunter.cmake b/cmake/projects/ceres-solver/hunter.cmake index fabeb4781a..6271e7518d 100644 --- a/cmake/projects/ceres-solver/hunter.cmake +++ b/cmake/projects/ceres-solver/hunter.cmake @@ -68,6 +68,18 @@ hunter_add_version( SHA1 fb63a3f1ee8c39a6eda1c3e1611aeb3789015fdf ) + +hunter_add_version( + PACKAGE_NAME + ceres-solver + VERSION + "2.0.0-p0" + URL + "https://github.com/cpp-pm/ceres-solver/archive/v2.0.0-p0.tar.gz" + SHA1 + 868f7b45b127d4eb2777ce889e0d273bd11f5f73 +) + hunter_cmake_args(ceres-solver CMAKE_ARGS # explicitly remove dependency on gflags (only needed for tests) GFLAGS=OFF diff --git a/cmake/projects/cgltf/hunter.cmake b/cmake/projects/cgltf/hunter.cmake new file mode 100644 index 0000000000..46e52e649b --- /dev/null +++ b/cmake/projects/cgltf/hunter.cmake @@ -0,0 +1,33 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) +include(hunter_cmake_args) + +hunter_add_version( + PACKAGE_NAME + cgltf + VERSION + 1.7-dc6b5f1-p0 + URL + "https://github.com/cpp-pm/cgltf/archive/v1.7-dc6b5f1-p0.tar.gz" + SHA1 + 77210426575c8e08791fb8b5d4ef145dd67b3eb9 +) + +hunter_cmake_args( + cgltf + CMAKE_ARGS + BUILD_AS_LIBRARY=ON + BUILD_SHARED_LIBS=OFF + BUILD_TESTS=OFF +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(cgltf) +hunter_download(PACKAGE_NAME cgltf) diff --git a/cmake/projects/cpp-statsd-client/hunter.cmake b/cmake/projects/cpp-statsd-client/hunter.cmake new file mode 100644 index 0000000000..1165439318 --- /dev/null +++ b/cmake/projects/cpp-statsd-client/hunter.cmake @@ -0,0 +1,24 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + cpp-statsd-client + VERSION + 1.0.1-42f02b4-p0 + URL + "https://github.com/cpp-pm/cpp-statsd-client/archive/v1.0.1-42f02b4-p0.tar.gz" + SHA1 + a94f56a498defe4836f7bf605351924eb9c8e683 +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(cpp-statsd-client) +hunter_download(PACKAGE_NAME cpp-statsd-client) diff --git a/cmake/projects/crc32c/hunter.cmake b/cmake/projects/crc32c/hunter.cmake index 9237ca9e47..82bfc9f338 100644 --- a/cmake/projects/crc32c/hunter.cmake +++ b/cmake/projects/crc32c/hunter.cmake @@ -12,10 +12,17 @@ hunter_add_version( URL "https://github.com/hunter-packages/crc32c/archive/hunter-1.0.5.tar.gz" SHA1 "dc7fa8cb877b9cb12a4e22e553087fdd6ce28cce") +hunter_add_version( + PACKAGE_NAME crc32c + VERSION "1.1.1" + URL "https://github.com/google/crc32c/archive/1.1.1.tar.gz" + SHA1 "46f18ed84a12c49c42dc77fff54491a9f8b9dce8") + hunter_cmake_args(crc32c CMAKE_ARGS CRC32C_BUILD_TESTS=OFF CRC32C_BUILD_BENCHMARKS=OFF - CRC32C_USE_GLOG=OFF) + CRC32C_USE_GLOG=OFF + ) hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(crc32c) diff --git a/cmake/projects/etc2comp/hunter.cmake b/cmake/projects/etc2comp/hunter.cmake new file mode 100644 index 0000000000..1c3d721b99 --- /dev/null +++ b/cmake/projects/etc2comp/hunter.cmake @@ -0,0 +1,31 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) +include(hunter_cmake_args) + +hunter_add_version( + PACKAGE_NAME + etc2comp + VERSION + 0.0.0-9cd0f9c-p0 + URL + "https://github.com/cpp-pm/etc2comp/archive/v0.0.0-9cd0f9c-p0.tar.gz" + SHA1 + 7ca3956f45a6a07ac8e0a204b293e84f8413d0d8 +) + +hunter_cmake_args( + etc2comp + CMAKE_ARGS + BUILD_TOOL=OFF +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(etc2comp) +hunter_download(PACKAGE_NAME etc2comp) diff --git a/cmake/projects/fast_obj/hunter.cmake b/cmake/projects/fast_obj/hunter.cmake new file mode 100644 index 0000000000..677a90e8db --- /dev/null +++ b/cmake/projects/fast_obj/hunter.cmake @@ -0,0 +1,33 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) +include(hunter_cmake_args) + +hunter_add_version( + PACKAGE_NAME + fast_obj + VERSION + 1.0-p0 + URL + "https://github.com/cpp-pm/fast_obj/archive/v1.0-p0.tar.gz" + SHA1 + 1dc4c7dd587231496cddb7471d86d9d6c2b5e3d1 +) + +hunter_cmake_args( + fast_obj + CMAKE_ARGS + BUILD_AS_LIBRARY=ON + BUILD_SHARED_LIBS=OFF + BUILD_TESTS=OFF +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(fast_obj) +hunter_download(PACKAGE_NAME fast_obj) diff --git a/cmake/projects/filament/ci/build.sh b/cmake/projects/filament/ci/build.sh new file mode 100644 index 0000000000..0ea8a11abc --- /dev/null +++ b/cmake/projects/filament/ci/build.sh @@ -0,0 +1,4 @@ +# Install packages +sudo apt-get install -y libgl1-mesa-dev + +bash .github/workflows/ci/build.sh diff --git a/cmake/projects/filament/ci/matrix.json b/cmake/projects/filament/ci/matrix.json new file mode 100644 index 0000000000..b0541094e5 --- /dev/null +++ b/cmake/projects/filament/ci/matrix.json @@ -0,0 +1,5 @@ +[ + { "example": "filament", "toolchain": "clang-libcxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, + { "example": "filament", "toolchain": "osx-10-15-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, + { "example": "filament", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" } +] diff --git a/cmake/projects/filament/hunter.cmake b/cmake/projects/filament/hunter.cmake new file mode 100644 index 0000000000..43d95b3fb0 --- /dev/null +++ b/cmake/projects/filament/hunter.cmake @@ -0,0 +1,37 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_cmake_args) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + filament + VERSION + 1.9.8 + URL + "https://github.com/cpp-pm/filament/archive/v1.9.8-p0.tar.gz" + SHA1 + 7ef097692ea5cd68ba34dc48c73fff96b4f98b54 +) + +hunter_cmake_args( + filament + CMAKE_ARGS + FILAMENT_ENABLE_JAVA=OFF + FILAMENT_SUPPORTS_VULKAN=OFF + FILAMENT_BUILD_FILAMAT=OFF + FILAMENT_SKIP_SAMPLES=ON + FILAMENT_ENABLE_MATDBG=OFF + USE_STATIC_LIBCXX=OFF + USE_STATIC_CRT=OFF +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(filament) +hunter_download(PACKAGE_NAME filament) diff --git a/cmake/projects/flatbuffers/hunter.cmake b/cmake/projects/flatbuffers/hunter.cmake index 069dde41a9..26cee7ab8c 100644 --- a/cmake/projects/flatbuffers/hunter.cmake +++ b/cmake/projects/flatbuffers/hunter.cmake @@ -31,13 +31,47 @@ hunter_add_version( 7f596e79368bc0d3080d22708bcc7625cc03a1d1 ) +hunter_add_version( + PACKAGE_NAME + flatbuffers + VERSION + 1.10.0 + URL + "https://github.com/google/flatbuffers/archive/v1.10.0.tar.gz" + SHA1 + 93b922687fe19cff6221e0d35a00879d668b45ab +) + +hunter_add_version( + PACKAGE_NAME + flatbuffers + VERSION + 1.12.0 + URL + "https://github.com/google/flatbuffers/archive/v1.12.0.tar.gz" + SHA1 + 8c047d1d843a29072702ee09ec7ecbce00636433 +) + +if(ANDROID OR IOS) hunter_cmake_args( flatbuffers CMAKE_ARGS FLATBUFFERS_BUILD_FLATC=OFF + FLATBUFFERS_STATIC_FLATC=OFF + FLATBUFFERS_BUILD_FLATHASH=OFF + FLATBUFFERS_BUILD_TESTS=OFF +) +else() +hunter_cmake_args( + flatbuffers + CMAKE_ARGS + FLATBUFFERS_BUILD_FLATC=ON + FLATBUFFERS_STATIC_FLATC=OFF FLATBUFFERS_BUILD_FLATHASH=OFF FLATBUFFERS_BUILD_TESTS=OFF ) +endif() hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(flatbuffers) diff --git a/cmake/projects/fmt/hunter.cmake b/cmake/projects/fmt/hunter.cmake index c46ded91cf..99a3ec6e31 100644 --- a/cmake/projects/fmt/hunter.cmake +++ b/cmake/projects/fmt/hunter.cmake @@ -107,6 +107,17 @@ hunter_add_version( dc59b27d461f1af12daf73f3e00d18bf1e9eed78 ) +hunter_add_version( + PACKAGE_NAME + fmt + VERSION + "7.1.2" + URL + "https://github.com/fmtlib/fmt/archive/7.1.2.tar.gz" + SHA1 + 59bea0bd88e72ac2769c57d584b0cbed956038cf +) + hunter_cmake_args( fmt CMAKE_ARGS diff --git a/cmake/projects/foo/hunter.cmake b/cmake/projects/foo/hunter.cmake index 478a1557a1..915c31c60e 100644 --- a/cmake/projects/foo/hunter.cmake +++ b/cmake/projects/foo/hunter.cmake @@ -1,4 +1,4 @@ -# Copyright (c) 2016-2019, Ruslan Baratov +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov # All rights reserved. # !!! DO NOT PLACE HEADER GUARDS HERE !!! @@ -14,7 +14,7 @@ hunter_add_version( VERSION 1.0.0 URL - "https://github.com/hunter-packages/foo/archive/v1.0.0.tar.gz" + "https://github.com/cpp-pm/foo/archive/v1.0.0.tar.gz" SHA1 1111111111111111111111111111111111111111 ) diff --git a/cmake/projects/freetype-gl/ci/build.sh b/cmake/projects/freetype-gl/ci/build.sh new file mode 100644 index 0000000000..0ea8a11abc --- /dev/null +++ b/cmake/projects/freetype-gl/ci/build.sh @@ -0,0 +1,4 @@ +# Install packages +sudo apt-get install -y libgl1-mesa-dev + +bash .github/workflows/ci/build.sh diff --git a/cmake/projects/freetype-gl/ci/matrix.json b/cmake/projects/freetype-gl/ci/matrix.json new file mode 100644 index 0000000000..b42717ef57 --- /dev/null +++ b/cmake/projects/freetype-gl/ci/matrix.json @@ -0,0 +1,16 @@ +[ + { "example": "freetype-gl", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, + { "example": "freetype-gl", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, + { "example": "freetype-gl", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-18.04", "python": "3.8", "script": "build.sh" }, + { "example": "freetype-gl", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, + { "example": "freetype-gl", "toolchain": "sanitize-address-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, + { "example": "freetype-gl", "toolchain": "sanitize-leak-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, + { "example": "freetype-gl", "toolchain": "sanitize-thread-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, + { "example": "freetype-gl", "toolchain": "ninja-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + { "example": "freetype-gl", "toolchain": "nmake-vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + { "example": "freetype-gl", "toolchain": "vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, + { "example": "freetype-gl", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + { "example": "freetype-gl", "toolchain": "vs-14-2015-sdk-8-1", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + { "example": "freetype-gl", "toolchain": "mingw-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + { "example": "freetype-gl", "toolchain": "msys-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" } +] diff --git a/cmake/projects/freetype-gl/hunter.cmake b/cmake/projects/freetype-gl/hunter.cmake new file mode 100644 index 0000000000..8f2817e07e --- /dev/null +++ b/cmake/projects/freetype-gl/hunter.cmake @@ -0,0 +1,32 @@ +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_cmake_args) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + freetype-gl + VERSION + "0.0.0-1a8c007-p0" #project has no releases so using 0.0.0-commit-patch + URL + "https://github.com/cpp-pm/freetype-gl/archive/v0.0.0-1a8c007-p0.tar.gz" + SHA1 + 923b6a4fad097beefa6aa6c759e7fa4010bf9214 +) + +hunter_cmake_args( + freetype-gl + CMAKE_ARGS + freetype-gl_USE_HUNTER=ON + freetype-gl_BUILD_DEMOS=OFF + freetype-gl_BUILD_TESTS=OFF + freetype-gl_BUILD_APIDOC=OFF + freetype-gl_BUILD_MAKEFONT=OFF +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(freetype-gl) +hunter_download(PACKAGE_NAME freetype-gl) diff --git a/cmake/projects/freetype/hunter.cmake b/cmake/projects/freetype/hunter.cmake index 35f680d178..a14c9510ea 100644 --- a/cmake/projects/freetype/hunter.cmake +++ b/cmake/projects/freetype/hunter.cmake @@ -8,6 +8,17 @@ include(hunter_cmake_args) include(hunter_download) include(hunter_pick_scheme) +hunter_add_version( + PACKAGE_NAME + freetype + VERSION + "2.9.1-p3" + URL + "https://github.com/cpp-pm/freetype/archive/v2.9.1-p3.tar.gz" + SHA1 + 310198f66076d88da89428b6db04fc4fd8d19419 +) + hunter_add_version( PACKAGE_NAME freetype diff --git a/cmake/projects/gRPC/hunter.cmake b/cmake/projects/gRPC/hunter.cmake index 071b7f6d4f..4c6885e325 100644 --- a/cmake/projects/gRPC/hunter.cmake +++ b/cmake/projects/gRPC/hunter.cmake @@ -2,6 +2,7 @@ include(hunter_add_version) include(hunter_cacheable) +include(hunter_cmake_args) include(hunter_download) include(hunter_pick_scheme) @@ -37,15 +38,29 @@ hunter_add_version( hunter_add_version( PACKAGE_NAME gRPC - VERSION "1.29.1" - URL "https://github.com/soramitsu/libp2p-grpc/archive/hunter-1.29.1.tar.gz" - SHA1 "28eee0d55849fcd42e9408525558aacbd7d27c1d") + VERSION "1.31.0-p0" + URL "https://github.com/cpp-pm/grpc/archive/v1.31.0-p0.tar.gz" + SHA1 "017f1bbb1df948422b4e4894f1fcdaf7c120bc6e") hunter_add_version( PACKAGE_NAME gRPC - VERSION "1.29.1.1" - URL "https://github.com/soramitsu/libp2p-grpc/archive/b0245d9c20e10c4581d70e6565fd988058fe6ebd.tar.gz" - SHA1 "85c002b2c8d4d4209475a61bd321368d384188f8") + VERSION "1.34.0-p0" + URL "https://github.com/cpp-pm/grpc/archive/v1.34.0-p0.tar.gz" + SHA1 "437f34aaf0ae699fc95cfddef16eabb9e2e8ed04") + +hunter_cmake_args( + gRPC + CMAKE_ARGS + gRPC_ZLIB_PROVIDER=package + gRPC_CARES_PROVIDER=package + gRPC_RE2_PROVIDER=package + gRPC_SSL_PROVIDER=package + gRPC_PROTOBUF_PROVIDER=package + gRPC_PROTOBUF_PACKAGE_TYPE=CONFIG + gRPC_GFLAGS_PROVIDER=package + gRPC_BENCHMARK_PROVIDER=package + gRPC_ABSL_PROVIDER=package +) hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(gRPC) diff --git a/cmake/projects/gl4es/hunter.cmake b/cmake/projects/gl4es/hunter.cmake index b37425d14f..6b01204d55 100644 --- a/cmake/projects/gl4es/hunter.cmake +++ b/cmake/projects/gl4es/hunter.cmake @@ -4,6 +4,28 @@ include(hunter_download) include(hunter_cmake_args) include(hunter_pick_scheme) +hunter_add_version( + PACKAGE_NAME + gl4es + VERSION + 1.1.4-p1 + URL + "https://github.com/cpp-pm/gl4es/archive/v1.1.4-p1.tar.gz" + SHA1 + 5a3f0c3c966962171ff9c694a13b4a704654593c +) + +hunter_add_version( + PACKAGE_NAME + gl4es + VERSION + 1.1.4-p0 + URL + "https://github.com/cpp-pm/gl4es/archive/1.1.4-p0.tar.gz" + SHA1 + fcb75a97d261bf7910a5bbfbd60a95a36a216295 +) + hunter_add_version( PACKAGE_NAME gl4es diff --git a/cmake/projects/glm/hunter.cmake b/cmake/projects/glm/hunter.cmake index 529fbc7be2..a1a50240db 100644 --- a/cmake/projects/glm/hunter.cmake +++ b/cmake/projects/glm/hunter.cmake @@ -73,6 +73,17 @@ hunter_add_version( 86ac27949abbd6654a74c3530ec4fe900768fb84 ) +hunter_add_version( + PACKAGE_NAME + glm + VERSION + "0.9.9.8" + URL + "https://github.com/cpp-pm/glm/archive/v0.9.9.8-p0.tar.gz" + SHA1 + 1a910ec1df1c5992f8d7c562850dd094584f1a25 +) + include(GNUInstallDirs) # glm use custom bundled GNUInstallDirs module so we have to diff --git a/cmake/projects/glslang/hunter.cmake b/cmake/projects/glslang/hunter.cmake index 3403d8386d..9209a7fde1 100644 --- a/cmake/projects/glslang/hunter.cmake +++ b/cmake/projects/glslang/hunter.cmake @@ -31,6 +31,17 @@ hunter_add_version( 44d6157e5bf6005f1f611bcea323488e6268d9c9 ) +hunter_add_version( + PACKAGE_NAME + glslang + VERSION + 8.13.3743-9eef54b2-p0 + URL + "https://github.com/cpp-pm/glslang/archive/v8.13.3743-9eef54b2-p0.tar.gz" + SHA1 + fb8593f4671116d318909394d2fba3774f027ca0 +) + if(IOS OR ANDROID) hunter_cmake_args( glslang diff --git a/cmake/projects/glu/hunter.cmake b/cmake/projects/glu/hunter.cmake index 6b213a318d..cc5f54f16b 100644 --- a/cmake/projects/glu/hunter.cmake +++ b/cmake/projects/glu/hunter.cmake @@ -4,6 +4,17 @@ include(hunter_cmake_args) include(hunter_download) include(hunter_pick_scheme) +hunter_add_version( + PACKAGE_NAME + glu + VERSION + 9.0.1-p1 + URL + "https://github.com/cpp-pm/glu/archive/v9.0.1-p1.tar.gz" + SHA1 + eff93afef33dfc1acd158017f59e37d45ee1a9fc +) + hunter_add_version( PACKAGE_NAME glu diff --git a/cmake/projects/intx/hunter.cmake b/cmake/projects/intx/hunter.cmake index f1e4543b35..5e038ceec4 100644 --- a/cmake/projects/intx/hunter.cmake +++ b/cmake/projects/intx/hunter.cmake @@ -30,6 +30,39 @@ hunter_add_version( 50c4d8ec601114755be9fd5bf5b288ee4eeacd54 ) +hunter_add_version( + PACKAGE_NAME + intx + VERSION + 0.3.0 + URL + https://github.com/chfast/intx/archive/v0.3.0.tar.gz + SHA1 + a8caffec14acbfead56edce78f360611aa4d252f +) + +hunter_add_version( + PACKAGE_NAME + intx + VERSION + 0.4.0 + URL + https://github.com/chfast/intx/archive/v0.4.0.tar.gz + SHA1 + 8a2a0b0efa64899db972166a9b3568a6984c61bc +) + +hunter_add_version( + PACKAGE_NAME + intx + VERSION + 0.5.0 + URL + https://github.com/chfast/intx/archive/v0.5.0.tar.gz + SHA1 + 7f917cfe9046278d348a5cf36c20f9847d351807 +) + hunter_cmake_args( intx CMAKE_ARGS diff --git a/cmake/projects/jpeg-compressor/hunter.cmake b/cmake/projects/jpeg-compressor/hunter.cmake new file mode 100644 index 0000000000..01e89df350 --- /dev/null +++ b/cmake/projects/jpeg-compressor/hunter.cmake @@ -0,0 +1,24 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + jpeg-compressor + VERSION + 0.0.0-aeb7d3b-p0 + URL + "https://github.com/cpp-pm/jpeg-compressor/archive/v0.0.0-aeb7d3b-p0.tar.gz" + SHA1 + e7ae7f3d3cf9ebfacd2af0c2b9efbd976dcc9823 +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(jpeg-compressor) +hunter_download(PACKAGE_NAME jpeg-compressor) diff --git a/cmake/projects/jsmn/hunter.cmake b/cmake/projects/jsmn/hunter.cmake new file mode 100644 index 0000000000..cf92428cc8 --- /dev/null +++ b/cmake/projects/jsmn/hunter.cmake @@ -0,0 +1,24 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + jsmn + VERSION + 1.1.0-053d3cd-p0 + URL + "https://github.com/cpp-pm/jsmn/archive/v1.1.0-053d3cd-p0.tar.gz" + SHA1 + 5a3b097e59975df1e0d1d5e3c27833c8869fbe09 +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(jsmn) +hunter_download(PACKAGE_NAME jsmn) diff --git a/cmake/projects/libarchive/hunter.cmake b/cmake/projects/libarchive/hunter.cmake new file mode 100644 index 0000000000..d171843db9 --- /dev/null +++ b/cmake/projects/libarchive/hunter.cmake @@ -0,0 +1,38 @@ +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_configuration_types) +include(hunter_pick_scheme) +include(hunter_download) +include(hunter_cacheable) +include(hunter_cmake_args) + +hunter_add_version( + PACKAGE_NAME + libarchive + VERSION + "3.4.3" + URL + "https://libarchive.org/downloads/libarchive-3.4.3.tar.gz" + SHA1 + 6528f38fa03a44bfcf58435ec8512ffea2851c99 +) + +hunter_configuration_types(libarchive CONFIGURATION_TYPES Release) +hunter_pick_scheme(DEFAULT url_sha1_autotools) + +hunter_cmake_args( + libarchive + CMAKE_ARGS + PKGCONFIG_EXPORT_TARGETS=libarchive + EXTRA_FLAGS=--without-iconv +) + +hunter_cacheable(libarchive) +hunter_download( + PACKAGE_NAME libarchive + PACKAGE_INTERNAL_DEPS_ID "1" + PACKAGE_UNRELOCATABLE_TEXT_FILES + "lib/libarchive.la" + "lib/pkgconfig/libarchive.pc" +) diff --git a/cmake/projects/libigl/hunter.cmake b/cmake/projects/libigl/hunter.cmake index 2bde5209e8..cfbe616c54 100644 --- a/cmake/projects/libigl/hunter.cmake +++ b/cmake/projects/libigl/hunter.cmake @@ -11,6 +11,17 @@ include(hunter_pick_scheme) # Tags v1.3.3 and v2.0.0 are the same: # - https://github.com/hunter-packages/libigl/pull/1#issuecomment-495176368 +hunter_add_version( + PACKAGE_NAME + libigl + VERSION + 2.2.0 + URL + "https://github.com/libigl/libigl/archive/v2.2.0.tar.gz" + SHA1 + 3d20919a8783eba741dab3100e9e55fb75615be5 +) + hunter_add_version( PACKAGE_NAME libigl diff --git a/cmake/projects/libsodium/schemes/url_sha1_libsodium_msbuild.cmake.in b/cmake/projects/libsodium/schemes/url_sha1_libsodium_msbuild.cmake.in index cbc0301581..33bb067a2e 100644 --- a/cmake/projects/libsodium/schemes/url_sha1_libsodium_msbuild.cmake.in +++ b/cmake/projects/libsodium/schemes/url_sha1_libsodium_msbuild.cmake.in @@ -16,6 +16,7 @@ hunter_assert_not_empty_string("@HUNTER_EP_NAME@") hunter_assert_not_empty_string("@HUNTER_INSTALL_PREFIX@") hunter_assert_not_empty_string("@HUNTER_libsodium_VERSION@") hunter_assert_not_empty_string("@HUNTER_MSVC_ARCH@") +hunter_assert_not_empty_string("@HUNTER_MSVC_ARCH_TARGET@") hunter_assert_not_empty_string("@HUNTER_MSVC_VCVARSALL@") hunter_assert_not_empty_string("@HUNTER_PACKAGE_URL@") hunter_assert_not_empty_string("@HUNTER_PACKAGE_SHA1@") @@ -55,13 +56,19 @@ else() endif() # Check MSVC Architechture -string(COMPARE EQUAL "@HUNTER_MSVC_ARCH@" "x86" _is_arch_x86) -string(COMPARE EQUAL "@HUNTER_MSVC_ARCH@" "amd64" _is_arch_x64) +string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "x86" _is_arch_x86) +string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "amd64" _is_arch_x64) +string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "arm" _is_arch_arm) +string(COMPARE EQUAL "@HUNTER_MSVC_ARCH_TARGET@" "arm64" _is_arch_arm64) if(_is_arch_x86) set(msvc_arch "Win32") elseif(_is_arch_x64) set(msvc_arch "x64") +elseif(_is_arch_arm) + set(msvc_arch "ARM") +elseif(_is_arch_arm64) + set(msvc_arch "ARM64") else() hunter_user_error("Architechture supplied is not supported.") endif() diff --git a/cmake/projects/libusb/hunter.cmake b/cmake/projects/libusb/hunter.cmake index f312afb5fe..3ccbccf20c 100644 --- a/cmake/projects/libusb/hunter.cmake +++ b/cmake/projects/libusb/hunter.cmake @@ -21,14 +21,26 @@ hunter_add_version( cdb45a2d679e2ccbc3a8193f843e3f0c7187f74c ) +hunter_add_version( + PACKAGE_NAME + libusb + VERSION + 1.0.23 + URL + "https://github.com/libusb/libusb/archive/v1.0.23.tar.gz" + SHA1 + c8ebcc7d0a14f910151b3066326d8ba126894b88 +) + hunter_cmake_args( libusb - CMAKE_ARGS + CMAKE_ARGS + BOOTSTRAP=./bootstrap.sh PKGCONFIG_EXPORT_TARGETS=libusb-1.0 ) hunter_configuration_types(libusb CONFIGURATION_TYPES Release) -hunter_pick_scheme(DEFAULT url_sha1_autogen_autotools) +hunter_pick_scheme(DEFAULT url_sha1_autotools) hunter_cacheable(libusb) hunter_download(PACKAGE_NAME libusb PACKAGE_INTERNAL_DEPS_ID "2" diff --git a/cmake/projects/lz4/hunter.cmake b/cmake/projects/lz4/hunter.cmake index 5a7467c724..53927dc82c 100644 --- a/cmake/projects/lz4/hunter.cmake +++ b/cmake/projects/lz4/hunter.cmake @@ -5,8 +5,10 @@ include(hunter_add_version) include(hunter_cacheable) +include(hunter_cmake_args) include(hunter_download) include(hunter_pick_scheme) +include(hunter_source_subdir) hunter_add_version( PACKAGE_NAME @@ -30,6 +32,30 @@ hunter_add_version( e96abaedd5d8a5a61c21316c8bb173b1954c7c6b ) +hunter_add_version( + PACKAGE_NAME + lz4 + VERSION + 1.9.2-p0 + URL + "https://github.com/cpp-pm/lz4/archive/v1.9.2-p0.tar.gz" + SHA1 + 0fc022c98ecd741bc5dda3cafeebfc9290b82983 +) + +if(NOT HUNTER_lz4_VERSION VERSION_LESS 1.9.2) + hunter_cmake_args( + lz4 + CMAKE_ARGS + LZ4_INSTALL_BINARIES=OFF + ) + + hunter_source_subdir( + lz4 + SOURCE_SUBDIR "contrib/cmake_unofficial" + ) +endif() + hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(lz4) hunter_download(PACKAGE_NAME lz4) diff --git a/cmake/projects/meshoptimizer/hunter.cmake b/cmake/projects/meshoptimizer/hunter.cmake new file mode 100644 index 0000000000..ce71466dc7 --- /dev/null +++ b/cmake/projects/meshoptimizer/hunter.cmake @@ -0,0 +1,43 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) +include(hunter_cmake_args) + +hunter_add_version( + PACKAGE_NAME + meshoptimizer + VERSION + 0.14-a507623-p0 + URL + "https://github.com/cpp-pm/meshoptimizer/archive/v0.14-a507623-p0.tar.gz" + SHA1 + d8e23cf64352a62a85ff10c7b4a0638231643a24 +) + +if(ANDROID OR IOS) + hunter_cmake_args( + meshoptimizer + CMAKE_ARGS + MESHOPT_BUILD_DEMO=OFF + MESHOPT_BUILD_GLTFPACK=OFF + MESHOPT_BUILD_SHARED_LIBS=OFF + ) +else() + hunter_cmake_args( + meshoptimizer + CMAKE_ARGS + MESHOPT_BUILD_DEMO=OFF + MESHOPT_BUILD_GLTFPACK=ON + MESHOPT_BUILD_SHARED_LIBS=OFF + ) +endif() + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(meshoptimizer) +hunter_download(PACKAGE_NAME meshoptimizer) diff --git a/cmake/projects/miniz/hunter.cmake b/cmake/projects/miniz/hunter.cmake new file mode 100644 index 0000000000..0cac23ae52 --- /dev/null +++ b/cmake/projects/miniz/hunter.cmake @@ -0,0 +1,33 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) +include(hunter_cmake_args) + +hunter_add_version( + PACKAGE_NAME + miniz + VERSION + 2.1.0-5ebed82-p0 + URL + "https://github.com/richgel999/miniz/archive/5ebed8288278fc0ff75d5f93ba95afc0416afe02.tar.gz" + SHA1 + cabba521a61b9af353e197e74c1fa00307f33241 +) + +hunter_cmake_args( + miniz + CMAKE_ARGS + AMALGAMATE_SOURCES=ON + BUILD_EXAMPLES=OFF + BUILD_SHARED_LIBS=OFF +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(miniz) +hunter_download(PACKAGE_NAME miniz) diff --git a/cmake/projects/nlohmann_json/hunter.cmake b/cmake/projects/nlohmann_json/hunter.cmake index b4ef1d0136..cd3d531f60 100644 --- a/cmake/projects/nlohmann_json/hunter.cmake +++ b/cmake/projects/nlohmann_json/hunter.cmake @@ -127,6 +127,34 @@ hunter_add_version( SHA1 d40e66b98392d0cfbd348de029b7822ab5b74e25 ) +hunter_add_version( + PACKAGE_NAME nlohmann_json + VERSION "3.7.1" + URL "https://github.com/nlohmann/json/archive/v3.7.1.tar.gz" + SHA1 a9c7ed5d9a3a514636cec6287a8aebd89502a5f0 +) + +hunter_add_version( + PACKAGE_NAME nlohmann_json + VERSION "3.7.2" + URL "https://github.com/nlohmann/json/archive/v3.7.2.tar.gz" + SHA1 2909fb5aa4cd9766eb8a49fdf911116c5c65d68b +) + +hunter_add_version( + PACKAGE_NAME nlohmann_json + VERSION "3.7.3" + URL "https://github.com/nlohmann/json/archive/v3.7.3.tar.gz" + SHA1 2edc54d0cec46549c3bf9983541813f1b64bd26c +) + +hunter_add_version( + PACKAGE_NAME nlohmann_json + VERSION "3.8.0" + URL "https://github.com/nlohmann/json/archive/v3.8.0.tar.gz" + SHA1 70a16819777672d3771a2754eccee95e4249b3b4 +) + hunter_cmake_args(nlohmann_json CMAKE_ARGS JSON_BuildTests=OFF) hunter_pick_scheme(DEFAULT url_sha1_cmake) diff --git a/cmake/projects/occt/ci/build.sh b/cmake/projects/occt/ci/build.sh new file mode 100644 index 0000000000..3440f03de6 --- /dev/null +++ b/cmake/projects/occt/ci/build.sh @@ -0,0 +1,20 @@ +# Install additional dependencies: + +if [ "$(uname)" == "Darwin" ]; then + # OSX + : +elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then + # GNU/Linux + sudo apt-get update + sudo apt-get install mesa-common-dev libgl1-mesa-dev libxmu-dev libxi-dev +elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW32_NT" ]; then + # Windows x32 + : +elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ]; then + # Windows x64 + : +fi + + +# Run normal build script: +source ./.github/workflows/ci/build.sh diff --git a/cmake/projects/occt/hunter.cmake b/cmake/projects/occt/hunter.cmake new file mode 100644 index 0000000000..a2bb1fafa1 --- /dev/null +++ b/cmake/projects/occt/hunter.cmake @@ -0,0 +1,33 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) +include(hunter_cmake_args) + +hunter_add_version( + PACKAGE_NAME + occt + VERSION + 7.4.0-p0 + URL + "https://github.com/cpp-pm/OCCT/archive/v7.4.0-p0.tar.gz" + SHA1 + 537bb3eeaff198b1733e49e857c19429bf2f7781 +) + +hunter_cmake_args( + occt + CMAKE_ARGS + BUILD_MODULE_Draw=Off + BUILD_DOC_Overview=Off +) + + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(occt) +hunter_download(PACKAGE_NAME occt) diff --git a/cmake/projects/opusfile/hunter.cmake b/cmake/projects/opusfile/hunter.cmake new file mode 100644 index 0000000000..9b4ef32ed2 --- /dev/null +++ b/cmake/projects/opusfile/hunter.cmake @@ -0,0 +1,28 @@ +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_cmake_args) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + opusfile + VERSION + 0.12-p0 + URL + "https://github.com/cpp-pm/opusfile/archive/v0.12-p0.tar.gz" + SHA1 + 877447616c34b6dd7753ee1a883c713ca2f56773 +) + +if(WIN32 OR MINGW OR MSYS) + hunter_cmake_args( + opusfile + CMAKE_ARGS + BUILD_OPUSURL=OFF + ) +endif() + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(opusfile) +hunter_download(PACKAGE_NAME opusfile) diff --git a/cmake/projects/pugixml/hunter.cmake b/cmake/projects/pugixml/hunter.cmake index 913d04a49b..6908821f3a 100644 --- a/cmake/projects/pugixml/hunter.cmake +++ b/cmake/projects/pugixml/hunter.cmake @@ -8,9 +8,9 @@ include(hunter_pick_scheme) hunter_add_version( PACKAGE_NAME pugixml - VERSION "1.8.1" - URL "https://github.com/rusdevops/pugixml/archive/v1.8.1-hunter.tar.gz" - SHA1 005b1c8830e6f81f559d0b72f9f7ff320895847f + VERSION "1.10-p0" + URL "https://github.com/cpp-pm/pugixml/archive/v1.10-p0.tar.gz" + SHA1 a007db95cbb6b49cb8d2d247e60a82912c435484 ) hunter_pick_scheme(DEFAULT url_sha1_cmake) diff --git a/cmake/projects/pybind11/hunter.cmake b/cmake/projects/pybind11/hunter.cmake index adb1f11a47..5d203510cc 100644 --- a/cmake/projects/pybind11/hunter.cmake +++ b/cmake/projects/pybind11/hunter.cmake @@ -18,6 +18,42 @@ hunter_add_version( URL "https://github.com/pybind/pybind11/archive/v2.2.4.tar.gz" SHA1 "488971990bbd3828311356faaa30f4b0d7575dad") +hunter_add_version( + PACKAGE_NAME pybind11 + VERSION "2.3.0" + URL "https://github.com/pybind/pybind11/archive/v2.3.0.tar.gz" + SHA1 "98b9ccfb793806f9046f94421ce360598ab42bc3") + +hunter_add_version( + PACKAGE_NAME pybind11 + VERSION "2.4.0" + URL "https://github.com/pybind/pybind11/archive/v2.4.0.tar.gz" + SHA1 "22c1bff0b451f2faa21374e03515276649c9d749") + +hunter_add_version( + PACKAGE_NAME pybind11 + VERSION "2.4.1" + URL "https://github.com/pybind/pybind11/archive/v2.4.1.tar.gz" + SHA1 "41903d9fad671ae62218e1d87e2ce6cd508f7c8a") + +hunter_add_version( + PACKAGE_NAME pybind11 + VERSION "2.4.2" + URL "https://github.com/pybind/pybind11/archive/v2.4.2.tar.gz" + SHA1 "b9ea5cb8bdf96f9765914036dcbfe266c240eb6a") + +hunter_add_version( + PACKAGE_NAME pybind11 + VERSION "2.4.3" + URL "https://github.com/pybind/pybind11/archive/v2.4.3.tar.gz" + SHA1 "75d0184c1720bad96bbcbef0e25ccee92f21523b") + +hunter_add_version( + PACKAGE_NAME pybind11 + VERSION "2.5.0" + URL "https://github.com/pybind/pybind11/archive/v2.5.0.tar.gz" + SHA1 "8caf0bde85813f9eac55e516d4afcb925806aa5e") + hunter_cmake_args(pybind11 CMAKE_ARGS PYBIND11_TEST=OFF) hunter_pick_scheme(DEFAULT url_sha1_cmake) diff --git a/cmake/projects/quickjs/hunter.cmake b/cmake/projects/quickjs/hunter.cmake index 239d0df2c5..8ceaf326b5 100644 --- a/cmake/projects/quickjs/hunter.cmake +++ b/cmake/projects/quickjs/hunter.cmake @@ -19,6 +19,17 @@ hunter_add_version( def3915206ca673831601adf4efbe0f8264806e5 ) +hunter_add_version( + PACKAGE_NAME + quickjs + VERSION + 2020-04-12-p0 + URL + "https://github.com/cpp-pm/quickjs/archive/v2020-04-12-p0.tar.gz" + SHA1 + e5d3e7fc980b66a958962e94247f9a8b1df0a1c0 +) + hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(quickjs) hunter_download(PACKAGE_NAME quickjs) diff --git a/cmake/projects/range-v3/hunter.cmake b/cmake/projects/range-v3/hunter.cmake index 4515cd3b92..a18934bf23 100644 --- a/cmake/projects/range-v3/hunter.cmake +++ b/cmake/projects/range-v3/hunter.cmake @@ -53,6 +53,17 @@ hunter_add_version( 5c0eac44a710f85cae6dc11aa7577ec90f30c5a8 ) +hunter_add_version( + PACKAGE_NAME + range-v3 + VERSION + 0.11.0 + URL + "https://github.com/ericniebler/range-v3/archive/0.11.0.tar.gz" + SHA1 + a49d6d541057d8601d70b5771567eb89832b50bf +) + hunter_cmake_args( range-v3 CMAKE_ARGS diff --git a/cmake/projects/re2/hunter.cmake b/cmake/projects/re2/hunter.cmake index 9b7b0b7fe6..5580a559e5 100644 --- a/cmake/projects/re2/hunter.cmake +++ b/cmake/projects/re2/hunter.cmake @@ -1,5 +1,4 @@ -# Copyright (c) 2016-2017, Ruslan Baratov -# Copyright (c) 2017, David Hirvonen +# Copyright (c) 2016-2020, Ruslan Baratov, David Hirvonen, Rahul Sheth # All rights reserved. # !!! DO NOT PLACE HEADER GUARDS HERE !!! @@ -19,7 +18,24 @@ hunter_add_version( https://github.com/hunter-packages/re2/archive/2017.11.01-p0.tar.gz SHA1 78ed8b27fe1499a30281f3763bb282ea47636b1a - ) +) + +hunter_add_version( + PACKAGE_NAME + re2 + VERSION + 2020.08.01 + URL + https://github.com/google/re2/archive/2020-08-01.tar.gz + SHA1 + ac4796e631461c27cd05629097a6931c1d5b13a4 +) + +hunter_cmake_args( + re2 + CMAKE_ARGS + RE2_BUILD_TESTING=OFF +) hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(re2) diff --git a/cmake/projects/s3/hunter.cmake b/cmake/projects/s3/hunter.cmake index 0efd7b2a0a..90295aa356 100644 --- a/cmake/projects/s3/hunter.cmake +++ b/cmake/projects/s3/hunter.cmake @@ -8,6 +8,17 @@ include(hunter_cacheable) include(hunter_download) include(hunter_pick_scheme) +hunter_add_version( + PACKAGE_NAME + s3 + VERSION + 4.1.0-287e4be-p0 + URL + "https://github.com/cpp-pm/libs3/archive/v4.1.0-287e4be-p0.tar.gz" + SHA1 + e79af37884e619141f94e9a102218d824f851e95 +) + hunter_add_version( PACKAGE_NAME s3 diff --git a/cmake/projects/smol-v/hunter.cmake b/cmake/projects/smol-v/hunter.cmake new file mode 100644 index 0000000000..4edc3b7f6b --- /dev/null +++ b/cmake/projects/smol-v/hunter.cmake @@ -0,0 +1,24 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + smol-v + VERSION + 0.0.0-4b52c16-p0 + URL + "https://github.com/cpp-pm/smol-v/archive/v0.0.0-4b52c16-p0.tar.gz" + SHA1 + e5c2a74d2dc169d3c8a727b752a74e983b22d6a6 +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(smol-v) +hunter_download(PACKAGE_NAME smol-v) diff --git a/cmake/projects/spdlog/hunter.cmake b/cmake/projects/spdlog/hunter.cmake index a9178f2fd2..1e08e32cbf 100644 --- a/cmake/projects/spdlog/hunter.cmake +++ b/cmake/projects/spdlog/hunter.cmake @@ -119,6 +119,17 @@ hunter_add_version( 5dd633311d1aec79404d6694b452745b80f1a7d1 ) +hunter_add_version( + PACKAGE_NAME + spdlog + VERSION + "1.8.0-p1" + URL + "https://github.com/cpp-pm/spdlog/archive/v1.8.0-p1.tar.gz" + SHA1 + 3bfb2352482e6190c377f121b1f760dad767b58d +) + hunter_cmake_args( spdlog CMAKE_ARGS @@ -128,7 +139,7 @@ hunter_cmake_args( SPDLOG_BUILD_TESTING=OFF SPDLOG_BUILD_TESTS=OFF SPDLOG_BUILD_BENCH=OFF - SPDLOG_FMT_EXTERNAL=NO + SPDLOG_FMT_EXTERNAL=ON ) hunter_pick_scheme(DEFAULT url_sha1_cmake) diff --git a/cmake/projects/spirv-cross/hunter.cmake b/cmake/projects/spirv-cross/hunter.cmake index 5467adbe1c..8fadc2b576 100644 --- a/cmake/projects/spirv-cross/hunter.cmake +++ b/cmake/projects/spirv-cross/hunter.cmake @@ -30,6 +30,17 @@ hunter_add_version( 766604e35bf4243916d403310922a0b9d930f43b ) +hunter_add_version( + PACKAGE_NAME + spirv-cross + VERSION + 20200917 + URL + "https://github.com/KhronosGroup/SPIRV-Cross/archive/2020-09-17.tar.gz" + SHA1 + 76df6c9378950ed805f372ee9bed7b55a3a8d9c6 +) + hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(spirv-cross) hunter_download(PACKAGE_NAME spirv-cross) diff --git a/cmake/projects/termcolor/hunter.cmake b/cmake/projects/termcolor/hunter.cmake index 345d115000..3919b5d33c 100644 --- a/cmake/projects/termcolor/hunter.cmake +++ b/cmake/projects/termcolor/hunter.cmake @@ -19,6 +19,17 @@ hunter_add_version( 3ecab2daf39f118bff2244f51760dfd32ab7a3d1 ) +hunter_add_version( + PACKAGE_NAME + termcolor + VERSION + "1.0.1" + URL + "https://github.com/ikalnytskyi/termcolor/archive/v1.0.1.tar.gz" + SHA1 + c49b9d07c3240ba624e6471a5e461ecaa2fc7dc2 +) + hunter_cmake_args(termcolor CMAKE_ARGS ENABLE_TESTING=OFF) hunter_pick_scheme(DEFAULT url_sha1_cmake) diff --git a/cmake/projects/theora/hunter.cmake b/cmake/projects/theora/hunter.cmake new file mode 100644 index 0000000000..e8836cf285 --- /dev/null +++ b/cmake/projects/theora/hunter.cmake @@ -0,0 +1,20 @@ +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_cmake_args) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + theora + VERSION + 1.1.1-p0 + URL + "https://github.com/cpp-pm/theora/archive/v1.1.1-p0.tar.gz" + SHA1 + ccccca94bb200c272a552a4ebf83327eee43245a +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(theora) +hunter_download(PACKAGE_NAME theora) diff --git a/cmake/projects/tinyexr/hunter.cmake b/cmake/projects/tinyexr/hunter.cmake new file mode 100644 index 0000000000..6049423a16 --- /dev/null +++ b/cmake/projects/tinyexr/hunter.cmake @@ -0,0 +1,35 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + tinyexr + VERSION + 1.0.0-297e645-p0 + URL + "https://github.com/cpp-pm/tinyexr/archive/v1.0.0-297e645-p0.tar.gz" + SHA1 + 7d17e84ddd7ba48b11ab27104bcb92222bb2ef9f +) + +hunter_add_version( + PACKAGE_NAME + tinyexr + VERSION + 1.0.0-297e645-p1 + URL + "https://github.com/cpp-pm/tinyexr/archive/v1.0.0-297e645-p1.tar.gz" + SHA1 + d977a698aadc7f48a9e6f7b1a798ae58ef85428a +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(tinyexr) +hunter_download(PACKAGE_NAME tinyexr) diff --git a/cmake/projects/tinygltf/hunter.cmake b/cmake/projects/tinygltf/hunter.cmake new file mode 100644 index 0000000000..d3a3a3135b --- /dev/null +++ b/cmake/projects/tinygltf/hunter.cmake @@ -0,0 +1,33 @@ +# Copyright (c) 2014-2015, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_cmake_args) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + tinygltf + VERSION + "2.5.0-p0" + URL + "https://github.com/cpp-pm/tinygltf/archive/v2.5.0-p0.tar.gz" + SHA1 + "dd8e139e1f2f03dcfe9eab2aedff25fa5c6297c6" +) + +hunter_cmake_args( + tinygltf + CMAKE_ARGS + TINYGLTF_BUILD_LOADER_EXAMPLE=OFF + TINYGLTF_BUILD_GL_EXAMPLES=OFF + TINYGLTF_BUILD_VALIDATOR_EXAMPLE=OFF +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(tinygltf) +hunter_download(PACKAGE_NAME tinygltf) diff --git a/cmake/projects/tinyobjloader/hunter.cmake b/cmake/projects/tinyobjloader/hunter.cmake new file mode 100644 index 0000000000..7ae3be2e88 --- /dev/null +++ b/cmake/projects/tinyobjloader/hunter.cmake @@ -0,0 +1,24 @@ +# Copyright (c) 2020, Rahul Sheth +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + tinyobjloader + VERSION + 2.0.0-rc6-bec38e3 + URL + "https://github.com/tinyobjloader/tinyobjloader/archive/bec38e3bbfe56e6cf218d30375d3990ffbd9e362.tar.gz" + SHA1 + bd8ff0ae60d5d6f84656dcbcdea9ffc0dd1b0603 +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(tinyobjloader) +hunter_download(PACKAGE_NAME tinyobjloader) diff --git a/cmake/projects/tsl_hat_trie/hunter.cmake b/cmake/projects/tsl_hat_trie/hunter.cmake index d7712d3481..d6eeaa5821 100644 --- a/cmake/projects/tsl_hat_trie/hunter.cmake +++ b/cmake/projects/tsl_hat_trie/hunter.cmake @@ -1,5 +1,5 @@ -# Copyright (c) 2016-2017, Ruslan Baratov -# Copyright (c) 2020, Soramitsu Co., Ltd. +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# Copyright (c) 2021, Soramitsu Co., Ltd. # All rights reserved. # SPDX-License-Identifier: Apache-2.0 diff --git a/cmake/projects/tsl_robin_map/hunter.cmake b/cmake/projects/tsl_robin_map/hunter.cmake new file mode 100644 index 0000000000..d2df0ebc7b --- /dev/null +++ b/cmake/projects/tsl_robin_map/hunter.cmake @@ -0,0 +1,24 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + tsl_robin_map + VERSION + 0.6.3-dc2023b + URL + "https://github.com/Tessil/robin-map/archive/dc2023b02e35e51b386fbd7ab524b0f56d491965.tar.gz" + SHA1 + f17356667cd0e7200eea58dcaf9c410176223199 +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(tsl_robin_map) +hunter_download(PACKAGE_NAME tsl_robin_map) diff --git a/cmake/projects/utf8/hunter.cmake b/cmake/projects/utf8/hunter.cmake index 3d06c4837a..cbd1923d2d 100644 --- a/cmake/projects/utf8/hunter.cmake +++ b/cmake/projects/utf8/hunter.cmake @@ -5,6 +5,7 @@ include(hunter_add_version) include(hunter_cacheable) +include(hunter_cmake_args) include(hunter_download) include(hunter_pick_scheme) @@ -30,6 +31,25 @@ hunter_add_version( 73116d453d4fb2ab4b46159095baeeb319f1ae28 ) +hunter_add_version( + PACKAGE_NAME + utf8 + VERSION + 3.1.1 + URL + "https://github.com/nemtrif/utfcpp/archive/v3.1.1.tar.gz" + SHA1 + 9f49d2ff2cdb7d3b9ad74bea3289ebabbb6c45d9 +) + +hunter_cmake_args( + utf8 + CMAKE_ARGS + UTF8_TESTS=OFF + UTF8_INSTALL=ON + UTF8_SAMPLES=OFF +) + hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(utf8) hunter_download(PACKAGE_NAME utf8) diff --git a/cmake/projects/xatlas/hunter.cmake b/cmake/projects/xatlas/hunter.cmake new file mode 100644 index 0000000000..67f529dc1e --- /dev/null +++ b/cmake/projects/xatlas/hunter.cmake @@ -0,0 +1,24 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + xatlas + VERSION + 0.0.0-4077f0e-p0 + URL + "https://github.com/cpp-pm/xatlas/archive/v0.0.0-4077f0e-p0.tar.gz" + SHA1 + c4352e9b256ad13d9f18cdf098cf7e7e536c89f7 +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(xatlas) +hunter_download(PACKAGE_NAME xatlas) diff --git a/cmake/projects/yaml-cpp/hunter.cmake b/cmake/projects/yaml-cpp/hunter.cmake index ea11578c37..b161068052 100644 --- a/cmake/projects/yaml-cpp/hunter.cmake +++ b/cmake/projects/yaml-cpp/hunter.cmake @@ -61,6 +61,17 @@ hunter_add_version( 956c2b5fbf5aa0eb8ef5ef890c0328b3aa357a13 ) +hunter_add_version( + PACKAGE_NAME + yaml-cpp + VERSION + "0.6.3" + URL + "https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-0.6.3.zip" + SHA1 + f1025e31d9e182d455431c9e09d82cf35769484e + ) + hunter_cmake_args( yaml-cpp CMAKE_ARGS diff --git a/cmake/projects/zlog/hunter.cmake b/cmake/projects/zlog/hunter.cmake new file mode 100644 index 0000000000..b11193552b --- /dev/null +++ b/cmake/projects/zlog/hunter.cmake @@ -0,0 +1,21 @@ +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + zlog + VERSION + "1.2.14" + URL + "https://github.com/HardySimpson/zlog/archive/1.2.14.tar.gz" + SHA1 + 94e5e7f431093036e1529dcadf11c2d779954886 +) + +hunter_pick_scheme(DEFAULT url_sha1_make_only) +hunter_cacheable(zlog) +hunter_download(PACKAGE_NAME zlog) diff --git a/cmake/projects/zstd/hunter.cmake b/cmake/projects/zstd/hunter.cmake index e9af78eecd..41bde7bf66 100644 --- a/cmake/projects/zstd/hunter.cmake +++ b/cmake/projects/zstd/hunter.cmake @@ -21,6 +21,17 @@ hunter_add_version( e770f4ff39ca7b40790e2fe61339cc84b63c0a8d ) +hunter_add_version( + PACKAGE_NAME + zstd + VERSION + 1.4.5 + URL + "https://github.com/facebook/zstd/releases/download/v1.4.5/zstd-1.4.5.tar.gz" + SHA1 + 8059ef26c3d7dffa4d6dad64511c0675e46c0da6 +) + hunter_source_subdir(zstd SOURCE_SUBDIR "build/cmake") hunter_cmake_args(zstd CMAKE_ARGS @@ -30,4 +41,3 @@ hunter_cmake_args(zstd CMAKE_ARGS hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cacheable(zstd) hunter_download(PACKAGE_NAME zstd) - diff --git a/cmake/schemes/url_sha1_make_only.cmake.in b/cmake/schemes/url_sha1_make_only.cmake.in new file mode 100644 index 0000000000..ec504ee9cb --- /dev/null +++ b/cmake/schemes/url_sha1_make_only.cmake.in @@ -0,0 +1,51 @@ +# This is configuration file, variable @SOME_VARIABLE_NAME@ will be substituted during configure_file command +cmake_minimum_required(VERSION 3.0) + +# If such variables like `CMAKE_CXX_FLAGS` or `CMAKE_CXX_COMPILER` not used by scheme +# setting `LANGUAGES` to `NONE` will speed-up build a little bit. If you have any problems/glitches +# use regular `project(Hunter)` command +project(Hunter LANGUAGES NONE) + + +include(ExternalProject) # ExternalProject_Add + +# some Hunter modules will be used +list(APPEND CMAKE_MODULE_PATH "@HUNTER_SELF@/cmake/modules") + +include(hunter_status_debug) +include(hunter_assert_not_empty_string) + +# print this message if HUNTER_STATUS_DEBUG option is ON +hunter_status_debug("Scheme: url_sha1_make_only") + +# Check variables is not empty +hunter_assert_not_empty_string("@HUNTER_SELF@") +hunter_assert_not_empty_string("@HUNTER_EP_NAME@") +hunter_assert_not_empty_string("@HUNTER_PACKAGE_URL@") +hunter_assert_not_empty_string("@HUNTER_PACKAGE_SHA1@") +hunter_assert_not_empty_string("@HUNTER_PACKAGE_DOWNLOAD_DIR@") +hunter_assert_not_empty_string("@HUNTER_PACKAGE_SOURCE_DIR@") +hunter_assert_not_empty_string("@HUNTER_INSTALL_PREFIX@") + + +ExternalProject_Add( + @HUNTER_EP_NAME@ # Name of the external project. Actually not used set for beautify logging messages + URL + @HUNTER_PACKAGE_URL@ # URL of the package to download + URL_HASH + SHA1=@HUNTER_PACKAGE_SHA1@ # SHA1 hash + DOWNLOAD_DIR + "@HUNTER_PACKAGE_DOWNLOAD_DIR@" # Archive destination location + SOURCE_DIR + "@HUNTER_PACKAGE_SOURCE_DIR@" # Unpack directory + INSTALL_DIR + "@HUNTER_INSTALL_PREFIX@" # not used actually (see install command) + CONFIGURE_COMMAND + "" + BUILD_COMMAND + make PREFIX="@HUNTER_INSTALL_PREFIX@" + BUILD_IN_SOURCE + 1 + INSTALL_COMMAND + make PREFIX="@HUNTER_INSTALL_PREFIX@" install +) diff --git a/docs/contributing.rst b/docs/contributing.rst index 5b125cadc3..6df5d7bb55 100644 --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -33,7 +33,7 @@ When contributing please follow the style guides: Before adding or updating a package in Hunter, the package is tested. Tests are done to check if the source can be downloaded, built and linked. Head over to our - `repository for per package CI testing contribution `__ + `repository for per package CI testing contribution `__ to see more. .. note:: diff --git a/docs/creating-new.rst b/docs/creating-new.rst index ad3aa68282..e46f958e05 100644 --- a/docs/creating-new.rst +++ b/docs/creating-new.rst @@ -11,4 +11,5 @@ Creating new package /creating-new/create /creating-new/update + /creating-new/test /creating-new/patch diff --git a/docs/creating-new/create/cmake.rst b/docs/creating-new/create/cmake.rst index 6bfd19a0f0..5d8e4f9753 100644 --- a/docs/creating-new/create/cmake.rst +++ b/docs/creating-new/create/cmake.rst @@ -16,19 +16,19 @@ Examples of such packages: * https://github.com/google/flatbuffers * See `flatbuffers/hunter.cmake `__ - * Testing table: `AppVeyor `__, `Travis `__ + * Testing table: `AppVeyor `__, `Travis `__ * :ref:`pkg.rocksdb` * https://github.com/facebook/rocksdb * See `rocksdb/hunter.cmake `__ - * Testing table: `Travis `__ + * Testing table: `Travis `__ * :ref:`pkg.nlohmann_json` * https://github.com/nlohmann/json * See `nlohmann_json/hunter.cmake `__ - * Testing table: `AppVeyor `__, `Travis `__ + * Testing table: `AppVeyor `__, `Travis `__ Default behavior ================ @@ -229,12 +229,6 @@ In Hunter sources: * ``examples/hunter_box_1`` directory with example for testing * ``docs/packages/pkg/hunter_box_1.rst`` documentation for package -Git branches (will be covered in details later): - -* ``pkg.hunter_box_1`` branch for testing -* ``upload.hunter_box_1`` branch for uploading -* ``pr.hunter_box_1`` work-in-progress branch for adding/updating package - Fork Hunter =========== @@ -448,56 +442,6 @@ If you want to have two tags add another line with ``single``: Since you don't know the pull request number a priori leave it as ``N`` for now. You can update it later. -To locally check if the documentation is still building you can run: - -.. code-block:: none - - [hunter]> cd docs - [hunter/docs]> source ./jenkins.sh - (_venv) [hunter/docs]> ./make.sh - -If the documentation contains spelling errors or unrecognized names, the -documentation test build will fail and report the unrecognized strings. Fix -any spelling errors and test the build again. Any remaining errors can be -fixed by adding all correct but unrecognized names, string, or terms to the -``spelling`` header at the top of the document entry -``docs/packages/pkg/bar-baz.rst``. In this example, -``bar-baz`` would be a package name that is not in the dictionary. - -.. code-block:: none - :emphasize-lines: 1-4 - - .. spelling:: - - bar - baz - - .. index:: - single: unsorted ; bar-baz - - .. _pkg.bar-baz: - -Add entries for each term until the test build completes successfully. - -Common mistake -============== - -Please do not forget to substitute ``===``. - -Good: - -.. code-block:: none - - hunter_box_1 - ============ - -Bad: - -.. code-block:: none - - hunter_box_1 - === - Commit ====== @@ -516,380 +460,13 @@ Now save all changes by doing a commit: [hunter]> git commit -m "Add 'hunter_box_1' package" -.. _testing locally: - -Testing locally -=============== - -This step is optional since we will run tests on the CI server. However it's the -fastest way to check that everything is ready and working correctly. - -Script ``jenkins.py`` will package a temporary Hunter archive based on current -state and build the specified example. This script uses -`Polly `__ toolchains. - -Check you have Python 3 installed, clone Polly, add its ``bin`` folder to -``PATH`` environment variable, go back to Hunter repository and run test. - -On Linux: - -.. code-block:: none - - > which python3 - /usr/bin/python3 - - > git clone https://github.com/cpp-pm/polly - > cd polly - [polly]> export PATH="`pwd`/bin:$PATH" - - > cd hunter - [hunter]> which polly.py - /.../bin/polly.py - - [hunter]> polly.py --help - Python version: 3.5 - usage: polly.py [-h] - ... - - [hunter]> TOOLCHAIN=gcc PROJECT_DIR=examples/hunter_box_1 ./jenkins.py - -On Windows: - -.. code-block:: none - - > git clone https://github.com/cpp-pm/polly - > cd polly - [polly]> set PATH=%CD%\bin;%PATH% - - > cd hunter - [hunter]> where polly.py - C:\...\bin\polly.py - - [hunter]> polly.py --help - Python version: 3.5 - usage: polly.py [-h] - ... - - [hunter]> set TOOLCHAIN=vs-12-2013 - [hunter]> set PROJECT_DIR=examples\hunter_box_1 - [hunter]> .\jenkins.py - -.. admonition:: Stackoverflow - - * `How to execute Python scripts in Windows? `__ - -.. _ci testing: - -CI testing -========== - -Now let's run tests on continuous integration servers with various toolchains -and platforms. Hunter uses `AppVeyor `__ to test for -Windows (Visual Studio, NMake, Ninja, MinGW, MSYS) and -`Travis `__ to test -for Linux (GCC, Clang, Android, Clang Analyzer, Sanitize Address, Sanitize Leak) -and for macOS (Clang + Makefile, Xcode, iOS). - -Register your Hunter fork: - -* `AppVeyor: Getting started `__ -* `Travis: Getting started `__ - -Branch master -============= - -To understand what should be done next you need to understand the structure -of branches. - -* Name: ``master`` -* Repository: https://github.com/ruslo/hunter -* Testing: Documentation on Linux - -In branch ``master`` there is only the ``.travis.yml`` file which will only check -if the documentation is building: - -* https://github.com/cpp-pm/hunter/blob/ea9de264d6c1b05484bdc16a9967c3cb8cca9048/.travis.yml#L57-L59 - -When you open a pull request to ``ruslo/hunter`` this test will automatically run. - -Branch pkg.template -=================== - -* Name: ``pkg.template`` -* Repository: https://github.com/ingenue/hunter -* Testing: *Nothing* - -In branch ``pkg.template`` of the repository ``ingenue/hunter`` there are -the **template** files ``.travis.yml`` and ``appveyor.yml``: - -* https://github.com/ingenue/hunter/blob/pkg.template/.travis.yml -* https://github.com/ingenue/hunter/blob/pkg.template/appveyor.yml - -All changes from ``master`` will go to ``pkg.template``. The only differences -between ``master`` and ``pkg.template`` are the files ``.travis.yml``/``appveyor.yml``. - -Branch pkg. -================= - -Branch for testing package ````. - -* Name: ``pkg.`` -* Repository: https://github.com/ingenue/hunter -* Testing: Package ```` on Windows/Linux/macOS hosts - -Real testing happens in ``pkg.`` branch of ``ingenue/hunter`` repository. -E.g. branch ``pkg.gtest``: - -* https://github.com/ingenue/hunter/tree/pkg.gtest -* AppVeyor https://ci.appveyor.com/project/ingenue/hunter/build/1.0.2352 -* Travis https://travis-ci.org/ingenue/hunter/builds/274507515 - -All changes from ``pkg.template`` will go to ``pkg.`` branch on updates. -The only differences between ``pkg.template`` and ``pkg.`` are -the files ``travis.yml``/``appveyor.yml``. - -Branch upload. -==================== - -Branch for uploads. - -* Name: ``upload.`` -* Repository: https://github.com/ingenue/hunter -* Testing: Upload archives with binaries to cache-server - -After successful tests on ``pkg.`` the branch ``upload.`` will do -uploads. E.g. branch ``upload.gtest``: - -* https://github.com/ingenue/hunter/tree/upload.gtest -* https://ci.appveyor.com/project/ingenue/hunter/build/1.0.2287 -* https://travis-ci.org/ingenue/hunter/builds/270324624 - -All changes from ``pkg.`` will go to ``upload.`` branch on updates. -The only difference between ``upload.`` and ``pkg.`` is -the build command: ``jenkins.py`` vs. ``jenkins.py --upload``. - -Branches structure -================== - -Here is an image showing the structure of the branches: - -.. image:: /creating-new/images/branches.png - :align: center - :alt: Branches - -Fetch CI configs -================ - -Since we are adding a new package we have to create new CI configs for it. -Fetch the branch ``pkg.template`` and substitute all ``foo`` strings with -``hunter_box_1``: - -.. code-block:: none - - [hunter]> git remote add ci https://github.com/ingenue/hunter - [hunter]> git fetch ci - [hunter]> git checkout pkg.template - [hunter]> git checkout -b pr.pkg.hunter_box_1 - - [hunter]> sed -i 's,foo,hunter_box_1,g' .travis.yml - [hunter]> sed -i 's,foo,hunter_box_1,g' appveyor.yml - - [hunter]> git add .travis.yml appveyor.yml - [hunter]> git commit -m "Test 'hunter_box_1' package" - -Run remote tests -================ - -Currently we have two new branches: - -* ``pr.hunter_box_1`` contains new package -* ``pr.pkg.hunter_box_1`` contains configs for testing - -.. code-block:: none - - [hunter]> git branch -vv - master - pkg.template - pr.hunter_box_1 9f60453 Add 'hunter_box_1' package - * pr.pkg.hunter_box_1 4a7626d Test 'hunter_box_1' package - -To run tests we need to merge both changes into ``test.hunter_box_1`` -and push ``test.hunter_box_1`` branch to remote: - -.. code-block:: none - - [hunter]> git checkout pr.hunter_box_1 - [hunter]> git checkout -b test.hunter_box_1 - [hunter]> git merge pr.pkg.hunter_box_1 - [hunter]> git push -u origin test.hunter_box_1 - -Example: - -* https://travis-ci.org/hunterbox/hunter/builds/276514711 - -.. image:: /creating-new/images/pull-request.png - :align: center - :alt: Pull request - -Fix AppVeyor path too long error -================================ - -If you see error - -.. code-block:: none - - -- The C compiler identification is unknown - -- The CXX compiler identification is unknown - -or - -.. code-block:: none - - ...: error MSB3491: Could not write lines to file "...". - The specified path, file name, or both are too long. The fully qualified file - name must be less than 260 characters, and the directory name must be less than - 248 characters - -on Windows build, adding :ref:`HUNTER_BINARY_DIR ` -environment variable should help: - -.. code-block:: yaml - :emphasize-lines: 4 - - - TOOLCHAIN: "vs-15-2017-win64-cxx17" - PROJECT_DIR: examples\SuiteSparse - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - HUNTER_BINARY_DIR: C:\__BIN - -Example: - -* https://github.com/ingenue/hunter/blob/05bd9cdbd03a5772302c65abb9119722b9b8e08c/appveyor.yml#L21-L24 - -Fix Travis log too long error -============================= - -If you see error - -.. code-block:: none - - The job exceeded the maximum log length, and has been terminated. - -Adding ``VERBOSE=0`` environment variable should help: - -.. code-block:: yaml - :emphasize-lines: 5 - - - os: linux - env: > - TOOLCHAIN=android-ndk-r17-api-24-arm64-v8a-clang-libcxx14 - PROJECT_DIR=examples/OpenCV - VERBOSE=0 - -Example: - -* https://github.com/ingenue/hunter/blob/92cb26bd0bc5eeb14525f56b3a068fb072e2e5a1/.travis.yml#L55-L59 - -Workaround for GCC internal error -================================= - -Travis machines have 32 logical cores and Hunter will use all of them by default -(e.g. build with ``make -j32``). Because of this system may run out of memory -and GCC may get killed: - -.. code-block:: none - - g++-7: internal compiler error: Killed (program cc1plus) - -As a workaround you can limit number of jobs explicitly by adding -the :ref:`HUNTER_JOBS_NUMBER ` environment variable: - -.. code-block:: yaml - :emphasize-lines: 5 - - - os: linux - env: > - TOOLCHAIN=gcc-7-cxx17 - PROJECT_DIR=examples/mkldnn - HUNTER_JOBS_NUMBER=4 - -Example: - -* https://github.com/ingenue/hunter/blob/c1e12ba21940b8418d1e3d596b653ad3bf588e11/.travis.yml#L41-L45 - -.. admonition:: Stackoverflow - - * https://stackoverflow.com/a/35011967 - -Excluding tests -=============== - -If all tests passed you can skip this section. - -If some toolchains are working and some toolchains failed it means the project -has platform-specific problems. Note that you don't have to have all -toolchains working and there is **no need to fix all issues you see**. -If at least *something* is working then you can exclude broken -toolchains and you or somebody else can apply fixes later. - -Please follow these guidelines when disabling toolchains: - -- **Do not remove** toolchains from ``.travis.yml``/``appveyor.yml`` configs. - Comment it out instead to simplify enabling it back. -- Do not change the order of toolchains since it will affect ``git merge``. -- Leave the link to broken job: - -.. literalinclude:: ci/.travis-NEW.yml - :diff: ci/.travis-OLD.yml - -If no working toolchain is left for ``.travis.yml`` or ``appveyor.yml`` then -comment out everything and add ``TOOLCHAIN=dummy`` test (see -`example `__). - -Go to branch ``pr.pkg.hunter_box_1`` with CI configs and commit this change -there: - -.. code-block:: none - - [hunter]> git checkout pr.pkg.hunter_box_1 - [hunter]> git add .travis.yml - [hunter]> git commit -m 'Exclude broken' - -Go to testing branch ``test.hunter_box_1``, merge updated CI configs and run -new CI tests by pushing commits to remote: - -.. code-block:: none - - [hunter]> git checkout test.hunter_box_1 - [hunter]> git merge pr.pkg.hunter_box_1 - [hunter]> git push - -Pull requests (tests) -===================== - -First push ``pr.pkg.hunter_box_1`` with CI configs: - -.. code-block:: none - - [hunter]> git checkout pr.pkg.hunter_box_1 - [hunter]> git push -u origin pr.pkg.hunter_box_1 - -Open pull request to ``ingenue/hunter`` repository, to ``pkg.template`` -branch: - -.. image:: /creating-new/images/pr-with-tests.png - :align: center - :alt: Pull request with tests - -I will create ``pkg.hunter_box_1`` and change branch before merging: - -.. image:: /creating-new/images/pr-change-branch.png - :align: center - :alt: Change branch +.. include:: ../test.rst + :end-before: toctree Pull requests ============= -After CI configs merged you can open pull request with package itself: +After CI testing is done you can open a pull request with package: .. code-block:: none @@ -923,45 +500,28 @@ tested automatically: :align: center :alt: Package testing -Branch ``pkg.hunter_box_1.pr-N`` will be created from ``pkg.hunter_box_1`` -to test package: +Release +======= -.. image:: /creating-new/images/pull-request-testing.png - :align: center - :alt: Change branch - -Upload -====== - -After all tests pass the pull request will be merged and upload run. When upload -finished new release will be created: - -.. image:: /creating-new/images/upload.png - :align: center - :alt: Upload +After all tests pass the pull request will be merged. +New release will be created: You can use new ``URL``/``SHA1``: .. image:: /creating-new/images/release.png :align: center - :alt: Upload + :alt: Release Clean ===== -At this moment all branches can be removed: +At this moment working branch can be removed: .. code-block:: none [hunter]> git checkout master - [hunter]> git push origin :pr.hunter_box_1 - [hunter]> git push origin :pr.pkg.hunter_box_1 - [hunter]> git push origin :test.hunter_box_1 - [hunter]> git branch -D pr.hunter_box_1 - [hunter]> git branch -D pr.pkg.hunter_box_1 - [hunter]> git branch -D test.hunter_box_1 Badge ===== diff --git a/docs/creating-new/images/branches.png b/docs/creating-new/images/branches.png deleted file mode 100644 index 3ee14b802e..0000000000 Binary files a/docs/creating-new/images/branches.png and /dev/null differ diff --git a/docs/creating-new/images/pr-change-branch.png b/docs/creating-new/images/pr-change-branch.png deleted file mode 100644 index 81aace052f..0000000000 Binary files a/docs/creating-new/images/pr-change-branch.png and /dev/null differ diff --git a/docs/creating-new/images/pr-update-version.png b/docs/creating-new/images/pr-update-version.png deleted file mode 100644 index 36a4fad874..0000000000 Binary files a/docs/creating-new/images/pr-update-version.png and /dev/null differ diff --git a/docs/creating-new/images/pr-with-tests.png b/docs/creating-new/images/pr-with-tests.png deleted file mode 100644 index ac7e9213eb..0000000000 Binary files a/docs/creating-new/images/pr-with-tests.png and /dev/null differ diff --git a/docs/creating-new/images/pull-request-testing.png b/docs/creating-new/images/pull-request-testing.png deleted file mode 100644 index 6e6e9455a4..0000000000 Binary files a/docs/creating-new/images/pull-request-testing.png and /dev/null differ diff --git a/docs/creating-new/images/pull-request.png b/docs/creating-new/images/pull-request.png deleted file mode 100644 index f7998e3c14..0000000000 Binary files a/docs/creating-new/images/pull-request.png and /dev/null differ diff --git a/docs/creating-new/images/upload.png b/docs/creating-new/images/upload.png deleted file mode 100644 index e964d12666..0000000000 Binary files a/docs/creating-new/images/upload.png and /dev/null differ diff --git a/docs/creating-new/test.rst b/docs/creating-new/test.rst new file mode 100644 index 0000000000..1246985c16 --- /dev/null +++ b/docs/creating-new/test.rst @@ -0,0 +1,29 @@ +.. Copyright (c) 2020, Dmitry Rodin +.. All rights reserved. + +Test package +============ + +Hunter uses `GitHub Actions `__ for :ref:`continuous integration testing `. +You can also test :ref:`package building ` and :ref:`documentation ` locally, however this is optional. + +Testing will be performed automatically on pull request. +To perform testing on push to yours Hunter fork, ensure that GitHub Actions are enabled for your repository - +`Managing GitHub Actions `__. + +Package build testing will be performed for multiple platforms (different toolchains). +If some toolchains are working and some toolchains failed it means the project has platform-specific problems. +Note that you don't have to have all toolchains working and there is **no need to fix all issues you see**. +If **at least documentation test is passing** and *some toolchain tests are working* +you can make a pull request and you or somebody else can apply fixes later. + +If you're sure that testing is failing due to system specific requirements and +NOT due to package dependencies or platform specific code errors, +or your package contains components and needs to perform some special tests with different examples - +you can :ref:`modify default build matrix and scripts `. + +.. toctree:: + :maxdepth: 1 + + /creating-new/test/ci + /creating-new/test/local diff --git a/docs/creating-new/test/ci.rst b/docs/creating-new/test/ci.rst new file mode 100644 index 0000000000..9b5ad595ab --- /dev/null +++ b/docs/creating-new/test/ci.rst @@ -0,0 +1,174 @@ +.. Copyright (c) 2020, Dmitry Rodin +.. All rights reserved. + +.. spelling:: + + workflow + json + +.. _ci testing: + +CI testing +---------- + +Refer to `GitHub Actions Documentation `__ +for better understanding of Hunter CI testing. + +Two types of tests are performed, and appropriate `workflows `__ run: + +1) **Documentation testing.** + +* This workflow will run if any file in ``docs`` or ``examples`` directory has been changed. +* This is done to ensure that documentation is building correctly. + +2) **Package build testing with various toolchains.** + +* This workflow will run if any file in ``cmake/projects`` directory has been changed. +* Default toolchains for tests are: + + * Windows: Visual Studio, NMake, Ninja, MinGW, MSYS + * Linux: GCC, Clang, Android, Clang Analyzer, Sanitize Address, Sanitize Leak + * macOS: Clang + Makefile, Xcode, iOS + +.. _override default tests: + +Override default tests +====================== + +GitHub Actions `workflow files `__ are located in ``.github/workflows``: + +.. warning:: + **Please don't modify these files.** Review them to understand test steps. + +* ``ci-docs.yml`` - workflow file for testing documentation + + * Checks if files in ``docs`` or ``examples`` directories have been changed + * If that's the case, runs :ref:`documentation testing ` on GitHub Ubuntu runner + +* ``ci.yml`` - workflow file for package build testing + + * Checks which files in ``cmake/projects`` directory have been changed + * Sets up `build matrix`_ accordingly + * Runs builds on `GitHub-hosted runners `__ + * Uploads jobs status to GitHub Pages - `Pakages status `__ + +* ``set_matrix.py`` - script to perform build strategy matrix manipulation + + * Checks if package has overridden build matrix + * If not, substitutes **example** property of the default matrix with project's name + * Checks if package has a build script override and sets build script accordingly + * Merges build matrices if multiple projects are tested + +* ``set_status.py`` - script to perform manipulations with `job's status .json `__ + + * Splits job's .json if multiple projects were tested in one workflow run + * Sorts by toolchain alphabetically + +Default package build strategy matrix and scripts are located in ``.github/workflows/ci``: + +.. warning:: + **Please don't modify these files.** Instead create a ``ci`` subdirectory in your package directory + and copy files, that you need to change, there. + +* ``matrix.json`` - *include* part of `GitHub Actions build strategy matrix `__ +* ``build.sh`` - build script for \*nix systems +* ``build.cmd`` - build script for Windows + +Build matrix +^^^^^^^^^^^^ + +.. warning:: + Don't copy and modify the default matrix if your package doesn't have components and you only need to change build scrips. + This will lead to you project testing toolchains diverge from default ones in the future. + +.. literalinclude:: ../../../.github/workflows/ci/matrix.json + :language: JSON + +Each line defines parameters for a job that will run on `GitHub-hosted runner `__: + +* **example** - subdirectory name in the ``examples`` directory. + You need to change the default value ``foo`` to your project's (or project component's) example directory name +* **toolchain** - `Polly `__ toolchain +* **os** - `Supported GitHub-hosted runner `__. + Set this according to toolchain. +* **python** - Python version installed on the runner. + Change this if your project uses Python scripts (that require specific Python version) for testing. +* **script** - Build script executed on the runner. + The path of the script is relative to directory where ``matrix.json`` is located. + If the script with defined name was not found in this path, default path ``.github/workflows/ci`` will be used. + +**Example matrix override:** + +A part of ``cmake/projects/Boost/ci/matrix.json``: + +.. code-block:: json + + [ + { "example": "Boost", "toolchain": "clang-cxx17", "os": "ubuntu-16.04", "python": "3.8", "script": "build.sh" }, + { "example": "Boost-python", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.5", "script": "build.sh" }, + { "example": "Boost-python-numpy", "toolchain": "gcc-7-cxx17", "os": "ubuntu-16.04", "python": "3.5", "script": "build-add-virtualenv.sh" }, + { "example": "Boost", "toolchain": "vs-15-2017-win64-cxx17", "os": "windows-2016", "python": "3.8", "script": "build.cmd" }, + { "example": "Boost-python", "toolchain": "vs-14-2015-win64-sdk-8-1", "os": "windows-2016", "python": "3.5", "script": "build.cmd" }, + { "example": "Boost-python-numpy", "toolchain": "vs-14-2015-win64-sdk-8-1", "os": "windows-2016", "python": "3.5", "script": "build-add-virtualenv.cmd" } + ] + +Build scripts +^^^^^^^^^^^^^ + +Scripts are executed in the Hunter's root directory. + +`Software installed on GitHub-hosted runners `__ + +Environment variables: + +* **TOOLCHAIN** - build matrix's **toolchain** parameter +* **PROJECT_DIR** - **example** parameter + +Default build script for Ubuntu and macOS runners is ``.github/workflows/ci/build.sh`` (bash script) + +.. literalinclude:: ../../../.github/workflows/ci/build.sh + :language: BASH + +Default build script for Windows runner - ``.github/workflows/ci/build.cmd`` (batch file) is similar. + +* installs `Polly `__ and all necessary dependencies +* defines default environment variables +* runs ``jenkins.py`` script to :ref:`test building of a project `. + +.. warning:: + If you don't need to alter Polly installation or predefined environment variables, + don't copy and modify default script. Instead call the default script from your custom script, + see example. + +**Examples of override build scripts:** + +.. note:: + Set ``matrix.json`` job parameter according to the script name - f.e. **"script": "build-ubuntu.sh"** + +for Ubuntu runner ``cmake/projects//ci/build-ubuntu.sh``: + +.. code-block:: bash + + export HUNTER_JOBS_NUMBER=1 + pip install virtualenv + sudo apt-get install libgl1-mesa-dev + + bash .github/workflows/ci/build.sh + +for macOS ``cmake/projects//ci/build-macos.sh`` + +.. code-block:: bash + + export HUNTER_JOBS_NUMBER=1 + pip install virtualenv + + bash .github/workflows/ci/build.sh + +for Windows ``cmake/projects//ci/build.cmd``: + +.. code-block:: batch + + set HUNTER_JOBS_NUMBER=1 + pip install virtualenv + + .github/workflows/ci/build.cmd diff --git a/docs/creating-new/test/local.rst b/docs/creating-new/test/local.rst new file mode 100644 index 0000000000..4f41757b82 --- /dev/null +++ b/docs/creating-new/test/local.rst @@ -0,0 +1,119 @@ +.. Copyright (c) 2016, Ruslan Baratov +.. All rights reserved. + +.. _testing locally: + +Testing locally +--------------- + +This step is optional since we will run tests on the CI server. However it's the +fastest way to check that everything is ready and working correctly. + +Script ``jenkins.py`` will package a temporary Hunter archive based on current +state and build the specified example. This script uses +`Polly `__ toolchains. + +Check you have Python 3 installed, clone Polly, add its ``bin`` folder to +``PATH`` environment variable, go back to Hunter repository and run test. + +On Linux: + +.. code-block:: none + + > which python3 + /usr/bin/python3 + + > git clone https://github.com/cpp-pm/polly + > cd polly + [polly]> export PATH="`pwd`/bin:$PATH" + + > cd hunter + [hunter]> which polly.py + /.../bin/polly.py + + [hunter]> polly.py --help + Python version: 3.5 + usage: polly.py [-h] + ... + + [hunter]> TOOLCHAIN=gcc PROJECT_DIR=examples/hunter_box_1 ./jenkins.py + +On Windows: + +.. code-block:: none + + > git clone https://github.com/cpp-pm/polly + > cd polly + [polly]> set PATH=%CD%\bin;%PATH% + + > cd hunter + [hunter]> where polly.py + C:\...\bin\polly.py + + [hunter]> polly.py --help + Python version: 3.5 + usage: polly.py [-h] + ... + + [hunter]> set TOOLCHAIN=vs-12-2013 + [hunter]> set PROJECT_DIR=examples\hunter_box_1 + [hunter]> .\jenkins.py + +.. admonition:: Stackoverflow + + * `How to execute Python scripts in Windows? `__ + +.. _testing documentation locally: + +Testing documentation locally +============================= + +To locally check if the documentation is still building you can run: + +.. code-block:: none + + [hunter]> cd docs + [hunter/docs]> source ./jenkins.sh + (_venv) [hunter/docs]> ./make.sh + +If the documentation contains spelling errors or unrecognized names, the +documentation test build will fail and report the unrecognized strings. Fix +any spelling errors and test the build again. Any remaining errors can be +fixed by adding all correct but unrecognized names, string, or terms to the +``spelling`` header at the top of the document entry +``docs/packages/pkg/bar-baz.rst``. In this example, +``bar-baz`` would be a package name that is not in the dictionary. + +.. code-block:: none + :emphasize-lines: 1-4 + + .. spelling:: + + bar + baz + + .. index:: + single: unsorted ; bar-baz + + .. _pkg.bar-baz: + +Add entries for each term until the test build completes successfully. + +Common mistake +^^^^^^^^^^^^^^ + +Please do not forget to substitute ``===``. + +Good: + +.. code-block:: none + + hunter_box_1 + ============ + +Bad: + +.. code-block:: none + + hunter_box_1 + === diff --git a/docs/creating-new/update.rst b/docs/creating-new/update.rst index 8721449606..678b455f30 100644 --- a/docs/creating-new/update.rst +++ b/docs/creating-new/update.rst @@ -52,82 +52,13 @@ Commit changes: [hunter]> git add cmake/configs/default.cmake [hunter]> git commit -m "Update 'hunter_box_1' to v1.0.1" -Testing -======= - -.. note:: - - Check :ref:`Create package: CI testing ` page for registering - services and branches/remotes description. - -Fetch latest CI configs, you may need to run ``git pull`` if you have -``pkg.hunter_box_1`` locally: - -.. code-block:: none - - [hunter]> git fetch ci - [hunter]> git checkout pkg.hunter_box_1 - [hunter]> git pull - -If the package has not been updated in some time, the CI toolchains -may have fallen out of date. It is preferable to keep the CI -configuration in sync with the working defaults from ``pkg.template`` -to make sure the package will build with recent compilers and to help -ensure cache hits for any required Hunter managed dependencies. - -.. code-block:: none - - [hunter]> git checkout pkg.template - [hunter]> git pull - [hunter]> git checkout pkg.hunter_box_1 - [hunter]> git merge pkg.template - -Create temporary branch ``test.hunter_box_1`` for testing basing on -``pkg.hunter_box_1``: - -.. code-block:: none - - [hunter]> git checkout -b test.hunter_box_1 - -Merge it with ``hunter_box_1`` package updates: - -.. code-block:: none - - [hunter]> git merge pr.hunter_box_1 - -Push changes to your Hunter fork remote to start tests: - -.. code-block:: none - - [hunter]> git push -u origin test.hunter_box_1 - -.. image:: /creating-new/images/pr-update-version.png - :align: center - :alt: Branches - -Add toolchains -============== - -If new version of package fix some build: - -* Add new version to ``master`` -* Tests against **old** set of toolchains -* New version merged to master -* Send pull request to ``pkg.hunter_box_1`` to enable **new** toolchains - -Remove toolchains -================= - -If new version broke some toolchain: - -* Disable toolchains in ``pkg.hunter_box_1`` -* Add new version to ``master`` -* Tests against **new** set of toolchains without broken +.. include:: test.rst + :end-before: toctree Submit the pull request to Hunter ================================= -Once the tests are passing, and all required toolchain modifications have been applied to the ``ci`` fork in ``pkg.hunter_box_1`` via pull requests (see above), the original package update in ``pr.hunter_box_1`` should then be pushed to your Hunter fork (``origin`` in above discussions): +Once tests are passing, the package update in ``pr.hunter_box_1`` should be pushed to your Hunter fork: .. code-block:: none diff --git a/docs/creating-new/yed/branches.graphml b/docs/creating-new/yed/branches.graphml index 331084a829..18ae385315 100644 --- a/docs/creating-new/yed/branches.graphml +++ b/docs/creating-new/yed/branches.graphml @@ -1,6 +1,6 @@ - + @@ -13,20 +13,14 @@ - + - master - - - - - - + master @@ -39,13 +33,7 @@ - pkg.template - - - - - - + pkg.template @@ -58,13 +46,7 @@ - pkg.<name> - - - - - - + pkg.<name> @@ -77,13 +59,7 @@ - upload.<name> - - - - - - + upload.<name> @@ -96,7 +72,7 @@ - Documentation + Documentation @@ -130,17 +106,11 @@ - + - ruslo/hunter - - - - - - - + cpp-pm/hunter + @@ -148,7 +118,7 @@ - + @@ -156,7 +126,7 @@ - + @@ -176,13 +146,7 @@ - .travis.yml - - - - - - + .travis.yml @@ -219,13 +183,7 @@ - Test 'examples/foo' - - - - - - + Test 'examples/foo' @@ -262,13 +220,7 @@ - .travis.yml/appveyor.yml - - - - - - + .travis.yml/appveyor.yml @@ -305,13 +257,7 @@ - Test 'examples/<name>' - - - - - - + Test 'examples/<name>' @@ -348,13 +294,7 @@ - .travis.yml/appveyor.yml - - - - - - + .travis.yml/appveyor.yml @@ -391,13 +331,7 @@ - Upload '<name>' - - - - - - + Upload '<name>' @@ -434,13 +368,7 @@ - .travis.yml/appveyor.yml - - - - - - + .travis.yml/appveyor.yml @@ -474,17 +402,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -492,7 +414,7 @@ - + @@ -500,7 +422,7 @@ - + @@ -517,17 +439,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -535,7 +451,7 @@ - + @@ -543,7 +459,7 @@ - + @@ -560,17 +476,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -578,7 +488,7 @@ - + @@ -586,7 +496,7 @@ - + @@ -638,14 +548,7 @@ - - - - - - - - + @@ -656,14 +559,7 @@ - - - - - - - - + @@ -674,14 +570,7 @@ - - - - - - - - + @@ -692,14 +581,7 @@ - - - - - - - - + diff --git a/docs/creating-new/yed/pr-update-version.graphml b/docs/creating-new/yed/pr-update-version.graphml index e99e76877c..8aad561c60 100644 --- a/docs/creating-new/yed/pr-update-version.graphml +++ b/docs/creating-new/yed/pr-update-version.graphml @@ -1,6 +1,6 @@ - + @@ -13,20 +13,14 @@ - + - master - - - - - - + master @@ -39,13 +33,7 @@ - pkg.template - - - - - - + pkg.template @@ -58,13 +46,7 @@ - pkg.hunter_box_1 - - - - - - + pkg.hunter_box_1 @@ -74,17 +56,11 @@ - + - ruslo/hunter - - - - - - - + cpp-pm/hunter + @@ -92,7 +68,7 @@ - + @@ -100,7 +76,7 @@ - + @@ -117,17 +93,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -135,7 +105,7 @@ - + @@ -143,7 +113,7 @@ - + @@ -160,17 +130,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -178,7 +142,7 @@ - + @@ -186,7 +150,7 @@ - + @@ -206,13 +170,7 @@ - upload.hunter_box_1 - - - - - - + upload.hunter_box_1 @@ -222,17 +180,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -240,7 +192,7 @@ - + @@ -248,7 +200,7 @@ - + @@ -268,13 +220,7 @@ - pr.hunter_box_1 - - - - - - + pr.hunter_box_1 @@ -287,13 +233,7 @@ - test.hunter_box_1 - - - - - - + test.hunter_box_1 @@ -323,7 +263,6 @@ - @@ -334,7 +273,6 @@ - @@ -345,7 +283,6 @@ - @@ -356,7 +293,6 @@ - diff --git a/docs/creating-new/yed/pull-request-testing.graphml b/docs/creating-new/yed/pull-request-testing.graphml index 006bfe830b..d47681aab8 100644 --- a/docs/creating-new/yed/pull-request-testing.graphml +++ b/docs/creating-new/yed/pull-request-testing.graphml @@ -1,6 +1,6 @@ - + @@ -13,20 +13,14 @@ - + - master - - - - - - + master @@ -39,13 +33,7 @@ - pkg.template - - - - - - + pkg.template @@ -58,13 +46,7 @@ - pkg.hunter_box_1 - - - - - - + pkg.hunter_box_1 @@ -74,17 +56,11 @@ - + - ruslo/hunter - - - - - - - + cpp-pm/hunter + @@ -92,7 +68,7 @@ - + @@ -100,7 +76,7 @@ - + @@ -117,17 +93,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -135,7 +105,7 @@ - + @@ -143,7 +113,7 @@ - + @@ -160,17 +130,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -178,7 +142,7 @@ - + @@ -186,7 +150,7 @@ - + @@ -206,13 +170,7 @@ - pr.hunter_box_1 - - - - - - + pr.hunter_box_1 @@ -225,13 +183,7 @@ - pkg.hunter_box_1.pr-N - - - - - - + pkg.hunter_box_1.pr-N @@ -241,17 +193,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -259,7 +205,7 @@ - + @@ -267,7 +213,7 @@ - + @@ -314,7 +260,6 @@ - @@ -325,7 +270,6 @@ - diff --git a/docs/creating-new/yed/pull-request.graphml b/docs/creating-new/yed/pull-request.graphml index 6a38275c4c..03cabd6be1 100644 --- a/docs/creating-new/yed/pull-request.graphml +++ b/docs/creating-new/yed/pull-request.graphml @@ -1,6 +1,6 @@ - + @@ -13,20 +13,14 @@ - + - master - - - - - - + master @@ -39,13 +33,7 @@ - pkg.template - - - - - - + pkg.template @@ -58,13 +46,7 @@ - pkg.<name> - - - - - - + pkg.<name> @@ -77,13 +59,7 @@ - upload.<name> - - - - - - + upload.<name> @@ -93,17 +69,11 @@ - + - ruslo/hunter - - - - - - - + cpp-pm/hunter + @@ -111,7 +81,7 @@ - + @@ -119,7 +89,7 @@ - + @@ -136,17 +106,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -154,7 +118,7 @@ - + @@ -162,7 +126,7 @@ - + @@ -179,17 +143,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -197,7 +155,7 @@ - + @@ -205,7 +163,7 @@ - + @@ -222,17 +180,11 @@ - + - ingenue/hunter - - - - - - - + cpp-pm/hunter-testing + @@ -240,7 +192,7 @@ - + @@ -248,7 +200,7 @@ - + @@ -268,13 +220,7 @@ - pr.hunter_box_1 - - - - - - + pr.hunter_box_1 @@ -287,13 +233,7 @@ - pr.pkg.hunter_box_1 - - - - - - + pr.pkg.hunter_box_1 @@ -306,13 +246,7 @@ - test.hunter_box_1 - - - - - - + test.hunter_box_1 @@ -320,21 +254,15 @@ - + - Temporary branch. + Temporary branch. No pull request with -this change. - - - - - - +this change. @@ -371,7 +299,6 @@ this change. - @@ -382,7 +309,6 @@ this change. - @@ -393,7 +319,6 @@ this change. - @@ -404,7 +329,6 @@ this change. - @@ -415,20 +339,12 @@ this change. - - - - - - - - - + diff --git a/docs/faq/why-binaries-from-server-not-used.rst b/docs/faq/why-binaries-from-server-not-used.rst index 1f4f5cffa1..f4ee83121b 100644 --- a/docs/faq/why-binaries-from-server-not-used.rst +++ b/docs/faq/why-binaries-from-server-not-used.rst @@ -16,7 +16,7 @@ you will see ``Cache miss`` message and package will be build locally: :emphasize-lines: 5 -- [hunter *** DEBUG *** ...] Downloading file (try #1 of 10): - -- [hunter *** DEBUG *** ...] https://raw.githubusercontent.com/ingenue/hunter-cache/master/aa85dd8/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/basic-deps.DONE + -- [hunter *** DEBUG *** ...] https://raw.githubusercontent.com/cpp-pm/hunter-cache/master/aa85dd8/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/basic-deps.DONE -- [hunter *** DEBUG *** ...] -> /.../_Base/Cache/meta/aa85dd8/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/basic-deps.DONE -- [hunter *** DEBUG *** ...] File not found -- [hunter *** DEBUG *** ...] Cache miss (no basic dependencies info found: /.../_Base/Cache/meta/aa85dd8/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/basic-deps.DONE) @@ -74,7 +74,7 @@ List of servers used (`HUNTER_CACHE_SERVERS /.../_Base/Cache/meta/2695528/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/basic-deps.info -- [hunter *** DEBUG *** ...] File not found -- [hunter *** DEBUG *** ...] Cache miss (no basic dependencies info found: /.../_Base/Cache/meta/2695528/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/basic-deps.DONE) @@ -93,7 +93,7 @@ Meta information found on server (cache hit): :emphasize-lines: 4 -- [hunter *** DEBUG *** ...] Try to download file (try #0 of 3): - -- [hunter *** DEBUG *** ...] https://raw.githubusercontent.com/ingenue/hunter-cache/master/2695528/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/da39a3e/cache.sha1 + -- [hunter *** DEBUG *** ...] https://raw.githubusercontent.com/cpp-pm/hunter-cache/master/2695528/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/da39a3e/cache.sha1 -- [hunter *** DEBUG *** ...] -> /.../_Base/Cache/meta/2695528/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/da39a3e/cache.sha1 -- [hunter] Cache HIT: GTest -- [hunter] Cache info: /.../_Base/Cache/meta/2695528/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/da39a3e/cache.sha1 @@ -104,7 +104,7 @@ Downloading archive with binaries: :emphasize-lines: 2, 5 -- [hunter *** DEBUG *** ...] Try to download file (try #0 of 3): - -- [hunter *** DEBUG *** ...] https://github.com/ingenue/hunter-cache/releases/download/cache/da62fc35901e07d30db7a1c19b7358855978e11f.tar.bz2 + -- [hunter *** DEBUG *** ...] https://github.com/cpp-pm/hunter-cache/releases/download/cache/da62fc35901e07d30db7a1c19b7358855978e11f.tar.bz2 -- [hunter *** DEBUG *** ...] -> /.../_Base/Cache/raw/da62fc35901e07d30db7a1c19b7358855978e11f.tar.bz2 -- [hunter *** DEBUG *** ...] Unpacking: -- [hunter *** DEBUG *** ...] /.../_Base/Cache/raw/da62fc35901e07d30db7a1c19b7358855978e11f.tar.bz2 @@ -123,14 +123,14 @@ investigate problem: .. code-block:: shell - > git clone https://github.com/ingenue/hunter-cache + > git clone https://github.com/cpp-pm/hunter-cache Information about missing cache entry: .. code-block:: none -- [hunter *** DEBUG *** ...] Downloading file (try #1 of 10): - -- [hunter *** DEBUG *** ...] https://raw.githubusercontent.com/ingenue/hunter-cache/master/aa85dd8/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/basic-deps.DONE + -- [hunter *** DEBUG *** ...] https://raw.githubusercontent.com/cpp-pm/hunter-cache/master/aa85dd8/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/basic-deps.DONE First ``aa85dd8`` id is about toolchain. You can find the path to toolchain info in logs: @@ -151,7 +151,7 @@ You can see that there is no ``aa85dd8`` entry in cache: > ls hunter-cache/aa85dd8 ls: cannot access 'hunter-cache/aa85dd8': No such file or directory -However in `Travis build log `__ +However in `Travis build log `__ ``toolchain-id`` is ``8928885``: .. code-block:: shell diff --git a/docs/faq/why-hunter-is-slow.rst b/docs/faq/why-hunter-is-slow.rst index c062f79df8..889828c4e5 100644 --- a/docs/faq/why-hunter-is-slow.rst +++ b/docs/faq/why-hunter-is-slow.rst @@ -51,7 +51,7 @@ reduce the size from 70.7 MB to 17.7 MB, the unpack time dropped to 8 seconds. As usual downloading from cache is the best option, e.g. Boost.system Release + Debug archive has 154 KB size: -* https://github.com/ingenue/hunter-cache/releases/download/cache-234d975/234d9755a85b09bcd2f266d2620707ccd514020e.tar.bz2 +* https://github.com/cpp-pm/hunter-cache/releases/download/cache-234d975/234d9755a85b09bcd2f266d2620707ccd514020e.tar.bz2 .. _id calculation: diff --git a/docs/overview/binaries.rst b/docs/overview/binaries.rst index 1e8cdd5f8a..fc4ac5d2d0 100644 --- a/docs/overview/binaries.rst +++ b/docs/overview/binaries.rst @@ -25,18 +25,18 @@ Details ======= The default server with cached binaries is -`ingenue/hunter-cache `__. -Archives are saved as GitHub `release assets `__ -and each is associated with a git `tag `__. +`cpp-pm/hunter-cache `__. +Archives are saved as GitHub `release assets `__ +and each is associated with a git `tag `__. Available packages can be queried using an ``upload.*`` HTTP query from the GitHub branches URL: -* `ingenue/hunter@upload. `__ +* `cpp-pm/hunter@upload. `__ Note that some toolchains may not work for specific packages. Check the status in the Travis CI job details. For example, Qt is broken for the iOS armv7s architecture, so we have to use the ``ios-*-wo-armv7s`` toolchains: -* https://travis-ci.org/ingenue/hunter/builds/140158080 +* https://travis-ci.org/cpp-pm/hunter/builds/140158080 Binaries/headers are stored in archives and archives are the result of packing the ``CMAKE_INSTALL_PREFIX`` directory produced by the @@ -48,7 +48,7 @@ functionality but is extended for non-CMake packages too. > mkdir temp-dir > cd temp-dir - [temp-dir]> wget https://github.com/ingenue/hunter-cache/releases/download/cache/aaee852f00aa3a2a884281e8920315a77fb14465.tar.bz2 + [temp-dir]> wget https://github.com/cpp-pm/hunter-cache/releases/download/cache/aaee852f00aa3a2a884281e8920315a77fb14465.tar.bz2 [temp-dir]> tar xf aaee852f00aa3a2a884281e8920315a77fb14465.tar.bz2 [temp-dir]> ls include/gtest/gtest.h include/gtest/gtest.h diff --git a/docs/packages/graphics.rst b/docs/packages/graphics.rst index aa2263c0e1..d9b3fa32da 100644 --- a/docs/packages/graphics.rst +++ b/docs/packages/graphics.rst @@ -1,6 +1,7 @@ .. spelling:: freetype + opengl shaders Graphics 2D/3D @@ -9,6 +10,7 @@ Graphics 2D/3D - :ref:`pkg.aglet` - Tiny cross platform (headless) OpenGL context creation - :ref:`pkg.Assimp` - portable Open Source library to import various well-known 3D model formats in a uniform manner - :ref:`pkg.freetype` - render freetype fonts + - :ref:`pkg.freetype-gl` - render freetype fonts in opengl - :ref:`pkg.glew` - The OpenGL Extension Wrangler Library - :ref:`pkg.imgui` - Immediate-mode, bloat-free graphical user interface library for C++ - :ref:`pkg.mojoshader` - MojoShader is a library to work with Direct3D shaders on alternate 3D APIs and non-Windows platforms diff --git a/docs/packages/pkg/ArrayFire.rst b/docs/packages/pkg/ArrayFire.rst index b2d4222fbd..bff39179af 100644 --- a/docs/packages/pkg/ArrayFire.rst +++ b/docs/packages/pkg/ArrayFire.rst @@ -16,7 +16,7 @@ ArrayFire - `Official `__ - `Hunterized `__ - `Example `__ -- `Testing `__ +- `Testing `__ - Available since |hunter| .. code-block:: cmake diff --git a/docs/packages/pkg/Boost.rst b/docs/packages/pkg/Boost.rst index b1c637acd6..4bdd2b8415 100644 --- a/docs/packages/pkg/Boost.rst +++ b/docs/packages/pkg/Boost.rst @@ -14,6 +14,12 @@ Boost - `Example `__ +Since boost 1.70 you should use for header only libraries as target: + +.. code-block:: cmake + + target_link_libraries(... Boost::headers) + .. code-block:: cmake # Boost components (see list below) @@ -88,13 +94,18 @@ config file (``boost/config/user.hpp``): #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #define BOOST_MPL_LIMIT_LIST_SIZE 3 - - Option ``USE_CONFIG_FROM_BOOST=ON`` use the package configuration file provided - by the boost project. - Since boost version 1.70.0, the boost project provide a well maintained package - configuration file for use with find_package's config mode. - See the difference between following example: - - `Boost-log `__ - - `Boost-log-usingBoostConfig `__ +- Option ``USE_CONFIG_FROM_BOOST=ON`` use the package configuration file provided + by the boost project. + + Since boost version 1.70.0, the boost project provide a well maintained package + configuration file for use with find_package's config mode. As minimum required CMake + version you need 3.3. + + See the difference between following example: + + - `Boost-log `__ + + - `Boost-log-usingBoostConfig `__ Python diff --git a/docs/packages/pkg/Expat.rst b/docs/packages/pkg/Expat.rst index 902e9c7eaa..f874d9317b 100644 --- a/docs/packages/pkg/Expat.rst +++ b/docs/packages/pkg/Expat.rst @@ -25,4 +25,4 @@ Expat CI -- -- https://github.com/ingenue/hunter/tree/pkg.expat +- https://github.com/cpp-pm/hunter-testing/tree/pkg.expat diff --git a/docs/packages/pkg/GTest.rst b/docs/packages/pkg/GTest.rst index 75dc15385c..0e0f402e07 100644 --- a/docs/packages/pkg/GTest.rst +++ b/docs/packages/pkg/GTest.rst @@ -24,7 +24,7 @@ GTest hunter_add_package(GTest) find_package(GTest CONFIG REQUIRED) - target_link_libraries(foo GTest::main) # GTest::gtest will be linked automatically + target_link_libraries(foo GTest::gtest_main) # GTest::gtest will be linked automatically target_link_libraries(boo GTest::gtest) Bugs @@ -54,7 +54,7 @@ available in these cases. .. code-block:: cmake hunter_add_package(GTest) - find_package(GMock CONFIG REQUIRED) + find_package(GTest CONFIG REQUIRED) - # GMock::gmock and GTest::main will be linked automatically - target_link_libraries(foo GMock::main) + # GMock::gmock and GTest::gtest will be linked automatically + target_link_libraries(foo GTest::gmock_main) diff --git a/docs/packages/pkg/KhronosDataFormat.rst b/docs/packages/pkg/KhronosDataFormat.rst new file mode 100644 index 0000000000..94c76b4f71 --- /dev/null +++ b/docs/packages/pkg/KhronosDataFormat.rst @@ -0,0 +1,21 @@ +.. spelling:: + + KhronosDataFormat + +.. index:: + single: graphics ; KhronosDataFormat + +.. _pkg.KhronosDataFormat: + +KhronosDataFormat +====================== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-280 `__) + +.. literalinclude:: /../examples/KhronosDataFormat/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/Opus.rst b/docs/packages/pkg/Opus.rst new file mode 100644 index 0000000000..e95f656696 --- /dev/null +++ b/docs/packages/pkg/Opus.rst @@ -0,0 +1,20 @@ +.. spelling:: + + Opus + +.. index:: + single: media ; Opus + +.. _pkg.Opus: + +Opus +==== + +- `Official `__ +- `Example `__ +- Added by `drodin `__ (`pr-245 `__) + +.. literalinclude:: /../examples/Opus/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/RapidJSON.rst b/docs/packages/pkg/RapidJSON.rst index a33c12a868..13172e78ef 100644 --- a/docs/packages/pkg/RapidJSON.rst +++ b/docs/packages/pkg/RapidJSON.rst @@ -19,3 +19,21 @@ RapidJSON hunter_add_package(RapidJSON) find_package(RapidJSON CONFIG REQUIRED) target_link_libraries(... RapidJSON::rapidjson) + +Macros +------ + +RapidJSON defines a few macros to configure the library. If different libraries use different +settings, undefined behavior can occur. We set up the defines to be exported when set, and we +set the ``RAPIDJSON_HAS_STDSTRING=1`` and ``RAPIDJSON_NOMEMBERITERATORCLASS`` by default. These +can be overridden with a `custom config `__ + +.. code-block:: cmake + + hunter_config( + RapidJSON + VERSION ${HUNTER_RapidJSON_VERSION} + CMAKE_ARGS + RAPIDJSON_HAS_STDSTRING=OFF + RAPIDJSON_NOMEMBERITERATORCLASS=OFF + ) diff --git a/docs/packages/pkg/ZeroMQ.rst b/docs/packages/pkg/ZeroMQ.rst index a58cc161d8..ffdacde7b7 100644 --- a/docs/packages/pkg/ZeroMQ.rst +++ b/docs/packages/pkg/ZeroMQ.rst @@ -19,7 +19,7 @@ ZeroMQ - Added by `Antal Tátrai `__ (`pr-334 `__) - `Testing - branch `__ + branch `__ .. code-block:: cmake diff --git a/docs/packages/pkg/abseil.rst b/docs/packages/pkg/abseil.rst new file mode 100644 index 0000000000..bea00a4d1c --- /dev/null +++ b/docs/packages/pkg/abseil.rst @@ -0,0 +1,20 @@ +.. spelling:: + + abseil + +.. index:: + single: unsorted ; abseil + +.. _pkg.abseil: + +abseil +====== + +- `Official `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-242 `__) + +.. literalinclude:: /../examples/abseil/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/apg.rst b/docs/packages/pkg/apg.rst new file mode 100644 index 0000000000..23877cd9db --- /dev/null +++ b/docs/packages/pkg/apg.rst @@ -0,0 +1,21 @@ +.. spelling:: + + apg + +.. index:: + single: unsorted ; apg + +.. _pkg.apg: + +apg +=== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-268 `__) + +.. literalinclude:: /../examples/apg/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/astc-encoder.rst b/docs/packages/pkg/astc-encoder.rst new file mode 100644 index 0000000000..16825eef7c --- /dev/null +++ b/docs/packages/pkg/astc-encoder.rst @@ -0,0 +1,22 @@ +.. spelling:: + + astc + encoder + +.. index:: + single: graphics ; astc-encoder + +.. _pkg.astc-encoder: + +astc-encoder +============ + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-286 `__) + +.. literalinclude:: /../examples/astc-encoder/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/basis_universal.rst b/docs/packages/pkg/basis_universal.rst new file mode 100644 index 0000000000..4efed085f2 --- /dev/null +++ b/docs/packages/pkg/basis_universal.rst @@ -0,0 +1,23 @@ +.. spelling:: + + basis + universal + basis_universal + +.. index:: + single: graphics ; basis_universal + +.. _pkg.basis_universal: + +basis_universal +=============== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-273 `__) + +.. literalinclude:: /../examples/basis_universal/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/cgltf.rst b/docs/packages/pkg/cgltf.rst new file mode 100644 index 0000000000..7fa5c65763 --- /dev/null +++ b/docs/packages/pkg/cgltf.rst @@ -0,0 +1,21 @@ +.. spelling:: + + cgltf + +.. index:: + single: unsorted ; cgltf + +.. _pkg.cgltf: + +cgltf +===== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-275 `__) + +.. literalinclude:: /../examples/cgltf/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/cpp-statsd-client.rst b/docs/packages/pkg/cpp-statsd-client.rst new file mode 100644 index 0000000000..218543f3df --- /dev/null +++ b/docs/packages/pkg/cpp-statsd-client.rst @@ -0,0 +1,23 @@ +.. spelling:: + + cpp + statsd + client + +.. index:: + single: networking ; cpp-statsd-client + +.. _pkg.cpp-statsd-client: + +cpp-statsd-client +================= + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-291 `__) + +.. literalinclude:: /../examples/cpp-statsd-client/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/crc32c.rst b/docs/packages/pkg/crc32c.rst index 88f9379385..6e1e9679a7 100644 --- a/docs/packages/pkg/crc32c.rst +++ b/docs/packages/pkg/crc32c.rst @@ -11,12 +11,10 @@ crc32c ====== - `Official `__ -- `Hunterized `__ - `Example `__ - Added by `Isaac Hier `__ (`pr-1243 `__) -.. code-block:: cmake - - hunter_add_package(crc32c) - find_package(crc32c CONFIG REQUIRED) - target_link_libraries(... crc32c::crc32c) +.. literalinclude:: /../examples/crc32c/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/etc2comp.rst b/docs/packages/pkg/etc2comp.rst new file mode 100644 index 0000000000..cb5f40d2ed --- /dev/null +++ b/docs/packages/pkg/etc2comp.rst @@ -0,0 +1,21 @@ +.. spelling:: + + etc2comp + +.. index:: + single: graphics ; etc2comp + +.. _pkg.etc2comp: + +etc2comp +======== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-284 `__) + +.. literalinclude:: /../examples/etc2comp/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/fast_obj.rst b/docs/packages/pkg/fast_obj.rst new file mode 100644 index 0000000000..2455c883ec --- /dev/null +++ b/docs/packages/pkg/fast_obj.rst @@ -0,0 +1,21 @@ +.. spelling:: + + fast_obj + +.. index:: + single: graphics ; fast_obj + +.. _pkg.fast_obj: + +fast_obj +======== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-274 `__) + +.. literalinclude:: /../examples/fast_obj/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/filament.rst b/docs/packages/pkg/filament.rst new file mode 100644 index 0000000000..eb97eef5b1 --- /dev/null +++ b/docs/packages/pkg/filament.rst @@ -0,0 +1,21 @@ +.. spelling:: + + filament + +.. index:: graphics ; filament + +.. _pkg.filament: + +filament +======== + +- https://google.github.io/filament/Filament.html +- `Official GitHub repo `__ +- `Hunterized `__ +- `Example `__ + +.. code-block:: cmake + + hunter_add_package(filament) + find_package(filament CONFIG REQUIRED) + target_link_libraries(... filament::filament) diff --git a/docs/packages/pkg/fmt.rst b/docs/packages/pkg/fmt.rst index d524c0c1e6..d41c0ad453 100644 --- a/docs/packages/pkg/fmt.rst +++ b/docs/packages/pkg/fmt.rst @@ -19,7 +19,7 @@ fmt - Added by `Dmitry Panteleev `__ (`pr-413 `__) - `Testing - branch `__ + branch `__ .. code-block:: cmake diff --git a/docs/packages/pkg/foo.rst b/docs/packages/pkg/foo.rst index 2dba515d01..073570cbd7 100644 --- a/docs/packages/pkg/foo.rst +++ b/docs/packages/pkg/foo.rst @@ -11,9 +11,9 @@ foo === - `Official `__ -- `Hunterized `__ +- `Hunterized `__ - `Example `__ -- Added by `foo_developer `__ (`pr-N `__) +- Added by `foo_developer `__ (`pr-N `__) .. literalinclude:: /../examples/foo/CMakeLists.txt :language: cmake diff --git a/docs/packages/pkg/freetype-gl.rst b/docs/packages/pkg/freetype-gl.rst new file mode 100644 index 0000000000..670f2f3577 --- /dev/null +++ b/docs/packages/pkg/freetype-gl.rst @@ -0,0 +1,22 @@ +.. spelling:: + + freetype + freetype-gl + gl + +.. index:: graphics ; freetype-gl + +.. _pkg.freetype-gl: + +freetype-gl +=========== + +- `Official `__ +- `Hunterized `__ +- `Example `__ + (`pr-249 `__) + +.. literalinclude:: /../examples/freetype-gl/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/jpeg-compressor.rst b/docs/packages/pkg/jpeg-compressor.rst new file mode 100644 index 0000000000..406ee75ba8 --- /dev/null +++ b/docs/packages/pkg/jpeg-compressor.rst @@ -0,0 +1,22 @@ +.. spelling:: + + jpeg + compressor + +.. index:: + single: media ; jpeg-compressor + +.. _pkg.jpeg-compressor: + +jpeg-compressor +=============== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-269 `__) + +.. literalinclude:: /../examples/jpeg-compressor/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/jsmn.rst b/docs/packages/pkg/jsmn.rst new file mode 100644 index 0000000000..ac71d822bd --- /dev/null +++ b/docs/packages/pkg/jsmn.rst @@ -0,0 +1,21 @@ +.. spelling:: + + jsmn + +.. index:: + single: json ; jsmn + +.. _pkg.jsmn: + +jsmn +==== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-279 `__) + +.. literalinclude:: /../examples/jsmn/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/libarchive.rst b/docs/packages/pkg/libarchive.rst new file mode 100644 index 0000000000..26359aa1a2 --- /dev/null +++ b/docs/packages/pkg/libarchive.rst @@ -0,0 +1,21 @@ +.. spelling:: + + cpp + libarchive + +.. index:: + single: compression ; libarchive + +.. _pkg.libarchive: + +libarchive +========== + +- `Official `__ +- `Example `__ +- Added by `Timothy Stack `__ (`pr-293 `__) + +.. literalinclude:: /../examples/libarchive/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/libusb.rst b/docs/packages/pkg/libusb.rst index 6f29ce704d..f1db310758 100644 --- a/docs/packages/pkg/libusb.rst +++ b/docs/packages/pkg/libusb.rst @@ -1,6 +1,7 @@ .. spelling:: libusb + udev .. index:: single: development ; libusb @@ -28,3 +29,10 @@ Pitfalls .. code:: sudo apt-get install libudev-dev + +- Or configure without udev support + +.. code:: + + # Hunter configuration file, for example 'cmake/Hunter/config.cmake' + hunter_config(libusb VERSION [version] CMAKE_ARGS EXTRA_FLAGS=--disable-udev) \ No newline at end of file diff --git a/docs/packages/pkg/libuv.rst b/docs/packages/pkg/libuv.rst index d5118e5572..3650cb0160 100644 --- a/docs/packages/pkg/libuv.rst +++ b/docs/packages/pkg/libuv.rst @@ -12,7 +12,7 @@ libuv ===== - `Official `__ -- `Testing branch `__ +- `Testing branch `__ - `Example CMakeLists.txt `__ - `Example C diff --git a/docs/packages/pkg/meshoptimizer.rst b/docs/packages/pkg/meshoptimizer.rst new file mode 100644 index 0000000000..7a6560b450 --- /dev/null +++ b/docs/packages/pkg/meshoptimizer.rst @@ -0,0 +1,21 @@ +.. spelling:: + + meshoptimizer + +.. index:: + single: graphics ; meshoptimizer + +.. _pkg.meshoptimizer: + +meshoptimizer +============= + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-283 `__) + +.. literalinclude:: /../examples/meshoptimizer/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/miniz.rst b/docs/packages/pkg/miniz.rst new file mode 100644 index 0000000000..10f117016e --- /dev/null +++ b/docs/packages/pkg/miniz.rst @@ -0,0 +1,20 @@ +.. spelling:: + + miniz + +.. index:: + single: compression ; miniz + +.. _pkg.miniz: + +miniz +===== + +- `Official `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-271 `__) + +.. literalinclude:: /../examples/miniz/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/occt.rst b/docs/packages/pkg/occt.rst new file mode 100644 index 0000000000..fa37366bd8 --- /dev/null +++ b/docs/packages/pkg/occt.rst @@ -0,0 +1,31 @@ +.. spelling:: + + occt + +.. index:: + single: math ; occt + +.. _pkg.occt: + +occt +==== +OpenCascade Community Technology + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `craffael `__ (`pr-295 `__) + +.. literalinclude:: /../examples/occt/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } + +.. note:: + + * OpenCascade consists of a number of modules. This Hunterized version supports all modules except + the `Draw Test Harness `__. + * To build shared versions of occt (recommended), please use :ref:`HUNTER_BUILD_SHARED_LIBS=ON ` + or build with :ref:`toolchain with PIC `. + * On Ubuntu, make sure that you have installed the following system packages: :code:`mesa-common-dev`, :code:`libgl1-mesa-dev`, :code:`libxmu-dev`, :code:`libxi-dev` + diff --git a/docs/packages/pkg/opusfile.rst b/docs/packages/pkg/opusfile.rst new file mode 100644 index 0000000000..32d1c7405d --- /dev/null +++ b/docs/packages/pkg/opusfile.rst @@ -0,0 +1,21 @@ +.. spelling:: + + opusfile + +.. index:: + single: media ; opusfile + +.. _pkg.opusfile: + +opusfile +======== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `drodin `__ (`pr-246 `__) + +.. literalinclude:: /../examples/opusfile/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/smol-v.rst b/docs/packages/pkg/smol-v.rst new file mode 100644 index 0000000000..d2f05ba8bf --- /dev/null +++ b/docs/packages/pkg/smol-v.rst @@ -0,0 +1,22 @@ +.. spelling:: + + smol + v + +.. index:: + single: graphics ; smol-v + +.. _pkg.smol-v: + +smol-v +====== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-281 `__) + +.. literalinclude:: /../examples/smol-v/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/theora.rst b/docs/packages/pkg/theora.rst new file mode 100644 index 0000000000..3b5149e90e --- /dev/null +++ b/docs/packages/pkg/theora.rst @@ -0,0 +1,21 @@ +.. spelling:: + + theora + +.. index:: + single: media ; theora + +.. _pkg.theora: + +theora +====== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `drodin `__ (`pr-239 `__) + +.. literalinclude:: /../examples/theora/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/tinyexr.rst b/docs/packages/pkg/tinyexr.rst new file mode 100644 index 0000000000..53f48e05e8 --- /dev/null +++ b/docs/packages/pkg/tinyexr.rst @@ -0,0 +1,21 @@ +.. spelling:: + + tinyexr + +.. index:: + single: media ; tinyexr + +.. _pkg.tinyexr: + +tinyexr +======= + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-278 `__) + +.. literalinclude:: /../examples/tinyexr/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/tinygltf.rst b/docs/packages/pkg/tinygltf.rst new file mode 100644 index 0000000000..5e0eefd0e2 --- /dev/null +++ b/docs/packages/pkg/tinygltf.rst @@ -0,0 +1,21 @@ +.. spelling:: + + tinygltf + +.. index:: + single: graphics ; tinygltf + +.. _pkg.tinygltf: + +tinygltf +======== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-308 `__) + +.. literalinclude:: /../examples/tinygltf/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/tinyobjloader.rst b/docs/packages/pkg/tinyobjloader.rst new file mode 100644 index 0000000000..82a02b01bc --- /dev/null +++ b/docs/packages/pkg/tinyobjloader.rst @@ -0,0 +1,20 @@ +.. spelling:: + + tinyobjloader + +.. index:: + single: unsorted ; tinyobjloader + +.. _pkg.tinyobjloader: + +tinyobjloader +============= + +- `Official `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-226 `__) + +.. literalinclude:: /../examples/tinyobjloader/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/tsl_hat_trie.rst b/docs/packages/pkg/tsl_hat_trie.rst new file mode 100644 index 0000000000..b8ea8a13a9 --- /dev/null +++ b/docs/packages/pkg/tsl_hat_trie.rst @@ -0,0 +1,23 @@ +.. spelling:: + + tsl + hat + trie + +.. index:: + single: data-structures ; tsl_hat_trie + +.. _pkg.tsl_hat_trie: + +tsl_hat_trie +============ + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-276 `__) + +.. literalinclude:: /../examples/tsl_hat_trie/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/tsl_robin_map.rst b/docs/packages/pkg/tsl_robin_map.rst new file mode 100644 index 0000000000..dd8e1bbe68 --- /dev/null +++ b/docs/packages/pkg/tsl_robin_map.rst @@ -0,0 +1,22 @@ +.. spelling:: + + tsl + robin + map + +.. index:: + single: data-structures ; tsl_robin_map + +.. _pkg.tsl_robin_map: + +tsl_robin_map +============= + +- `Official `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-277 `__) + +.. literalinclude:: /../examples/tsl_robin_map/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/tvm.rst b/docs/packages/pkg/tvm.rst index 9a7e9fe43e..8001158c35 100644 --- a/docs/packages/pkg/tvm.rst +++ b/docs/packages/pkg/tvm.rst @@ -32,7 +32,7 @@ build issue, the next workaround should be applied: By default CUDA used on Linux. Example of the ``travis.yml`` configuration: -- https://github.com/ingenue/hunter/blob/81c936a1e04df8f46b84c7eb22b931da5dcf4d7c/.travis.yml#L155-L163 +- https://github.com/cpp-pm/hunter-testing/blob/81c936a1e04df8f46b84c7eb22b931da5dcf4d7c/.travis.yml#L155-L163 On Android, iOS and Windows only ``tvm::tvm_runtime`` will be built. diff --git a/docs/packages/pkg/xatlas.rst b/docs/packages/pkg/xatlas.rst new file mode 100644 index 0000000000..877bd9e134 --- /dev/null +++ b/docs/packages/pkg/xatlas.rst @@ -0,0 +1,21 @@ +.. spelling:: + + xatlas + +.. index:: + single: unsorted ; xatlas + +.. _pkg.xatlas: + +xatlas +====== + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Rahul Sheth `__ (`pr-233 `__) + +.. literalinclude:: /../examples/xatlas/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/packages/pkg/zlog.rst b/docs/packages/pkg/zlog.rst new file mode 100644 index 0000000000..3e4a4a114d --- /dev/null +++ b/docs/packages/pkg/zlog.rst @@ -0,0 +1,19 @@ +.. spelling:: + + zlog + +.. index:: Logging ; zlog + +.. _pkg.zlog: + +zlog +==== + +- `Official `__ +- `Example `__ +- Added by `je-vv `__ (`pr-N `__) + +.. literalinclude:: /../examples/zlog/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/docs/reference/errors/error.external.build.failed.rst b/docs/reference/errors/error.external.build.failed.rst index e66b515b37..91bd6d831d 100644 --- a/docs/reference/errors/error.external.build.failed.rst +++ b/docs/reference/errors/error.external.build.failed.rst @@ -25,17 +25,17 @@ What to do :ref:`HUNTER_STATUS_DEBUG=ON ` to see a lot of info about build - Take a look at - `pkg.NAME `_ + `pkg.NAME `_ CI testing table. If similar toolchain is excluded (or not present at all) then the problem is known, hence **there is no need to report bug if you're not planning to fix it yourself**. For example if you check the OpenSSL testing: - - https://github.com/ingenue/hunter/tree/pkg.openssl + - https://github.com/cpp-pm/hunter-testing/tree/pkg.openssl You can see that toolchain ``nmake-vs-12-2013-win64`` is excluded already: - - https://github.com/ingenue/hunter/blob/2bdb775aa312e1634c545aa772f09730f61e2e7b/appveyor.yml#L17-L20 + - https://github.com/cpp-pm/hunter-testing/blob/2bdb775aa312e1634c545aa772f09730f61e2e7b/appveyor.yml#L17-L20 So there is no need to report "OpenSSL is not working with NMake" issue. diff --git a/docs/reference/user-modules/hunter_upload_password.rst b/docs/reference/user-modules/hunter_upload_password.rst index e18f8e9b92..b34b0c11bc 100644 --- a/docs/reference/user-modules/hunter_upload_password.rst +++ b/docs/reference/user-modules/hunter_upload_password.rst @@ -11,7 +11,7 @@ This module helps to set uploading parameters for If you want to use GitHub repository ``https://github.com/forexample/hunter-cache`` -as a cache server and do uploads using bot ``ingenue`` this can be expressed by +as a cache server and do uploads using bot ``cpp-pm-bot`` this can be expressed by code: .. code-block:: cmake @@ -21,7 +21,7 @@ code: hunter_upload_password( REPO_OWNER "forexample" REPO "hunter-cache" - USERNAME "ingenue" + USERNAME "cpp-pm-bot" PASSWORD "very-secured-github-token-here" ) @@ -35,6 +35,6 @@ E.g. you can read password from environment variable: hunter_upload_password( REPO_OWNER "forexample" REPO "hunter-cache" - USERNAME "ingenue" + USERNAME "cpp-pm-bot" PASSWORD "$ENV{GITHUB_USER_PASSWORD}" ) diff --git a/docs/reference/user-variables.rst b/docs/reference/user-variables.rst index 6d19d60261..415c2129ea 100644 --- a/docs/reference/user-variables.rst +++ b/docs/reference/user-variables.rst @@ -200,14 +200,14 @@ Using two servers: set( HUNTER_CACHE_SERVERS - "https://github.com/elucideye/hunter-cache;https://github.com/ingenue/hunter-cache" + "https://github.com/elucideye/hunter-cache;https://github.com/cpp-pm/hunter-cache" CACHE STRING "Hunter cache servers" ) HunterGate(URL "..." SHA1 "...") -* Default: https://github.com/ingenue/hunter-cache +* Default: https://github.com/cpp-pm/hunter-cache .. seealso:: diff --git a/examples/Boost-chrono-1-64/CMakeLists.txt b/examples/Boost-chrono-1-64/CMakeLists.txt index 9b5a8dadd5..3b4ecb717e 100644 --- a/examples/Boost-chrono-1-64/CMakeLists.txt +++ b/examples/Boost-chrono-1-64/CMakeLists.txt @@ -1,13 +1,13 @@ -# Copyright (c) 2013, Ruslan Baratov -# All rights reserved. - cmake_minimum_required(VERSION 3.0) +set(Boost_DEBUG ON CACHE BOOLEAN "") +set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) + # Emulate HunterGate: # * https://github.com/hunter-packages/gate include("../common.cmake") -project(download-boost) +project(Boost-chrono-1_64_0) hunter_add_package(Boost COMPONENTS system chrono) find_package(Boost CONFIG REQUIRED system chrono) diff --git a/examples/Boost-chrono-1-64/config.cmake b/examples/Boost-chrono-1-64/config.cmake new file mode 100644 index 0000000000..fb6a2c8bcd --- /dev/null +++ b/examples/Boost-chrono-1-64/config.cmake @@ -0,0 +1,3 @@ +hunter_config(Boost + VERSION 1.64.0 +) diff --git a/examples/Boost-chrono-useBoostConfig/CMakeLists.txt b/examples/Boost-chrono-useBoostConfig/CMakeLists.txt index 6ba8ec001b..87c2aca3c6 100644 --- a/examples/Boost-chrono-useBoostConfig/CMakeLists.txt +++ b/examples/Boost-chrono-useBoostConfig/CMakeLists.txt @@ -1,7 +1,4 @@ -# Copyright (c) 2013, Ruslan Baratov -# All rights reserved. - -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.3) set(Boost_DEBUG ON CACHE BOOLEAN "") set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) diff --git a/examples/Boost-container/CMakeLists.txt b/examples/Boost-container/CMakeLists.txt new file mode 100644 index 0000000000..ca0e67a7b9 --- /dev/null +++ b/examples/Boost-container/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.3) + +set(Boost_DEBUG ON CACHE BOOLEAN "") + +# Emulate HunterGate: +# * https://github.com/cpp-pm/gate +include("../common.cmake") + +project(download-boost) + +# DOCUMENTATION_START { +hunter_add_package(Boost COMPONENTS container) +find_package(Boost CONFIG REQUIRED container) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC Boost::container) +# DOCUMENTATION_END } diff --git a/examples/Boost-container/boo.cpp b/examples/Boost-container/boo.cpp new file mode 100644 index 0000000000..dcd843d5c2 --- /dev/null +++ b/examples/Boost-container/boo.cpp @@ -0,0 +1,15 @@ +#include + +using namespace boost::container; + +struct animal +{ + vector children; +}; + +int main() +{ + animal parent, child1, child2; + parent.children.push_back(child1); + parent.children.push_back(child2); +} diff --git a/examples/Boost-container/config.cmake b/examples/Boost-container/config.cmake new file mode 100644 index 0000000000..9daa4a1d95 --- /dev/null +++ b/examples/Boost-container/config.cmake @@ -0,0 +1,4 @@ +hunter_config(Boost + VERSION ${HUNTER_Boost_VERSION} + CMAKE_ARGS USE_CONFIG_FROM_BOOST=ON +) diff --git a/examples/Boost-filesystem-1-64/CMakeLists.txt b/examples/Boost-filesystem-1-64/CMakeLists.txt index 6339e56979..1873c49de8 100644 --- a/examples/Boost-filesystem-1-64/CMakeLists.txt +++ b/examples/Boost-filesystem-1-64/CMakeLists.txt @@ -1,13 +1,13 @@ -# Copyright (c) 2013-2015, Ruslan Baratov -# All rights reserved. - cmake_minimum_required(VERSION 3.0) +set(Boost_DEBUG ON CACHE BOOLEAN "") +set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) + # Emulate HunterGate: # * https://github.com/hunter-packages/gate include("../common.cmake") -project(download-boost) +project(Boost-filesystem-1_64_0) # download boost hunter_add_package(Boost COMPONENTS system filesystem) diff --git a/examples/Boost-filesystem-1-64/config.cmake b/examples/Boost-filesystem-1-64/config.cmake new file mode 100644 index 0000000000..fb6a2c8bcd --- /dev/null +++ b/examples/Boost-filesystem-1-64/config.cmake @@ -0,0 +1,3 @@ +hunter_config(Boost + VERSION 1.64.0 +) diff --git a/examples/Boost-filesystem-useBoostConfig/CMakeLists.txt b/examples/Boost-filesystem-useBoostConfig/CMakeLists.txt index 9bb5b74ced..64aa830821 100644 --- a/examples/Boost-filesystem-useBoostConfig/CMakeLists.txt +++ b/examples/Boost-filesystem-useBoostConfig/CMakeLists.txt @@ -1,7 +1,4 @@ -# Copyright (c) 2013-2015, Ruslan Baratov -# All rights reserved. - -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.3) set(Boost_DEBUG ON CACHE BOOLEAN "") set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) diff --git a/examples/Boost-iostreams-1-64/CMakeLists.txt b/examples/Boost-iostreams-1-64/CMakeLists.txt index 7490229875..ab19a5cf42 100644 --- a/examples/Boost-iostreams-1-64/CMakeLists.txt +++ b/examples/Boost-iostreams-1-64/CMakeLists.txt @@ -1,6 +1,3 @@ -# Copyright (c) 2013, Ruslan Baratov -# All rights reserved. - cmake_minimum_required(VERSION 3.0) set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) @@ -9,7 +6,7 @@ set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) # * https://github.com/hunter-packages/gate include("../common.cmake") -project(download-boost) +project(Boost-iostreams-1_64_0) hunter_add_package(Boost COMPONENTS iostreams serialization) find_package(Boost CONFIG REQUIRED iostreams serialization) diff --git a/examples/Boost-iostreams-useBoostConfig/CMakeLists.txt b/examples/Boost-iostreams-useBoostConfig/CMakeLists.txt index f817e0c1ee..c22bd0b55c 100644 --- a/examples/Boost-iostreams-useBoostConfig/CMakeLists.txt +++ b/examples/Boost-iostreams-useBoostConfig/CMakeLists.txt @@ -1,7 +1,4 @@ -# Copyright (c) 2015, Aaditya Kalsi -# All rights reserved. - -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.3) set(Boost_DEBUG ON CACHE BOOLEAN "") set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) diff --git a/examples/Boost-log-useBoostConfig/CMakeLists.txt b/examples/Boost-log-useBoostConfig/CMakeLists.txt index 82bfb43ee5..b749788e5e 100644 --- a/examples/Boost-log-useBoostConfig/CMakeLists.txt +++ b/examples/Boost-log-useBoostConfig/CMakeLists.txt @@ -1,7 +1,4 @@ -# Copyright (c) 2013-2017, Ruslan Baratov -# All rights reserved. - -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.3) set(Boost_DEBUG ON CACHE BOOLEAN "") set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) diff --git a/examples/Boost-system-1-66/CMakeLists.txt b/examples/Boost-system-1-66/CMakeLists.txt index dfb9c11ef6..7f9fc322ce 100644 --- a/examples/Boost-system-1-66/CMakeLists.txt +++ b/examples/Boost-system-1-66/CMakeLists.txt @@ -1,17 +1,13 @@ -# Copyright (c) 2013, Ruslan Baratov -# All rights reserved. - cmake_minimum_required(VERSION 3.0) set(Boost_DEBUG ON CACHE BOOLEAN "") - set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) # Emulate HunterGate: # * https://github.com/hunter-packages/gate include("../common.cmake") -project(download-boost) +project(Boost-system-1_66) hunter_add_package(Boost COMPONENTS system) find_package(Boost CONFIG REQUIRED system) diff --git a/examples/Boost-thread-1-64/CMakeLists.txt b/examples/Boost-thread-1-64/CMakeLists.txt index cdb4d19a80..38d4106de3 100644 --- a/examples/Boost-thread-1-64/CMakeLists.txt +++ b/examples/Boost-thread-1-64/CMakeLists.txt @@ -1,13 +1,13 @@ -# Copyright (c) 2013, Ruslan Baratov -# All rights reserved. - cmake_minimum_required(VERSION 3.0) +set(Boost_DEBUG ON CACHE BOOLEAN "") +set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) + # Emulate HunterGate: # * https://github.com/hunter-packages/gate include("../common.cmake") -project(download-boost) +project(Boost-thread-1_64_0) hunter_add_package(Boost COMPONENTS system thread) find_package(Boost CONFIG REQUIRED system thread) diff --git a/examples/Boost-thread-1-64/config.cmake b/examples/Boost-thread-1-64/config.cmake new file mode 100644 index 0000000000..fb6a2c8bcd --- /dev/null +++ b/examples/Boost-thread-1-64/config.cmake @@ -0,0 +1,3 @@ +hunter_config(Boost + VERSION 1.64.0 +) diff --git a/examples/Boost-useBoostConfig/CMakeLists.txt b/examples/Boost-useBoostConfig/CMakeLists.txt index b261ad51d3..e391fd6bb6 100644 --- a/examples/Boost-useBoostConfig/CMakeLists.txt +++ b/examples/Boost-useBoostConfig/CMakeLists.txt @@ -1,7 +1,4 @@ -# Copyright (c) 2013, Ruslan Baratov -# All rights reserved. - -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.3) set(Boost_DEBUG ON CACHE BOOLEAN "") set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) diff --git a/examples/Expat/CMakeLists.txt b/examples/Expat/CMakeLists.txt index f23b854a5b..02a8e993d2 100644 --- a/examples/Expat/CMakeLists.txt +++ b/examples/Expat/CMakeLists.txt @@ -15,7 +15,12 @@ hunter_add_package(Expat) find_package(EXPAT CONFIG REQUIRED) add_executable(outline outline.c) -target_link_libraries(outline PRIVATE EXPAT::expat) +# Older versions may need EXPAT::expat +if (WIN32 AND NOT MINGW) + target_link_libraries(outline PRIVATE expat::libexpat) +else() + target_link_libraries(outline PRIVATE expat::expat) +endif() find_package(EXPAT MODULE REQUIRED) diff --git a/examples/KhronosDataFormat/CMakeLists.txt b/examples/KhronosDataFormat/CMakeLists.txt new file mode 100644 index 0000000000..a0d9a00b53 --- /dev/null +++ b/examples/KhronosDataFormat/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-KhronosDataFormat) + +# DOCUMENTATION_START { +hunter_add_package(KhronosDataFormat) +find_package(KhronosDataFormat CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC Khronos::KhronosDataFormat) +# DOCUMENTATION_END } diff --git a/examples/KhronosDataFormat/boo.cpp b/examples/KhronosDataFormat/boo.cpp new file mode 100644 index 0000000000..b6b945bc8b --- /dev/null +++ b/examples/KhronosDataFormat/boo.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + khr_df_flags_e alpha = KHR_DF_FLAG_ALPHA_STRAIGHT; + return 0; +} diff --git a/examples/Opus/CMakeLists.txt b/examples/Opus/CMakeLists.txt new file mode 100644 index 0000000000..749e4fad58 --- /dev/null +++ b/examples/Opus/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-Opus) + +# DOCUMENTATION_START { +hunter_add_package(Opus) +find_package(Opus CONFIG REQUIRED) + +add_executable(main main.cpp) +target_link_libraries(main PUBLIC Opus::opus) +# DOCUMENTATION_END } diff --git a/examples/Opus/main.cpp b/examples/Opus/main.cpp new file mode 100644 index 0000000000..9f22ade6d2 --- /dev/null +++ b/examples/Opus/main.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + const char *version = opus_get_version_string(); + return 0; +} diff --git a/examples/SPIRV-Tools/CMakeLists.txt b/examples/SPIRV-Tools/CMakeLists.txt index c85ddca68d..fb42c623df 100644 --- a/examples/SPIRV-Tools/CMakeLists.txt +++ b/examples/SPIRV-Tools/CMakeLists.txt @@ -5,6 +5,7 @@ cmake_minimum_required(VERSION 3.2) # Emulate HunterGate: # * https://github.com/hunter-packages/gate +set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) include("../common.cmake") project(download-SPIRV-Tools) diff --git a/examples/SPIRV-Tools/config.cmake b/examples/SPIRV-Tools/config.cmake new file mode 100644 index 0000000000..8f1ced3395 --- /dev/null +++ b/examples/SPIRV-Tools/config.cmake @@ -0,0 +1,2 @@ +hunter_config(SPIRV-Headers VERSION 1.5.1.corrected) + diff --git a/examples/abseil/CMakeLists.txt b/examples/abseil/CMakeLists.txt new file mode 100644 index 0000000000..405dad7460 --- /dev/null +++ b/examples/abseil/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-abseil) + +# DOCUMENTATION_START { +hunter_add_package(abseil) +find_package(absl CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC absl::strings) +# DOCUMENTATION_END } diff --git a/examples/abseil/boo.cpp b/examples/abseil/boo.cpp new file mode 100644 index 0000000000..deab589ddf --- /dev/null +++ b/examples/abseil/boo.cpp @@ -0,0 +1,23 @@ +// +// Copyright 2019 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include + +int main(int argc, char** argv) { + for (int i = 0; i < argc; ++i) { + std::cout << absl::Substitute("Arg $0: $1\n", i, argv[i]); + } +} diff --git a/examples/apg/CMakeLists.txt b/examples/apg/CMakeLists.txt new file mode 100644 index 0000000000..4f15679acc --- /dev/null +++ b/examples/apg/CMakeLists.txt @@ -0,0 +1,29 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-apg) + +# DOCUMENTATION_START { +hunter_add_package(apg) +find_package(apg CONFIG REQUIRED) + +add_executable(boo boo.cpp) +#Available: +# apg::apg +# apg::unicode +# apg::bmp +# apg::wav +# apg::pixfont +# apg::maths +# apg::interp +# apg::tga +# apg::console + +target_link_libraries(boo PUBLIC apg::console apg::bmp) +# DOCUMENTATION_END } diff --git a/examples/apg/boo.cpp b/examples/apg/boo.cpp new file mode 100644 index 0000000000..dd95d1ac76 --- /dev/null +++ b/examples/apg/boo.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main() { + unsigned char* img_mem = apg_bmp_read(NULL, NULL, NULL, NULL); + apg_c_backspace(); +} diff --git a/examples/astc-encoder/CMakeLists.txt b/examples/astc-encoder/CMakeLists.txt new file mode 100644 index 0000000000..e0e0aded2c --- /dev/null +++ b/examples/astc-encoder/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-astc-encoder) + +# DOCUMENTATION_START { +hunter_add_package(astc-encoder) +find_package(astc-encoder CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC astc-encoder::astcenc) +# DOCUMENTATION_END } diff --git a/examples/astc-encoder/boo.cpp b/examples/astc-encoder/boo.cpp new file mode 100644 index 0000000000..74db6e9d9a --- /dev/null +++ b/examples/astc-encoder/boo.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + astcenc_config my_config; // for v2.0+ + // astc_codec_image image; // for v1.3 +} diff --git a/examples/basis_universal/CMakeLists.txt b/examples/basis_universal/CMakeLists.txt new file mode 100644 index 0000000000..c8983f319e --- /dev/null +++ b/examples/basis_universal/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-basis_universal) + +# DOCUMENTATION_START { +hunter_add_package(basis_universal) +find_package(basis_universal CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC basis_universal::basisu_encoder) +# DOCUMENTATION_END } diff --git a/examples/basis_universal/boo.cpp b/examples/basis_universal/boo.cpp new file mode 100644 index 0000000000..0a0fa40343 --- /dev/null +++ b/examples/basis_universal/boo.cpp @@ -0,0 +1,5 @@ +#include + +int main() { + basisu::basisu_encoder_init(); +} diff --git a/examples/cgltf/CMakeLists.txt b/examples/cgltf/CMakeLists.txt new file mode 100644 index 0000000000..9266050f6a --- /dev/null +++ b/examples/cgltf/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-cgltf) + +# DOCUMENTATION_START { +hunter_add_package(cgltf) +find_package(cgltf CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC cgltf::cgltf) +# DOCUMENTATION_END } diff --git a/examples/cgltf/boo.cpp b/examples/cgltf/boo.cpp new file mode 100644 index 0000000000..3e0f3c1ff6 --- /dev/null +++ b/examples/cgltf/boo.cpp @@ -0,0 +1,13 @@ +#include + +static void set(cgltf_float target[3], float x, float y, float z) { + target[0] = x; + target[1] = y; + target[2] = z; +} + +int main() { + cgltf_node node = {}; + set(node.scale, 1, 1, 1); + return 0; +} diff --git a/examples/cpp-statsd-client/CMakeLists.txt b/examples/cpp-statsd-client/CMakeLists.txt new file mode 100644 index 0000000000..c626336dc3 --- /dev/null +++ b/examples/cpp-statsd-client/CMakeLists.txt @@ -0,0 +1,22 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-cpp-statsd-client) + +# DOCUMENTATION_START { +hunter_add_package(cpp-statsd-client) +find_package(cpp-statsd-client CONFIG REQUIRED) + +add_executable(boo boo.cpp) +#For mingw/msys +if(WIN32) + target_compile_definitions(boo PRIVATE _WIN32_WINNT=0x601) +endif() +target_link_libraries(boo PUBLIC cpp-statsd-client::cpp-statsd-client) +# DOCUMENTATION_END } diff --git a/examples/cpp-statsd-client/boo.cpp b/examples/cpp-statsd-client/boo.cpp new file mode 100644 index 0000000000..4d9472113c --- /dev/null +++ b/examples/cpp-statsd-client/boo.cpp @@ -0,0 +1,26 @@ +#include +using namespace Statsd; + +int main() +{ + // Define the client on localhost, with port 8080, using a prefix and a batching size of 20 bytes + StatsdClient client{ "127.0.0.1", 8080, "myPrefix.", 20 }; + + // Increment the metric "coco" + client.increment("coco"); + + // Decrement the metric "kiki" + client.decrement("kiki"); + + // Adjusts "toto" by +3 + client.count("toto", 2, 0.1f); + + // Record a gauge "titi" to 3 + client.gauge("titi", 3); + + // Record a timing of 2ms for "myTiming" + client.timing("myTiming", 2, 0.1f); + + // Send a metric explicitly + client.send("tutu", 4, "c", 2.0f); +} diff --git a/examples/crc32c/CMakeLists.txt b/examples/crc32c/CMakeLists.txt index 19a3ce4593..77f121cf73 100644 --- a/examples/crc32c/CMakeLists.txt +++ b/examples/crc32c/CMakeLists.txt @@ -4,11 +4,10 @@ include("../common.cmake") project(download-crc32c) +# DOCUMENTATION_START { hunter_add_package(crc32c) +find_package(Crc32c CONFIG REQUIRED) -find_package(crc32c CONFIG REQUIRED) - -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(main main.cpp) -target_link_libraries(main crc32c::crc32c) +target_link_libraries(main Crc32c::crc32c) +# DOCUMENTATION_END } diff --git a/examples/etc2comp/CMakeLists.txt b/examples/etc2comp/CMakeLists.txt new file mode 100644 index 0000000000..926156a2ad --- /dev/null +++ b/examples/etc2comp/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-etc2comp) + +# DOCUMENTATION_START { +hunter_add_package(etc2comp) +find_package(etc2comp CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC etc2comp::EtcLib) +# DOCUMENTATION_END } diff --git a/examples/etc2comp/boo.cpp b/examples/etc2comp/boo.cpp new file mode 100644 index 0000000000..206660435e --- /dev/null +++ b/examples/etc2comp/boo.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + float test = Etc::ConvertMSEToPSNR(0.0f); + return 0; +} diff --git a/examples/fast_obj/CMakeLists.txt b/examples/fast_obj/CMakeLists.txt new file mode 100644 index 0000000000..f52c55bb02 --- /dev/null +++ b/examples/fast_obj/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-fast_obj) + +# DOCUMENTATION_START { +hunter_add_package(fast_obj) +find_package(fast_obj CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC fast_obj::fast_obj) +# DOCUMENTATION_END } diff --git a/examples/fast_obj/boo.cpp b/examples/fast_obj/boo.cpp new file mode 100644 index 0000000000..773ef3688b --- /dev/null +++ b/examples/fast_obj/boo.cpp @@ -0,0 +1,7 @@ +#include + +int main() { + fastObjMesh* mesh = fast_obj_read(0); + if(mesh) return 0; + return 1; +} diff --git a/examples/filament/CMakeLists.txt b/examples/filament/CMakeLists.txt new file mode 100644 index 0000000000..4a68b51704 --- /dev/null +++ b/examples/filament/CMakeLists.txt @@ -0,0 +1,20 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) +include("../common.cmake") + +project(download-filament) + +# DOCUMENTATION_START { +hunter_add_package(filament) +find_package(Threads) +find_package(filament CONFIG REQUIRED) + +add_executable(filament_test main.cpp) +target_link_libraries(filament_test PUBLIC filament::filament) +# DOCUMENTATION_END } diff --git a/examples/filament/config.cmake b/examples/filament/config.cmake new file mode 100644 index 0000000000..47d8c346ed --- /dev/null +++ b/examples/filament/config.cmake @@ -0,0 +1,14 @@ +hunter_config(civetweb VERSION 1.11-p0 + CMAKE_ARGS CIVETWEB_ENABLE_WEBSOCKETS=ON) + +hunter_config(SPIRV-Headers VERSION 1.5.1.corrected) + +hunter_config(SPIRV-Tools VERSION 2020.1-p0) + +hunter_config(spirv-cross VERSION 20200917) + +hunter_config(glslang VERSION 8.13.3743-9eef54b2-p0 + CMAKE_ARGS ENABLE_HLSL=OFF ENABLE_GLSLANG_BINARIES=OFF ENABLE_OPT=OFF BUILD_TESTING=OFF) + +hunter_config(astc-encoder VERSION 1.3-a47b80f-p1) + diff --git a/examples/filament/main.cpp b/examples/filament/main.cpp new file mode 100644 index 0000000000..b10496c29a --- /dev/null +++ b/examples/filament/main.cpp @@ -0,0 +1,5 @@ +#include + +int main() { + filament::Engine* engine = filament::Engine::create(); +} diff --git a/examples/foo/CMakeLists.txt b/examples/foo/CMakeLists.txt index a1a7acabc3..3dcecde38c 100644 --- a/examples/foo/CMakeLists.txt +++ b/examples/foo/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2016-2019, Ruslan Baratov +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov # All rights reserved. cmake_minimum_required(VERSION 3.2) diff --git a/examples/freetype-gl/CMakeLists.txt b/examples/freetype-gl/CMakeLists.txt new file mode 100644 index 0000000000..503ae98ae4 --- /dev/null +++ b/examples/freetype-gl/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.0) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-freetype-gl) + +# DOCUMENTATION_START { +hunter_add_package(freetype-gl) +find_package(freetype-gl CONFIG REQUIRED) + +add_executable(freetype-gl-example main.cpp) +target_link_libraries(freetype-gl-example PRIVATE freetype-gl::freetype-gl) +# DOCUMENTATION_END } diff --git a/examples/freetype-gl/main.cpp b/examples/freetype-gl/main.cpp new file mode 100644 index 0000000000..86f4474b86 --- /dev/null +++ b/examples/freetype-gl/main.cpp @@ -0,0 +1,8 @@ +#include "freetype-gl/freetype-gl.h" + +int main() +{ + texture_glyph_t *emptyGlyph=texture_glyph_new(); + + return 1; +} diff --git a/examples/glslang/CMakeLists.txt b/examples/glslang/CMakeLists.txt index f2a9016acb..6a06317a62 100644 --- a/examples/glslang/CMakeLists.txt +++ b/examples/glslang/CMakeLists.txt @@ -5,6 +5,7 @@ cmake_minimum_required(VERSION 3.0) # Emulate HunterGate: # * https://github.com/hunter-packages/gate +set(TESTING_CONFIG_OPT FILEPATH ${CMAKE_CURRENT_LIST_DIR}/config.cmake) include("../common.cmake") project(download-glslang) diff --git a/examples/glslang/config.cmake b/examples/glslang/config.cmake new file mode 100644 index 0000000000..d35f193fe2 --- /dev/null +++ b/examples/glslang/config.cmake @@ -0,0 +1,2 @@ +hunter_config(SPIRV-Headers VERSION 1.5.1.corrected) +hunter_config(SPIRV-Tools VERSION 2020.1-p0) diff --git a/examples/jpeg-compressor/CMakeLists.txt b/examples/jpeg-compressor/CMakeLists.txt new file mode 100644 index 0000000000..997cb39a36 --- /dev/null +++ b/examples/jpeg-compressor/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-jpeg-compressor) + +# DOCUMENTATION_START { +hunter_add_package(jpeg-compressor) +find_package(jpeg-compressor CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC jpeg-compressor::jpgd) +# DOCUMENTATION_END } diff --git a/examples/jpeg-compressor/boo.cpp b/examples/jpeg-compressor/boo.cpp new file mode 100644 index 0000000000..40d68fd7f2 --- /dev/null +++ b/examples/jpeg-compressor/boo.cpp @@ -0,0 +1,7 @@ +#include + +int main() { + unsigned char* test = jpgd::decompress_jpeg_image_from_memory(NULL, 0, NULL, NULL, NULL, 0); + if(test) return 0; + return 1; +} diff --git a/examples/jsmn/CMakeLists.txt b/examples/jsmn/CMakeLists.txt new file mode 100644 index 0000000000..34f9f1ade8 --- /dev/null +++ b/examples/jsmn/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-jsmn) + +# DOCUMENTATION_START { +hunter_add_package(jsmn) +find_package(jsmn CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC jsmn::jsmn) +# DOCUMENTATION_END } diff --git a/examples/jsmn/boo.cpp b/examples/jsmn/boo.cpp new file mode 100644 index 0000000000..6d95ab41c1 --- /dev/null +++ b/examples/jsmn/boo.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + jsmn_parser p; + jsmn_init(&p); +} diff --git a/examples/libarchive/CMakeLists.txt b/examples/libarchive/CMakeLists.txt new file mode 100644 index 0000000000..7729bd2598 --- /dev/null +++ b/examples/libarchive/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2020, Timothy Stack +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(test-libarchive) + +# DOCUMENTATION_START { +hunter_add_package(libarchive) +find_package(libarchive CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC PkgConfig::libarchive) +# DOCUMENTATION_END } diff --git a/examples/libarchive/boo.cpp b/examples/libarchive/boo.cpp new file mode 100644 index 0000000000..f3503799a4 --- /dev/null +++ b/examples/libarchive/boo.cpp @@ -0,0 +1,27 @@ + +#include + +#include +#include + +int main(int argc, char *argv[]) +{ + static std::string CONTENT = "Hello, World!\n"; + + char buf[32 * 1024]; + size_t used; + auto arc = archive_write_new(); + archive_write_add_filter_gzip(arc); + archive_write_set_format_pax_restricted(arc); + archive_write_open_memory(arc, buf, sizeof(buf), &used); + auto entry = archive_entry_new(); + archive_entry_set_pathname(entry, "hw.txt"); + archive_entry_set_size(entry, CONTENT.size()); + archive_entry_set_filetype(entry, AE_IFREG); + archive_entry_set_perm(entry, 0644); + archive_write_header(arc, entry); + archive_write_data(arc, CONTENT.c_str(), CONTENT.size()); + archive_entry_free(entry); + archive_write_close(arc); + archive_write_free(arc); +} diff --git a/examples/libigl/CMakeLists.txt b/examples/libigl/CMakeLists.txt index 89abb10b43..542964cf56 100644 --- a/examples/libigl/CMakeLists.txt +++ b/examples/libigl/CMakeLists.txt @@ -14,5 +14,5 @@ hunter_add_package(libigl) find_package(libigl CONFIG REQUIRED) add_executable(boo boo.cpp) -target_link_libraries(boo PUBLIC igl::core) +target_link_libraries(boo PUBLIC igl::common igl::core) # DOCUMENTATION_END } diff --git a/examples/lz4/CMakeLists.txt b/examples/lz4/CMakeLists.txt index 5ccb3bea27..dcdca14e3d 100644 --- a/examples/lz4/CMakeLists.txt +++ b/examples/lz4/CMakeLists.txt @@ -10,7 +10,7 @@ include("../common.cmake") project(download-lz4) hunter_add_package(lz4) -find_package(lz4 CONFIG REQUIRED) +find_package(LZ4 CONFIG REQUIRED) add_executable(boo boo.cpp) -target_link_libraries(boo PUBLIC lz4::lz4) +target_link_libraries(boo PUBLIC LZ4::lz4_static) diff --git a/examples/meshoptimizer/CMakeLists.txt b/examples/meshoptimizer/CMakeLists.txt new file mode 100644 index 0000000000..b5f8248613 --- /dev/null +++ b/examples/meshoptimizer/CMakeLists.txt @@ -0,0 +1,26 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-meshoptimizer) + +# DOCUMENTATION_START { +hunter_add_package(meshoptimizer) +find_package(meshoptimizer CONFIG REQUIRED) + +# Available: +# Libraries: +# meshoptimizer::meshoptimizer +# meshoptimizer::libgltfpack (if MESHOPT_BUILD_GLTFPACK=ON) +# Binaries: +# meshoptimizer::gltfpack (if MESHOPT_BUILD_GLTFPACK=ON) +# meshoptimizer::demo (if MESHOPT_BUILD_DEMO=ON) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC meshoptimizer::meshoptimizer) +# DOCUMENTATION_END } diff --git a/examples/meshoptimizer/boo.cpp b/examples/meshoptimizer/boo.cpp new file mode 100644 index 0000000000..375a87da70 --- /dev/null +++ b/examples/meshoptimizer/boo.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + meshopt_remapIndexBuffer(NULL, NULL, 0, NULL); + return 0; +} diff --git a/examples/miniz/CMakeLists.txt b/examples/miniz/CMakeLists.txt new file mode 100644 index 0000000000..f6d4abd935 --- /dev/null +++ b/examples/miniz/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-miniz) + +# DOCUMENTATION_START { +hunter_add_package(miniz) +find_package(miniz CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC miniz::miniz) +# DOCUMENTATION_END } diff --git a/examples/miniz/boo.cpp b/examples/miniz/boo.cpp new file mode 100644 index 0000000000..aaafdba72f --- /dev/null +++ b/examples/miniz/boo.cpp @@ -0,0 +1,5 @@ +#include + +int main() { + printf("miniz.c version: %s\n", MZ_VERSION); +} diff --git a/examples/occt/CMakeLists.txt b/examples/occt/CMakeLists.txt new file mode 100644 index 0000000000..8ef937db0e --- /dev/null +++ b/examples/occt/CMakeLists.txt @@ -0,0 +1,23 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-occt) + +# DOCUMENTATION_START { +hunter_add_package(occt) +find_package(OpenCASCADE CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo occt::TKFillet occt::TKOffset occt::TKBool occt::TKBO occt::TKShHealing occt::TKPrim occt::TKTopAlgo occt::TKBRep occt::TKGeomAlgo occt::TKGeomBase occt::TKG3d occt::TKG2d occt::TKMath occt::TKernel) +if(APPLE OR (UNIX AND NOT ANDROID)) + target_link_libraries(boo pthread) +elseif(WIN32) + target_link_libraries(boo ws2_32) +endif() +# DOCUMENTATION_END } diff --git a/examples/occt/boo.cpp b/examples/occt/boo.cpp new file mode 100644 index 0000000000..6e1c9f1c68 --- /dev/null +++ b/examples/occt/boo.cpp @@ -0,0 +1,16 @@ +#include +#include +#include + +int main() { + try { + gp_Pnt a(0, 0, 0); + gp_Pnt b(1, 0, 0); + + Handle(Geom_TrimmedCurve) edge = GC_MakeSegment(a, b); + } + catch (const Standard_Failure& e) { + std::cout << e.GetMessageString() << std::endl; + return 1; + } +} \ No newline at end of file diff --git a/examples/opusfile/CMakeLists.txt b/examples/opusfile/CMakeLists.txt new file mode 100644 index 0000000000..d0db28d050 --- /dev/null +++ b/examples/opusfile/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-opusfile) + +# DOCUMENTATION_START { +hunter_add_package(opusfile) +find_package(opusfile CONFIG REQUIRED) + +add_executable(main main.cpp) +target_link_libraries(main PUBLIC opusfile::opusfile) + +if(NOT WIN32 AND NOT MINGW AND NOT MSYS) + target_link_libraries(main PUBLIC opusfile::opusurl) +endif() +# DOCUMENTATION_END } diff --git a/examples/opusfile/main.cpp b/examples/opusfile/main.cpp new file mode 100644 index 0000000000..23acc5ff3f --- /dev/null +++ b/examples/opusfile/main.cpp @@ -0,0 +1,4 @@ +#include + +int main() { +} diff --git a/examples/re2/CMakeLists.txt b/examples/re2/CMakeLists.txt index c72b8bf3ac..7d0e07bded 100644 --- a/examples/re2/CMakeLists.txt +++ b/examples/re2/CMakeLists.txt @@ -1,5 +1,4 @@ -# Copyright (c) 2016-2017, Ruslan Baratov -# Copyright (c) 2017, David Hirvonen +# Copyright (c) 2016-2020, Ruslan Baratov, David Hirvonen, Rahul Sheth # All rights reserved. cmake_minimum_required(VERSION 3.0) @@ -11,7 +10,7 @@ include("../common.cmake") project(download-re2) hunter_add_package(re2) -find_package(RE2 CONFIG REQUIRED) +find_package(re2 CONFIG REQUIRED) add_executable(foo foo.cpp) -target_link_libraries(foo RE2::re2) +target_link_libraries(foo re2::re2) diff --git a/examples/smol-v/CMakeLists.txt b/examples/smol-v/CMakeLists.txt new file mode 100644 index 0000000000..6939b5922e --- /dev/null +++ b/examples/smol-v/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-smol-v) + +# DOCUMENTATION_START { +hunter_add_package(smol-v) +find_package(smol-v CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC smol-v::smol-v) +# DOCUMENTATION_END } diff --git a/examples/smol-v/boo.cpp b/examples/smol-v/boo.cpp new file mode 100644 index 0000000000..09aea1a9b4 --- /dev/null +++ b/examples/smol-v/boo.cpp @@ -0,0 +1,5 @@ +#include + +int main() { + smolv::Stats* stats = smolv::StatsCreate(); +} diff --git a/examples/theora/CMakeLists.txt b/examples/theora/CMakeLists.txt new file mode 100644 index 0000000000..4e04ea9151 --- /dev/null +++ b/examples/theora/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/cpp-pm/gate +include("../common.cmake") + +project(download-theora) + +# DOCUMENTATION_START { +hunter_add_package(theora) +find_package(theora REQUIRED) + +add_executable(main main.cpp) +target_link_libraries(main PUBLIC theora::theora) +# DOCUMENTATION_END } diff --git a/examples/theora/main.cpp b/examples/theora/main.cpp new file mode 100644 index 0000000000..860d572bff --- /dev/null +++ b/examples/theora/main.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + const char *version = theora_version_string(); + return 0; +} diff --git a/examples/tinyexr/CMakeLists.txt b/examples/tinyexr/CMakeLists.txt new file mode 100644 index 0000000000..f0e34b1228 --- /dev/null +++ b/examples/tinyexr/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-tinyexr) + +# DOCUMENTATION_START { +hunter_add_package(tinyexr) +find_package(tinyexr CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC tinyexr::tinyexr) +# DOCUMENTATION_END } diff --git a/examples/tinyexr/boo.cpp b/examples/tinyexr/boo.cpp new file mode 100644 index 0000000000..7b15b5d7c0 --- /dev/null +++ b/examples/tinyexr/boo.cpp @@ -0,0 +1,5 @@ +#include + +int main() { + return ParseEXRVersionFromFile(0, 0); +} diff --git a/examples/tinygltf/CMakeLists.txt b/examples/tinygltf/CMakeLists.txt new file mode 100644 index 0000000000..4b33339da3 --- /dev/null +++ b/examples/tinygltf/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-tinygltf) + +# DOCUMENTATION_START { +hunter_add_package(tinygltf) +find_package(tinygltf CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC tinygltf::tinygltf) +# DOCUMENTATION_END } diff --git a/examples/tinygltf/boo.cpp b/examples/tinygltf/boo.cpp new file mode 100644 index 0000000000..d8df1cee73 --- /dev/null +++ b/examples/tinygltf/boo.cpp @@ -0,0 +1,7 @@ +#define TINYGLTF_NO_INCLUDE_JSON + +#include + +int main() { + return 0; +} diff --git a/examples/tinyobjloader/CMakeLists.txt b/examples/tinyobjloader/CMakeLists.txt new file mode 100644 index 0000000000..60060b087c --- /dev/null +++ b/examples/tinyobjloader/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2020, Rahul Sheth +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-tinyobjloader) + +# DOCUMENTATION_START { +hunter_add_package(tinyobjloader) +find_package(tinyobjloader CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC tinyobjloader::tinyobjloader) +# DOCUMENTATION_END } diff --git a/examples/tinyobjloader/boo.cpp b/examples/tinyobjloader/boo.cpp new file mode 100644 index 0000000000..0be3593af9 --- /dev/null +++ b/examples/tinyobjloader/boo.cpp @@ -0,0 +1,7 @@ +#include + +int main() { + tinyobj::attrib_t attrib; + std::vector shapes; + std::vector materials; +} diff --git a/examples/tsl_hat_trie/CMakeLists.txt b/examples/tsl_hat_trie/CMakeLists.txt new file mode 100644 index 0000000000..d3f9a148ce --- /dev/null +++ b/examples/tsl_hat_trie/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-tsl_hat_trie) + +# DOCUMENTATION_START { +hunter_add_package(tsl_hat_trie) +find_package(tsl_hat_trie CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC tsl::hat_trie) +# DOCUMENTATION_END } diff --git a/examples/tsl_hat_trie/boo.cpp b/examples/tsl_hat_trie/boo.cpp new file mode 100644 index 0000000000..25cf62caa2 --- /dev/null +++ b/examples/tsl_hat_trie/boo.cpp @@ -0,0 +1,5 @@ +#include + +int main() { + tsl::htrie_set set = {"test1", "test2"}; +} diff --git a/examples/tsl_robin_map/CMakeLists.txt b/examples/tsl_robin_map/CMakeLists.txt new file mode 100644 index 0000000000..9db5ee982c --- /dev/null +++ b/examples/tsl_robin_map/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-tsl_robin_map) + +# DOCUMENTATION_START { +hunter_add_package(tsl_robin_map) +find_package(tsl-robin-map CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC tsl::robin_map) +# DOCUMENTATION_END } diff --git a/examples/tsl_robin_map/boo.cpp b/examples/tsl_robin_map/boo.cpp new file mode 100644 index 0000000000..c72bdddf4e --- /dev/null +++ b/examples/tsl_robin_map/boo.cpp @@ -0,0 +1,5 @@ +#include + +int main() { + tsl::robin_map map = {{-1, 1}, {-2, 2}}; +} diff --git a/examples/utf8/CMakeLists.txt b/examples/utf8/CMakeLists.txt index 70a83a02f3..2fe2efa00d 100644 --- a/examples/utf8/CMakeLists.txt +++ b/examples/utf8/CMakeLists.txt @@ -11,8 +11,8 @@ project(download-utf8) # DOCUMENTATION_START { hunter_add_package(utf8) -find_package(utf8 CONFIG REQUIRED) +find_package(utf8cpp CONFIG REQUIRED) add_executable(boo boo.cpp) -target_link_libraries(boo PUBLIC utf8::utf8) +target_link_libraries(boo PUBLIC utf8cpp) # DOCUMENTATION_END } diff --git a/examples/utf8/boo.cpp b/examples/utf8/boo.cpp index 2796973736..c27f01aafc 100644 --- a/examples/utf8/boo.cpp +++ b/examples/utf8/boo.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include using namespace std; int main(int argc, char** argv) { diff --git a/examples/xatlas/CMakeLists.txt b/examples/xatlas/CMakeLists.txt new file mode 100644 index 0000000000..738ef80aaf --- /dev/null +++ b/examples/xatlas/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2020, Rahul Sheth, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-xatlas) + +# DOCUMENTATION_START { +hunter_add_package(xatlas) +find_package(xatlas CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC xatlas::xatlas) +# DOCUMENTATION_END } diff --git a/examples/xatlas/boo.cpp b/examples/xatlas/boo.cpp new file mode 100644 index 0000000000..ec1ac5a6e1 --- /dev/null +++ b/examples/xatlas/boo.cpp @@ -0,0 +1,8 @@ +#include // for size_t +#include + +#include + +int main() { + std::shared_ptr atlas = std::make_shared(); +} diff --git a/examples/yaml-cpp/CMakeLists.txt b/examples/yaml-cpp/CMakeLists.txt index 49849ff21d..7abd8dae78 100644 --- a/examples/yaml-cpp/CMakeLists.txt +++ b/examples/yaml-cpp/CMakeLists.txt @@ -12,4 +12,5 @@ find_package(yaml-cpp CONFIG REQUIRED) add_executable(parse parse.cpp) -target_link_libraries(parse yaml-cpp::yaml-cpp) + +target_link_libraries(parse yaml-cpp) \ No newline at end of file diff --git a/examples/zlog/CMakeLists.txt b/examples/zlog/CMakeLists.txt new file mode 100644 index 0000000000..542856468a --- /dev/null +++ b/examples/zlog/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2019, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-zlog) + +# DOCUMENTATION_START { +hunter_add_package(zlog) +find_package(zlog CONFIG REQUIRED) + +add_executable(boo boo.c) +target_link_libraries(boo PUBLIC zlog::zlog) +# DOCUMENTATION_END } diff --git a/examples/zlog/boo.c b/examples/zlog/boo.c new file mode 100644 index 0000000000..ccf99d91cb --- /dev/null +++ b/examples/zlog/boo.c @@ -0,0 +1,4 @@ +#include + +int main() { +} diff --git a/jenkins.py b/jenkins.py index bc90fb1417..7f9eec415a 100755 --- a/jenkins.py +++ b/jenkins.py @@ -206,6 +206,9 @@ def run(): subprocess.check_call(args) + cache_retry_count = 0 + max_cache_retry_count = 5 + if parsed_args.upload: seconds = 60 print( @@ -247,7 +250,13 @@ def run(): print(' `{}`'.format(i)) print(']') - subprocess.check_call(args) + while subprocess.call(args) and cache_retry_count < max_cache_retry_count: + print('Cache-only sanity check attempt {} failed...'.format(cache_retry_count)) + time.sleep(seconds) + cache_retry_count += 1 + + if cache_retry_count >= max_cache_retry_count: + exit(1) if __name__ == "__main__": run() diff --git a/maintenance/create_package.sh b/maintenance/create_package.sh new file mode 100644 index 0000000000..ca8122fe39 --- /dev/null +++ b/maintenance/create_package.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +PACKAGE_NAME=$1 +PACKAGE_VERSION=$2 +PACKAGE_URL=$3 + +if [[ "$OSTYPE" == "darwin"* ]]; then + SED_EXECUTABLE=gsed + if command -v $SED_EXECUTABLE > /dev/null 2>&1; then + echo "Found gsed" + else + echo "GNU sed not installed. Try brew install gsed." + exit 1 + fi +else + SED_EXECUTABLE=sed +fi + +echo "Creating package files for $PACKAGE_NAME" + +winpty wget $3 -O package.tar.gz +PACKAGE_SHA1=$(openssl sha1 package.tar.gz | $SED_EXECUTABLE 's/^.* //') +rm package.tar.gz + +cp -r cmake/projects/foo cmake/projects/$PACKAGE_NAME +$SED_EXECUTABLE -i "s,foo,$PACKAGE_NAME,g" cmake/projects/$PACKAGE_NAME/hunter.cmake +$SED_EXECUTABLE -i "s,\"https.*\",\"$PACKAGE_URL\",g" cmake/projects/$PACKAGE_NAME/hunter.cmake +$SED_EXECUTABLE -i "s,[1]\{40\},$PACKAGE_SHA1,g" cmake/projects/$PACKAGE_NAME/hunter.cmake +$SED_EXECUTABLE -i "s,1\.0\.0,$PACKAGE_VERSION,g" cmake/projects/$PACKAGE_NAME/hunter.cmake + +cp -r examples/foo examples/$PACKAGE_NAME +$SED_EXECUTABLE -i "s,foo,$PACKAGE_NAME,g" examples/$PACKAGE_NAME/* + +cp -r docs/packages/pkg/foo.rst docs/packages/pkg/$PACKAGE_NAME.rst +$SED_EXECUTABLE -i "s,foo,$PACKAGE_NAME,g" docs/packages/pkg/$PACKAGE_NAME.rst diff --git a/maintenance/fork_repo.sh b/maintenance/fork_repo.sh new file mode 100644 index 0000000000..e93b7f8a8f --- /dev/null +++ b/maintenance/fork_repo.sh @@ -0,0 +1,15 @@ +#!/bin/bash +GITHUB_PERSONAL_ACCESS_TOKEN=$1 +# Like cpp-pm +GITHUB_USER=$2 +# Like hunter +GITHUB_REPO=$3 +echo "Working on repo $GITHUB_REPO" +#fork to cpp-pm +curl -s -H "Authorization: token ${GITHUB_PERSONAL_ACCESS_TOKEN}" "https://api.github.com/repos/${GITHUB_USER}/${GITHUB_REPO}/forks" -d '{"organization":"cpp-pm"}' +#add cpp-pm-packages team to collaborators +curl -s -H "Authorization: token ${GITHUB_PERSONAL_ACCESS_TOKEN}" "https://api.github.com/orgs/cpp-pm/teams/cpp-pm-packages/repos/cpp-pm/${GITHUB_REPO}" -X PUT -d '{"permission":"push"}' +#add branch protection for master +curl -s -H 'Accept: application/vnd.github.luke-cage-preview+json' -H "Authorization: token ${GITHUB_PERSONAL_ACCESS_TOKEN}" "https://api.github.com/repos/cpp-pm/${GITHUB_REPO}/branches/master/protection" -X PUT -d '{"required_status_checks":null,"enforce_admins":true,"required_pull_request_reviews":{"required_approving_review_count":1},"restrictions":{"teams":[], "users":[]}}' +#add branch protection for hunter branches +curl -s -H "Authorization: token ${GITHUB_PERSONAL_ACCESS_TOKEN}" "https://api.github.com/repos/cpp-pm/${GITHUB_REPO}/branches" | jq .[][\"name\"] | grep hunter | xargs -I {} sh -c 'curl -H "Accept: application/vnd.github.luke-cage-preview+json" -H "Authorization: token ${GITHUB_PERSONAL_ACCESS_TOKEN}" "https://api.github.com/repos/cpp-pm/${GITHUB_REPO}/branches/{}/protection" -X PUT -d "{\"required_status_checks\":null,\"enforce_admins\":true,\"required_pull_request_reviews\":{\"required_approving_review_count\":1},\"restrictions\":{\"teams\":[], \"users\":[]}}"' diff --git a/maintenance/upload-password-template.cmake b/maintenance/upload-password-template.cmake index 9afd12fb62..3ce8c4beac 100644 --- a/maintenance/upload-password-template.cmake +++ b/maintenance/upload-password-template.cmake @@ -1,6 +1,6 @@ hunter_upload_password( - REPO_OWNER "ingenue" + REPO_OWNER "cpp-pm" REPO "hunter-cache" - USERNAME "ingenue" + USERNAME "cpp-pm-bot" PASSWORD "$ENV{GITHUB_USER_PASSWORD}" ) diff --git a/scripts/find_python.cmake b/scripts/find_python.cmake index 95e30034ac..a49156eac1 100644 --- a/scripts/find_python.cmake +++ b/scripts/find_python.cmake @@ -1,9 +1,13 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.12) -find_package(PythonInterp 3 QUIET) +if(DEFINED ENV{HUNTER_PYTHON_LOCATION}) + set(Python_ROOT_DIR $ENV{HUNTER_PYTHON_LOCATION}) +endif() + +find_package(Python COMPONENTS Interpreter QUIET) -if(NOT PYTHONINTERP_FOUND) +if(NOT Python_Interpreter_FOUND) message(FATAL_ERROR "Python not found") endif() -message(${PYTHON_EXECUTABLE}) +message(${Python_EXECUTABLE}) diff --git a/scripts/link-all.cmake b/scripts/link-all.cmake index f39ac1e38f..e3f8215a45 100644 --- a/scripts/link-all.cmake +++ b/scripts/link-all.cmake @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.12) string(COMPARE EQUAL "${HUNTER_INSTALL_PREFIX}" "" is_empty) if(is_empty) @@ -45,12 +45,19 @@ if(NOT EXISTS "${PYTHON_LINK_SCRIPT}") message(FATAL_ERROR "File not exists: ${PYTHON_LINK_SCRIPT}") endif() -find_package(PythonInterp 3 QUIET) -if(PYTHONINTERP_FOUND) - message("Link files using Python: ${PYTHON_EXECUTABLE}") +execute_process( + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_LIST_DIR}/find_python.cmake + RESULT_VARIABLE python_found_result + OUTPUT_VARIABLE python_path + ERROR_VARIABLE python_path + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +if(python_found_result EQUAL "0") + message("Link files using Python: ${python_path}") set( cmd - "${PYTHON_EXECUTABLE}" + "${python_path}" "${PYTHON_LINK_SCRIPT}" "--list" "${LIST_OF_FILES}" diff --git a/tests/hunter_download_cache_meta_file/CMakeLists.txt b/tests/hunter_download_cache_meta_file/CMakeLists.txt index a96b7f3f83..d2592c6f12 100644 --- a/tests/hunter_download_cache_meta_file/CMakeLists.txt +++ b/tests/hunter_download_cache_meta_file/CMakeLists.txt @@ -8,7 +8,7 @@ project(TestModuleHunterDownloadCacheMetaFile) include(hunter_download_cache_meta_file) -set(HUNTER_CACHE_SERVERS "https://github.com/ingenue/hunter-cache") +set(HUNTER_CACHE_SERVERS "https://github.com/cpp-pm/hunter-cache") set(HUNTER_CACHED_ROOT "${CMAKE_CURRENT_BINARY_DIR}/_HUNTER") set(local_done_good "${HUNTER_CACHED_ROOT}/_Base/Cache/meta/db260dd/GTest/1.8.0-hunter-p2/93148cb/da39a3e/a49b0e5/356a192/da39a3e/CACHE.DONE") @@ -42,7 +42,7 @@ endif() ### File already downloaded, ok even server is bad -set(HUNTER_CACHE_SERVERS "https://github.com/ingenue/bad-hunter-cache") +set(HUNTER_CACHE_SERVERS "https://github.com/cpp-pm/bad-hunter-cache") hunter_download_cache_meta_file(LOCAL "${local_sha1_good}" DONE "${local_done_good}") @@ -59,7 +59,7 @@ endif() file(REMOVE "${local_done_good}") file(REMOVE "${local_sha1_good}") -set(HUNTER_CACHE_SERVERS "https://github.com/ingenue/bad-hunter-cache") +set(HUNTER_CACHE_SERVERS "https://github.com/cpp-pm/bad-hunter-cache") hunter_download_cache_meta_file(LOCAL "${local_sha1_good}" DONE "${local_done_good}") diff --git a/tests/hunter_download_cache_raw_file/CMakeLists.txt b/tests/hunter_download_cache_raw_file/CMakeLists.txt index 2e3fb9e255..11a79f47b4 100644 --- a/tests/hunter_download_cache_raw_file/CMakeLists.txt +++ b/tests/hunter_download_cache_raw_file/CMakeLists.txt @@ -8,7 +8,7 @@ project(TestModuleHunterDownloadCacheRawFile) include(hunter_download_cache_raw_file) -set(HUNTER_CACHE_SERVERS "https://github.com/ingenue/hunter-cache") +set(HUNTER_CACHE_SERVERS "https://github.com/cpp-pm/hunter-cache") set(HUNTER_CACHED_ROOT "${CMAKE_CURRENT_BINARY_DIR}/_HUNTER") set(fromserver "${HUNTER_CACHED_ROOT}/from.server") @@ -34,7 +34,7 @@ endif() ### File already downloaded, ok even server is bad -set(HUNTER_CACHE_SERVERS "https://github.com/ingenue/bad-hunter-cache") +set(HUNTER_CACHE_SERVERS "https://github.com/cpp-pm/bad-hunter-cache") hunter_download_cache_raw_file(LOCAL "${local_good}" SHA1 "${sha1_good}" FROMSERVER "${fromserver}") @@ -46,7 +46,7 @@ endif() file(REMOVE "${local_good}") -set(HUNTER_CACHE_SERVERS "https://github.com/ingenue/bad-hunter-cache") +set(HUNTER_CACHE_SERVERS "https://github.com/cpp-pm/bad-hunter-cache") hunter_download_cache_raw_file(LOCAL "${local_good}" SHA1 "${sha1_good}" FROMSERVER "${fromserver}") diff --git a/tests/hunter_setup_msvc/CMakeLists.txt b/tests/hunter_setup_msvc/CMakeLists.txt index 40bc377c55..f70a2d39fa 100644 --- a/tests/hunter_setup_msvc/CMakeLists.txt +++ b/tests/hunter_setup_msvc/CMakeLists.txt @@ -8,16 +8,18 @@ project(TestModuleHunterSetupMsvcArch) include(hunter_setup_msvc) -function(run_check version architecture expected_arch expected_version expected_year) +function(run_check version architecture host_toolset expected_arch expected_host expected_target expected_version expected_year) message("--------") message("Run test") set(MSVC_VERSION "${version}") set(MSVC_CXX_ARCHITECTURE_ID "${architecture}") + set(CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE "${host_toolset}") message(" Input:") message(" MSVC_VERSION: ${MSVC_VERSION}") message(" MSVC_CXX_ARCHITECTURE_ID: ${MSVC_CXX_ARCHITECTURE_ID}") + message(" CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE: ${CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE}") message(" Expected output:") message(" HUNTER_MSVC_VERSION: ${HUNTER_MSVC_VERSION}") @@ -54,23 +56,35 @@ function(run_check version architecture expected_arch expected_version expected_ endif() endfunction() -run_check("1400" "X86" "x86" "8" "2005") -run_check("1500" "X86" "x86" "9" "2008") -run_check("1600" "X86" "x86" "10" "2010") -run_check("1700" "X86" "x86" "11" "2012") -run_check("1800" "X86" "x86" "12" "2013") -run_check("1900" "X86" "x86" "14" "2015") - -run_check("1400" "x64" "amd64" "8" "2005") -run_check("1500" "x64" "amd64" "9" "2008") -run_check("1600" "x64" "amd64" "10" "2010") -run_check("1700" "x64" "amd64" "11" "2012") -run_check("1800" "x64" "amd64" "12" "2013") -run_check("1900" "x64" "amd64" "14" "2015") - -run_check("1400" "ARMV7" "x86_arm" "8" "2005") -run_check("1500" "ARMV7" "x86_arm" "9" "2008") -run_check("1600" "ARMV7" "x86_arm" "10" "2010") -run_check("1700" "ARMV7" "x86_arm" "11" "2012") -run_check("1800" "ARMV7" "x86_arm" "12" "2013") -run_check("1900" "ARMV7" "x86_arm" "14" "2015") +run_check("1400" "X86" "" "x86" "x86" "x86" "8" "2005") +run_check("1500" "X86" "" "x86" "x86" "x86" "9" "2008") +run_check("1600" "X86" "" "x86" "x86" "x86" "10" "2010") +run_check("1700" "X86" "" "x86" "x86" "x86" "11" "2012") +run_check("1800" "X86" "" "x86" "x86" "x86" "12" "2013") +run_check("1900" "X86" "" "x86" "x86" "x86" "14" "2015") +run_check("1910" "X86" "" "x86" "x86" "x86" "15" "2017") +run_check("1920" "X86" "" "x86" "x86" "x86" "16" "2019") + +run_check("1400" "x64" "" "x86_amd64" "x86" "amd64" "8" "2005") +run_check("1500" "x64" "" "x86_amd64" "x86" "amd64" "9" "2008") +run_check("1600" "x64" "" "x86_amd64" "x86" "amd64" "10" "2010") +run_check("1700" "x64" "" "x86_amd64" "x86" "amd64" "11" "2012") +run_check("1800" "x64" "" "x86_amd64" "x86" "amd64" "12" "2013") +run_check("1900" "x64" "" "x86_amd64" "x86" "amd64" "14" "2015") +run_check("1910" "x64" "" "x86_amd64" "x86" "amd64" "15" "2017") +run_check("1920" "x64" "" "x86_amd64" "x86" "amd64" "16" "2019") +run_check("1920" "x64" "x64" "amd64" "amd64" "amd64" "16" "2019") + +run_check("1400" "ARMV7" "" "x86_arm" "x86" "arm" "8" "2005") +run_check("1500" "ARMV7" "" "x86_arm" "x86" "arm" "9" "2008") +run_check("1600" "ARMV7" "" "x86_arm" "x86" "arm" "10" "2010") +run_check("1700" "ARMV7" "" "x86_arm" "x86" "arm" "11" "2012") +run_check("1800" "ARMV7" "" "x86_arm" "x86" "arm" "12" "2013") +run_check("1900" "ARMV7" "" "x86_arm" "x86" "arm" "14" "2015") +run_check("1910" "ARMV7" "" "x86_arm" "x86" "arm" "15" "2017") +run_check("1920" "ARMV7" "" "x86_arm" "x86" "arm" "16" "2019") +run_check("1920" "ARMV7" "x64" "amd64_arm" "amd64" "arm" "16" "2019") + +run_check("1910" "ARM64" "" "x86_arm64" "x86" "arm64" "15" "2017") +run_check("1920" "ARM64" "" "x86_arm64" "x86" "arm64" "16" "2019") +run_check("1920" "ARM64" "x64" "amd64_arm64" "amd64" "arm64" "16" "2019")