From 29a651d5094c2455874876c813fbbfdc7500d952 Mon Sep 17 00:00:00 2001 From: Joe Eli McIlvain Date: Fri, 5 Nov 2021 20:53:40 -0700 Subject: [PATCH] Build as a universal binary on MacOSX. --- .cirrus.yml | 1320 ++++++++++++++++++++++---------------------- lib/CMakeLists.txt | 1 + 2 files changed, 661 insertions(+), 660 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 0e3f50a51e2..10e9d177427 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,124 +1,124 @@ -# -# Pull Request Tasks -# - -task: - only_if: $CIRRUS_PR != '' - - timeout_in: 120m - - matrix: - - name: "x86-64 Linux glibc" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 - environment: - IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 - - name: "x86-64 Linux musl" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 - environment: - IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 - - container: - cpu: 8 - memory: 4 - - libs_cache: - folder: build/libs - fingerprint_script: - - echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" - populate_script: make libs build_flags=-j8 - upload_caches: - - libs - - release_configure_script: - - make configure arch=x86-64 config=release - release_build_script: - - make build config=release - release_test_script: - - make test-ci config=release - debug_configure_script: - - make configure arch=x86-64 config=debug - debug_build_script: - - make build config=debug - debug_test_script: - - make test-ci config=debug - -task: - only_if: $CIRRUS_PR != '' - - timeout_in: 120m - - arm_container: - image: ponylang/ponyc-ci-aarch64-unknown-linux-ubuntu20.04-builder:20211003 - cpu: 8 - memory: 4 - - environment: - IMAGE: ponylang/ponyc-ci-aarch64-unknown-linux-ubuntu20.04-builder:20211003 - - name: "aarch64 Linux glibc" - - libs_cache: - folder: build/libs - fingerprint_script: echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" - populate_script: make libs build_flags=-j8 - upload_caches: - - libs - - release_configure_script: - - make configure arch=armv8-a config=release - release_build_script: - - make build config=release - release_test_script: - - make test-ci config=release - debug_configure_script: - - make configure arch=armv8-a config=debug - debug_build_script: - - make build config=debug - debug_test_script: - - make test-ci config=debug - -task: - only_if: $CIRRUS_PR != '' - - timeout_in: 120m - - freebsd_instance: - image: freebsd-13-0-release-amd64 - cpu: 8 - memory: 24 - - name: "x86-64 FreeBSD" - - os_configuration_script: - - sysctl net.inet.tcp.keepinit=1000 - - install_script: - - echo "FETCH_RETRY = 6" >> /usr/local/etc/pkg.conf - - echo "IGNORE_OSVERSION = yes" >> /usr/local/etc/pkg.conf - - pkg update - - pkg install -y cmake gmake libunwind git - - libs_cache: - folder: build/libs - fingerprint_script: echo "`md5 lib/CMakeLists.txt` freebsd-13.0 20210710" - populate_script: gmake libs build_flags=-j8 - upload_caches: - - libs - - release_configure_script: - - gmake configure arch=x86-64 config=release - release_build_script: - - gmake build config=release - release_test_script: - - gmake test-ci config=release - debug_configure_script: - - gmake configure arch=x86-64 config=debug - debug_build_script: - - gmake build config=debug - debug_test_script: - - gmake test-ci config=debug +# # +# # Pull Request Tasks +# # + +# task: +# only_if: $CIRRUS_PR != '' + +# timeout_in: 120m + +# matrix: +# - name: "x86-64 Linux glibc" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 +# environment: +# IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 +# - name: "x86-64 Linux musl" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 +# environment: +# IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 + +# container: +# cpu: 8 +# memory: 4 + +# libs_cache: +# folder: build/libs +# fingerprint_script: +# - echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" +# populate_script: make libs build_flags=-j8 +# upload_caches: +# - libs + +# release_configure_script: +# - make configure arch=x86-64 config=release +# release_build_script: +# - make build config=release +# release_test_script: +# - make test-ci config=release +# debug_configure_script: +# - make configure arch=x86-64 config=debug +# debug_build_script: +# - make build config=debug +# debug_test_script: +# - make test-ci config=debug + +# task: +# only_if: $CIRRUS_PR != '' + +# timeout_in: 120m + +# arm_container: +# image: ponylang/ponyc-ci-aarch64-unknown-linux-ubuntu20.04-builder:20211003 +# cpu: 8 +# memory: 4 + +# environment: +# IMAGE: ponylang/ponyc-ci-aarch64-unknown-linux-ubuntu20.04-builder:20211003 + +# name: "aarch64 Linux glibc" + +# libs_cache: +# folder: build/libs +# fingerprint_script: echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" +# populate_script: make libs build_flags=-j8 +# upload_caches: +# - libs + +# release_configure_script: +# - make configure arch=armv8-a config=release +# release_build_script: +# - make build config=release +# release_test_script: +# - make test-ci config=release +# debug_configure_script: +# - make configure arch=armv8-a config=debug +# debug_build_script: +# - make build config=debug +# debug_test_script: +# - make test-ci config=debug + +# task: +# only_if: $CIRRUS_PR != '' + +# timeout_in: 120m + +# freebsd_instance: +# image: freebsd-13-0-release-amd64 +# cpu: 8 +# memory: 24 + +# name: "x86-64 FreeBSD" + +# os_configuration_script: +# - sysctl net.inet.tcp.keepinit=1000 + +# install_script: +# - echo "FETCH_RETRY = 6" >> /usr/local/etc/pkg.conf +# - echo "IGNORE_OSVERSION = yes" >> /usr/local/etc/pkg.conf +# - pkg update +# - pkg install -y cmake gmake libunwind git + +# libs_cache: +# folder: build/libs +# fingerprint_script: echo "`md5 lib/CMakeLists.txt` freebsd-13.0 20210710" +# populate_script: gmake libs build_flags=-j8 +# upload_caches: +# - libs + +# release_configure_script: +# - gmake configure arch=x86-64 config=release +# release_build_script: +# - gmake build config=release +# release_test_script: +# - gmake test-ci config=release +# debug_configure_script: +# - gmake configure arch=x86-64 config=debug +# debug_build_script: +# - gmake build config=debug +# debug_test_script: +# - gmake test-ci config=debug task: only_if: $CIRRUS_PR != '' @@ -153,542 +153,542 @@ task: debug_test_script: - make test-ci config=debug -task: - only_if: $CIRRUS_PR != '' - - timeout_in: 120m - - windows_container: - image: ponylang/ponyc-ci-x86-64-pc-windows-msvc-builder:20210430 - os_version: 2019 - cpu: 8 - memory: 24 - - name: "x86-64 Windows MSVC" - - libs_cache: - folder: build/libs - fingerprint_script: - - ps: (Get-FileHash -Path lib\CMakeLists.txt).Hash + "Windows 20210430" - populate_script: - - ps: .\make.ps1 -Command libs -Generator "Visual Studio 16 2019" - upload_caches: - - libs - - release_config_script: - - ps: .\make.ps1 -Command configure -Config Release -Generator "Visual Studio 16 2019" - release_build_script: - - ps: .\make.ps1 -Command build -Config Release -Generator "Visual Studio 16 2019" - release_test_script: - - ps: .\make.ps1 -Command test -Config Release -Generator "Visual Studio 16 2019" - debug_config_script: - - ps: .\make.ps1 -Command configure -Config Debug -Generator "Visual Studio 16 2019" - debug_build_script: - - ps: .\make.ps1 -Command build -Config Debug -Generator "Visual Studio 16 2019" - debug_test_script: - - ps: .\make.ps1 -Command test -Config Debug -Generator "Visual Studio 16 2019" - -task: - only_if: $CIRRUS_PR != '' - - container: - image: ponylang/ponyc-ci-cross-arm:20210430 - cpu: 8 - memory: 6 - - environment: - IMAGE: ponylang/ponyc-ci-cross-arm:20210430 - - name: "arm Linux glibc" - - libs_cache: - folder: build/libs - fingerprint_script: echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" - populate_script: make libs build_flags=-j8 - upload_caches: - - libs - - configure_script: - - make configure - build_script: - - make build - test_script: - - make test-ci - libponyrt_cross_script: - - make cross-libponyrt CC=arm-linux-gnueabi-gcc CXX=arm-linux-gnueabi-g++ arch=armv7-a cross_cflags="-march=armv7-a -mtune=cortex-a9" cross_lflags="-O3;-march=arm" - test_stdlib_cross_script: - - make test-cross-ci PONYPATH=../armv7-a/release cross_triple=arm-unknown-linux-gnueabi cross_arch=armv7-a cross_cpu=cortex-a9 cross_linker=arm-linux-gnueabi-gcc cross_runner="qemu-arm-static -cpu cortex-a9 -L /usr/local/arm-linux-gnueabi/libc" - -task: - only_if: $CIRRUS_PR != '' - - container: - image: ponylang/ponyc-ci-cross-armhf:20210430 - cpu: 8 - memory: 6 - - environment: - IMAGE: ponylang/ponyc-ci-cross-armhf:20210430 - - name: "armhf Linux glibc" - - libs_cache: - folder: build/libs - fingerprint_script: echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" - populate_script: make libs build_flags=-j8 - upload_caches: - - libs - - configure_script: - - make configure - build_script: - - make build - test_script: - - make test-ci - libponyrt_cross_script: - - make cross-libponyrt CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ arch=armv7-a cross_cflags="-march=armv7-a -mtune=cortex-a9" cross_lflags="-O3;-march=arm" - test_stdlib_cross_script: - - make test-cross-ci PONYPATH=../armv7-a/release cross_triple=arm-unknown-linux-gnueabihf cross_arch=armv7-a cross_cpu=cortex-a9 cross_linker=arm-linux-gnueabihf-gcc cross_runner="qemu-arm-static -cpu cortex-a9 -L /usr/local/arm-linux-gnueabihf/libc" - -# -# Nightly build tasks -# - -task: - only_if: $CIRRUS_CRON == "nightly" - - timeout_in: 120m - - matrix: - - name: "nightly: x86-64-unknown-linux-rocky8" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-rocky8-builder:20210707 - environment: - CACHE_BUSTER: 20210707 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-rocky8 - - name: "nightly: x86-64-unknown-linux-centos8" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-centos8-builder:20210225 - environment: - CACHE_BUSTER: 20210225 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-centos8 - - name: "nightly: x86-64-unknown-linux-gnu" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-gnu-builder:20200423 - environment: - CACHE_BUSTER: 20210224 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-gnu - - name: "nightly: x86-64-unknown-linux-ubuntu18.04" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu18.04-builder:20210714 - environment: - CACHE_BUSTER: 20210714 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-ubuntu18.04 - - name: "nightly: x86-64-unknown-linux-ubuntu20.04" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 - environment: - CACHE_BUSTER: 20210224 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-ubuntu20.04 - - name: "nightly: x86-64-unknown-linux-ubuntu21.04" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu21.04-builder:20210920 - environment: - CACHE_BUSTER: 20210920 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-ubuntu21.04 - - name: "nightly: x86-64-unknown-linux-musl" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 - environment: - CACHE_BUSTER: 20210224 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-musl - - container: - cpu: 8 - memory: 4 - - environment: - CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] - - libs_cache: - folder: build/libs - fingerprint_script: - - echo "`md5sum lib/CMakeLists.txt` ${TRIPLE_VENDOR}-${TRIPLE_OS} ${CACHE_BUSTER}" - populate_script: make libs build_flags=-j8 - upload_caches: - - libs - - nightly_script: - - bash .ci-scripts/x86-64-nightly.bash - -task: - only_if: $CIRRUS_CRON == "nightly" - - timeout_in: 120m - - freebsd_instance: - image: freebsd-13-0-release-amd64 - cpu: 8 - memory: 24 - - name: "nightly: x86-64-unknown-freebsd-13.0" - - environment: - CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] - - install_script: - - echo "FETCH_RETRY = 6" >> /usr/local/etc/pkg.conf - - echo "IGNORE_OSVERSION = yes" >> /usr/local/etc/pkg.conf - - pkg update - - pkg install -y bash cmake gmake libunwind git py38-pip - - pip install --upgrade cloudsmith-cli - - libs_cache: - folder: build/libs - fingerprint_script: echo "`md5 lib/CMakeLists.txt` freebsd-13.0 20210710" - populate_script: gmake libs build_flags=-j8 - upload_caches: - - libs - - nightly_script: - - bash .ci-scripts/x86-64-unknown-freebsd-13.0-nightly.bash - -task: - only_if: $CIRRUS_CRON == "nightly" - - timeout_in: 120m - - osx_instance: - image: monterey-xcode-13.1 - - name: "nightly: x86-64-apple-darwin" - - environment: - TRIPLE_VENDOR: apple - TRIPLE_OS: darwin - CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] - - libs_cache: - folder: build/libs - fingerprint_script: echo "`md5 lib/CMakeLists.txt` macos monterey-xcode-13.1 20210710" - populate_script: make libs build_flags=-j12 - upload_caches: - - libs - - install_script: - - brew install coreutils python - - pip3 install --upgrade cloudsmith-cli - - nightly_script: - - export TZ=utc - - bash .ci-scripts/x86-64-nightly.bash - -task: - only_if: $CIRRUS_CRON == "nightly" - - timeout_in: 120m - - windows_container: - image: ponylang/ponyc-ci-x86-64-pc-windows-msvc-builder:20210430 - os_version: 2019 - cpu: 8 - memory: 24 - - name: "nightly: x86-64-pc-windows-msvc" - - environment: - CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] - - libs_cache: - folder: build/libs - fingerprint_script: - - ps: (Get-FileHash -Path lib\CMakeLists.txt).Hash + "Windows 20210430" - populate_script: - - ps: .\make.ps1 -Command libs -Generator "Visual Studio 16 2019" - upload_caches: - - libs - - config_script: - - ps: .\make.ps1 -Command configure -Config Release -Generator "Visual Studio 16 2019" -Prefix "build\install\release" -Version nightly - build_script: - - ps: .\make.ps1 -Command build -Config Release -Generator "Visual Studio 16 2019" -Prefix "build\install\release" -Version nightly - install_script: - - ps: .\make.ps1 -Command install -Config Release -Prefix "build\install\release" - package_script: - - ps: .\make.ps1 -Command package -Config Release -Prefix "build\install\release" -Version nightly - upload_script: - - ps: $version = (Get-Date).ToString("yyyyMMdd"); cloudsmith push raw --version $version --api-key $env:CLOUDSMITH_API_KEY --summary "Pony compiler" --description "https://github.com/ponylang/ponyc" ponylang/nightlies build\ponyc-x86-64-pc-windows-msvc.zip - -# -# Release build tasks -# - -task: - only_if: $CIRRUS_TAG =~ '^\d+\.\d+\.\d+$' - - timeout_in: 120m - - matrix: - - name: "release: x86-64-unknown-linux-rocky8" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-rocky8-builder:20210707 - environment: - CACHE_BUSTER: 20210707 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-rocky8 - - name: "release: x86-64-unknown-linux-centos8" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-centos8-builder:20210225 - environment: - CACHE_BUSTER: 20210225 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-centos8 - - name: "release: x86-64-unknown-linux-gnu" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-gnu-builder:20200423 - environment: - CACHE_BUSTER: 20200423 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-gnu - - name: "release: x86-64-unknown-linux-ubuntu18.04" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu18.04-builder:20210714 - environment: - CACHE_BUSTER: 20210714 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-ubuntu18.04 - - name: "release: x86-64-unknown-linux-ubuntu20.04" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 - environment: - CACHE_BUSTER: 20200830 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-ubuntu20.04 - - name: "release: x86-64-unknown-linux-ubuntu21.04" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu21.04-builder:20210920 - environment: - CACHE_BUSTER: 20210920 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-ubuntu21.04 - - name: "release: x86-64-unknown-linux-musl" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 - environment: - CACHE_BUSTER: 20200421 - TRIPLE_VENDOR: unknown - TRIPLE_OS: linux-musl - - container: - cpu: 8 - memory: 4 - - environment: - CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] - - libs_cache: - folder: build/libs - fingerprint_script: - - echo "`md5sum lib/CMakeLists.txt` ${TRIPLE_VENDOR}-${TRIPLE_OS} ${CACHE_BUSTER}" - populate_script: make libs build_flags=-j8 - upload_caches: - - libs - - release_script: - - bash .ci-scripts/x86-64-release.bash - -task: - only_if: $CIRRUS_TAG =~ '^\d+\.\d+\.\d+$' - - timeout_in: 120m - - freebsd_instance: - image: freebsd-13-0-release-amd64 - cpu: 8 - memory: 24 - - name: "release: x86-64-unknown-freebsd-13.0" - - environment: - CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] - - install_script: - - echo "FETCH_RETRY = 6" >> /usr/local/etc/pkg.conf - - echo "IGNORE_OSVERSION = yes" >> /usr/local/etc/pkg.conf - - pkg update - - pkg install -y bash cmake gmake libunwind git py38-pip - - pip install --upgrade cloudsmith-cli - - libs_cache: - folder: build/libs - fingerprint_script: echo "`md5 lib/CMakeLists.txt` freebsd-13.0 20210710" - populate_script: gmake libs build_flags=-j8 - upload_caches: - - libs - - release_script: - - bash .ci-scripts/x86-64-unknown-freebsd-13.0-release.bash - -task: - only_if: $CIRRUS_TAG =~ '^\d+\.\d+\.\d+$' - - timeout_in: 120m - - osx_instance: - image: monterey-xcode-13.1 - - name: "release: x86-64-apple-darwin" - - environment: - TRIPLE_VENDOR: apple - TRIPLE_OS: darwin - CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] - - libs_cache: - folder: build/libs - fingerprint_script: echo "`md5 lib/CMakeLists.txt` macos monterey-xcode-13.1 20210710" - populate_script: make libs build_flags=-j12 - upload_caches: - - libs - - install_script: - - brew install coreutils python - - pip3 install --upgrade cloudsmith-cli - - release_script: - - export TZ=utc - - bash .ci-scripts/x86-64-release.bash - -task: - only_if: $CIRRUS_TAG =~ '^\d+\.\d+\.\d+$' - - timeout_in: 120m - - windows_container: - image: ponylang/ponyc-ci-x86-64-pc-windows-msvc-builder:20210430 - os_version: 2019 - cpu: 8 - memory: 24 - - name: "release: x86-64-pc-windows-msvc" - - environment: - CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] - - libs_cache: - folder: build/libs - fingerprint_script: - - ps: (Get-FileHash -Path lib\CMakeLists.txt).Hash + "Windows 20210430" - populate_script: - - ps: .\make.ps1 -Command libs -Generator "Visual Studio 16 2019" - upload_caches: - - libs - - config_script: - - ps: .\make.ps1 -Command configure -Config Release -Generator "Visual Studio 16 2019" -Prefix "build\install\release" -Version (Get-Content .\VERSION) - build_script: - - ps: .\make.ps1 -Command build -Config Release -Generator "Visual Studio 16 2019" -Prefix "build\install\release" -Version (Get-Content .\VERSION) - install_script: - - ps: .\make.ps1 -Command install -Config Release -Prefix "build\install\release" - package_script: - - ps: .\make.ps1 -Command package -Config Release -Prefix "build\install\release" -Version (Get-Content .\VERSION) - upload_script: - - ps: $version = (Get-Content .\VERSION); cloudsmith push raw --version $version --api-key $env:CLOUDSMITH_API_KEY --summary "Pony compiler" --description "https://github.com/ponylang/ponyc" ponylang/releases build\ponyc-x86-64-pc-windows-msvc.zip - -# Nightly stress tests using message-ubench -task: - only_if: $CIRRUS_CRON == "stress" - - timeout_in: 120m - - matrix: - - name: "Stress Test: x86-64-unknown-linux-ubuntu20.04 [release]" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 - environment: - IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 - TARGET: test-stress-release - - name: "Stress Test: x86-64-unknown-linux-ubuntu20.04 [debug]" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 - environment: - IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 - TARGET: test-stress-debug - depends_on: - - "Stress Test: x86-64-unknown-linux-ubuntu20.04 [release]" - - name: "Stress Test: x86-64-unknown-linux-musl [release]" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 - environment: - IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 - TARGET: test-stress-release - - name: "Stress Test: x86-64-unknown-linux-musl [debug]" - container: - image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 - environment: - IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 - TARGET: test-stress-debug - depends_on: - - "Stress Test: x86-64-unknown-linux-musl [release]" - - container: - cpu: 8 - memory: 4 - - libs_cache: - folder: build/libs - fingerprint_script: - - echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" - populate_script: make libs build_flags=-j8 - upload_caches: - - libs - - configure_script: - - make configure config=debug - build_script: - - make build config=debug - stress_test_script: - - make ${TARGET} config=debug - -task: - only_if: $CIRRUS_CRON == "stress" - - timeout_in: 120m - - arm_container: - image: ponylang/ponyc-ci-aarch64-unknown-linux-ubuntu20.04-builder:20211003 - cpu: 8 - memory: 4 - - matrix: - - name: "Stress Test: aarch64-unknown-linux-ubuntu20.04 [release]" - environment: - IMAGE: ponylang/ponyc-ci-aarch64-unknown-linux-ubuntu20.04-builder:20211003 - TARGET: test-stress-release - - name: "Stress Test: aarch64-unknown-linux-ubuntu20.04 [debug]" - environment: - IMAGE: ponylang/ponyc-ci-aarch64-unknown-linux-ubuntu20.04-builder:20211003 - TARGET: test-stress-debug - depends_on: - - "Stress Test: aarch64-unknown-linux-ubuntu20.04 [release]" - - libs_cache: - folder: build/libs - fingerprint_script: echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" - populate_script: make libs build_flags=-j8 - upload_caches: - - libs - - configure_script: - - make configure arch=armv8-a config=debug - build_script: - - make build config=debug - stress_test_script: - - make ${TARGET} config=debug +# task: +# only_if: $CIRRUS_PR != '' + +# timeout_in: 120m + +# windows_container: +# image: ponylang/ponyc-ci-x86-64-pc-windows-msvc-builder:20210430 +# os_version: 2019 +# cpu: 8 +# memory: 24 + +# name: "x86-64 Windows MSVC" + +# libs_cache: +# folder: build/libs +# fingerprint_script: +# - ps: (Get-FileHash -Path lib\CMakeLists.txt).Hash + "Windows 20210430" +# populate_script: +# - ps: .\make.ps1 -Command libs -Generator "Visual Studio 16 2019" +# upload_caches: +# - libs + +# release_config_script: +# - ps: .\make.ps1 -Command configure -Config Release -Generator "Visual Studio 16 2019" +# release_build_script: +# - ps: .\make.ps1 -Command build -Config Release -Generator "Visual Studio 16 2019" +# release_test_script: +# - ps: .\make.ps1 -Command test -Config Release -Generator "Visual Studio 16 2019" +# debug_config_script: +# - ps: .\make.ps1 -Command configure -Config Debug -Generator "Visual Studio 16 2019" +# debug_build_script: +# - ps: .\make.ps1 -Command build -Config Debug -Generator "Visual Studio 16 2019" +# debug_test_script: +# - ps: .\make.ps1 -Command test -Config Debug -Generator "Visual Studio 16 2019" + +# task: +# only_if: $CIRRUS_PR != '' + +# container: +# image: ponylang/ponyc-ci-cross-arm:20210430 +# cpu: 8 +# memory: 6 + +# environment: +# IMAGE: ponylang/ponyc-ci-cross-arm:20210430 + +# name: "arm Linux glibc" + +# libs_cache: +# folder: build/libs +# fingerprint_script: echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" +# populate_script: make libs build_flags=-j8 +# upload_caches: +# - libs + +# configure_script: +# - make configure +# build_script: +# - make build +# test_script: +# - make test-ci +# libponyrt_cross_script: +# - make cross-libponyrt CC=arm-linux-gnueabi-gcc CXX=arm-linux-gnueabi-g++ arch=armv7-a cross_cflags="-march=armv7-a -mtune=cortex-a9" cross_lflags="-O3;-march=arm" +# test_stdlib_cross_script: +# - make test-cross-ci PONYPATH=../armv7-a/release cross_triple=arm-unknown-linux-gnueabi cross_arch=armv7-a cross_cpu=cortex-a9 cross_linker=arm-linux-gnueabi-gcc cross_runner="qemu-arm-static -cpu cortex-a9 -L /usr/local/arm-linux-gnueabi/libc" + +# task: +# only_if: $CIRRUS_PR != '' + +# container: +# image: ponylang/ponyc-ci-cross-armhf:20210430 +# cpu: 8 +# memory: 6 + +# environment: +# IMAGE: ponylang/ponyc-ci-cross-armhf:20210430 + +# name: "armhf Linux glibc" + +# libs_cache: +# folder: build/libs +# fingerprint_script: echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" +# populate_script: make libs build_flags=-j8 +# upload_caches: +# - libs + +# configure_script: +# - make configure +# build_script: +# - make build +# test_script: +# - make test-ci +# libponyrt_cross_script: +# - make cross-libponyrt CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ arch=armv7-a cross_cflags="-march=armv7-a -mtune=cortex-a9" cross_lflags="-O3;-march=arm" +# test_stdlib_cross_script: +# - make test-cross-ci PONYPATH=../armv7-a/release cross_triple=arm-unknown-linux-gnueabihf cross_arch=armv7-a cross_cpu=cortex-a9 cross_linker=arm-linux-gnueabihf-gcc cross_runner="qemu-arm-static -cpu cortex-a9 -L /usr/local/arm-linux-gnueabihf/libc" + +# # +# # Nightly build tasks +# # + +# task: +# only_if: $CIRRUS_CRON == "nightly" + +# timeout_in: 120m + +# matrix: +# - name: "nightly: x86-64-unknown-linux-rocky8" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-rocky8-builder:20210707 +# environment: +# CACHE_BUSTER: 20210707 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-rocky8 +# - name: "nightly: x86-64-unknown-linux-centos8" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-centos8-builder:20210225 +# environment: +# CACHE_BUSTER: 20210225 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-centos8 +# - name: "nightly: x86-64-unknown-linux-gnu" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-gnu-builder:20200423 +# environment: +# CACHE_BUSTER: 20210224 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-gnu +# - name: "nightly: x86-64-unknown-linux-ubuntu18.04" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu18.04-builder:20210714 +# environment: +# CACHE_BUSTER: 20210714 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-ubuntu18.04 +# - name: "nightly: x86-64-unknown-linux-ubuntu20.04" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 +# environment: +# CACHE_BUSTER: 20210224 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-ubuntu20.04 +# - name: "nightly: x86-64-unknown-linux-ubuntu21.04" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu21.04-builder:20210920 +# environment: +# CACHE_BUSTER: 20210920 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-ubuntu21.04 +# - name: "nightly: x86-64-unknown-linux-musl" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 +# environment: +# CACHE_BUSTER: 20210224 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-musl + +# container: +# cpu: 8 +# memory: 4 + +# environment: +# CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] + +# libs_cache: +# folder: build/libs +# fingerprint_script: +# - echo "`md5sum lib/CMakeLists.txt` ${TRIPLE_VENDOR}-${TRIPLE_OS} ${CACHE_BUSTER}" +# populate_script: make libs build_flags=-j8 +# upload_caches: +# - libs + +# nightly_script: +# - bash .ci-scripts/x86-64-nightly.bash + +# task: +# only_if: $CIRRUS_CRON == "nightly" + +# timeout_in: 120m + +# freebsd_instance: +# image: freebsd-13-0-release-amd64 +# cpu: 8 +# memory: 24 + +# name: "nightly: x86-64-unknown-freebsd-13.0" + +# environment: +# CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] + +# install_script: +# - echo "FETCH_RETRY = 6" >> /usr/local/etc/pkg.conf +# - echo "IGNORE_OSVERSION = yes" >> /usr/local/etc/pkg.conf +# - pkg update +# - pkg install -y bash cmake gmake libunwind git py38-pip +# - pip install --upgrade cloudsmith-cli + +# libs_cache: +# folder: build/libs +# fingerprint_script: echo "`md5 lib/CMakeLists.txt` freebsd-13.0 20210710" +# populate_script: gmake libs build_flags=-j8 +# upload_caches: +# - libs + +# nightly_script: +# - bash .ci-scripts/x86-64-unknown-freebsd-13.0-nightly.bash + +# task: +# only_if: $CIRRUS_CRON == "nightly" + +# timeout_in: 120m + +# osx_instance: +# image: monterey-xcode-13.1 + +# name: "nightly: x86-64-apple-darwin" + +# environment: +# TRIPLE_VENDOR: apple +# TRIPLE_OS: darwin +# CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] + +# libs_cache: +# folder: build/libs +# fingerprint_script: echo "`md5 lib/CMakeLists.txt` macos monterey-xcode-13.1 20210710" +# populate_script: make libs build_flags=-j12 +# upload_caches: +# - libs + +# install_script: +# - brew install coreutils python +# - pip3 install --upgrade cloudsmith-cli + +# nightly_script: +# - export TZ=utc +# - bash .ci-scripts/x86-64-nightly.bash + +# task: +# only_if: $CIRRUS_CRON == "nightly" + +# timeout_in: 120m + +# windows_container: +# image: ponylang/ponyc-ci-x86-64-pc-windows-msvc-builder:20210430 +# os_version: 2019 +# cpu: 8 +# memory: 24 + +# name: "nightly: x86-64-pc-windows-msvc" + +# environment: +# CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] + +# libs_cache: +# folder: build/libs +# fingerprint_script: +# - ps: (Get-FileHash -Path lib\CMakeLists.txt).Hash + "Windows 20210430" +# populate_script: +# - ps: .\make.ps1 -Command libs -Generator "Visual Studio 16 2019" +# upload_caches: +# - libs + +# config_script: +# - ps: .\make.ps1 -Command configure -Config Release -Generator "Visual Studio 16 2019" -Prefix "build\install\release" -Version nightly +# build_script: +# - ps: .\make.ps1 -Command build -Config Release -Generator "Visual Studio 16 2019" -Prefix "build\install\release" -Version nightly +# install_script: +# - ps: .\make.ps1 -Command install -Config Release -Prefix "build\install\release" +# package_script: +# - ps: .\make.ps1 -Command package -Config Release -Prefix "build\install\release" -Version nightly +# upload_script: +# - ps: $version = (Get-Date).ToString("yyyyMMdd"); cloudsmith push raw --version $version --api-key $env:CLOUDSMITH_API_KEY --summary "Pony compiler" --description "https://github.com/ponylang/ponyc" ponylang/nightlies build\ponyc-x86-64-pc-windows-msvc.zip + +# # +# # Release build tasks +# # + +# task: +# only_if: $CIRRUS_TAG =~ '^\d+\.\d+\.\d+$' + +# timeout_in: 120m + +# matrix: +# - name: "release: x86-64-unknown-linux-rocky8" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-rocky8-builder:20210707 +# environment: +# CACHE_BUSTER: 20210707 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-rocky8 +# - name: "release: x86-64-unknown-linux-centos8" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-centos8-builder:20210225 +# environment: +# CACHE_BUSTER: 20210225 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-centos8 +# - name: "release: x86-64-unknown-linux-gnu" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-gnu-builder:20200423 +# environment: +# CACHE_BUSTER: 20200423 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-gnu +# - name: "release: x86-64-unknown-linux-ubuntu18.04" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu18.04-builder:20210714 +# environment: +# CACHE_BUSTER: 20210714 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-ubuntu18.04 +# - name: "release: x86-64-unknown-linux-ubuntu20.04" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 +# environment: +# CACHE_BUSTER: 20200830 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-ubuntu20.04 +# - name: "release: x86-64-unknown-linux-ubuntu21.04" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu21.04-builder:20210920 +# environment: +# CACHE_BUSTER: 20210920 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-ubuntu21.04 +# - name: "release: x86-64-unknown-linux-musl" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 +# environment: +# CACHE_BUSTER: 20200421 +# TRIPLE_VENDOR: unknown +# TRIPLE_OS: linux-musl + +# container: +# cpu: 8 +# memory: 4 + +# environment: +# CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] + +# libs_cache: +# folder: build/libs +# fingerprint_script: +# - echo "`md5sum lib/CMakeLists.txt` ${TRIPLE_VENDOR}-${TRIPLE_OS} ${CACHE_BUSTER}" +# populate_script: make libs build_flags=-j8 +# upload_caches: +# - libs + +# release_script: +# - bash .ci-scripts/x86-64-release.bash + +# task: +# only_if: $CIRRUS_TAG =~ '^\d+\.\d+\.\d+$' + +# timeout_in: 120m + +# freebsd_instance: +# image: freebsd-13-0-release-amd64 +# cpu: 8 +# memory: 24 + +# name: "release: x86-64-unknown-freebsd-13.0" + +# environment: +# CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] + +# install_script: +# - echo "FETCH_RETRY = 6" >> /usr/local/etc/pkg.conf +# - echo "IGNORE_OSVERSION = yes" >> /usr/local/etc/pkg.conf +# - pkg update +# - pkg install -y bash cmake gmake libunwind git py38-pip +# - pip install --upgrade cloudsmith-cli + +# libs_cache: +# folder: build/libs +# fingerprint_script: echo "`md5 lib/CMakeLists.txt` freebsd-13.0 20210710" +# populate_script: gmake libs build_flags=-j8 +# upload_caches: +# - libs + +# release_script: +# - bash .ci-scripts/x86-64-unknown-freebsd-13.0-release.bash + +# task: +# only_if: $CIRRUS_TAG =~ '^\d+\.\d+\.\d+$' + +# timeout_in: 120m + +# osx_instance: +# image: monterey-xcode-13.1 + +# name: "release: x86-64-apple-darwin" + +# environment: +# TRIPLE_VENDOR: apple +# TRIPLE_OS: darwin +# CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] + +# libs_cache: +# folder: build/libs +# fingerprint_script: echo "`md5 lib/CMakeLists.txt` macos monterey-xcode-13.1 20210710" +# populate_script: make libs build_flags=-j12 +# upload_caches: +# - libs + +# install_script: +# - brew install coreutils python +# - pip3 install --upgrade cloudsmith-cli + +# release_script: +# - export TZ=utc +# - bash .ci-scripts/x86-64-release.bash + +# task: +# only_if: $CIRRUS_TAG =~ '^\d+\.\d+\.\d+$' + +# timeout_in: 120m + +# windows_container: +# image: ponylang/ponyc-ci-x86-64-pc-windows-msvc-builder:20210430 +# os_version: 2019 +# cpu: 8 +# memory: 24 + +# name: "release: x86-64-pc-windows-msvc" + +# environment: +# CLOUDSMITH_API_KEY: ENCRYPTED[!2cb1e71c189cabf043ac3a9030b3c7708f9c4c983c86d07372ae58ad246a07c54e40810d038d31c3cf3ed8888350caca!] + +# libs_cache: +# folder: build/libs +# fingerprint_script: +# - ps: (Get-FileHash -Path lib\CMakeLists.txt).Hash + "Windows 20210430" +# populate_script: +# - ps: .\make.ps1 -Command libs -Generator "Visual Studio 16 2019" +# upload_caches: +# - libs + +# config_script: +# - ps: .\make.ps1 -Command configure -Config Release -Generator "Visual Studio 16 2019" -Prefix "build\install\release" -Version (Get-Content .\VERSION) +# build_script: +# - ps: .\make.ps1 -Command build -Config Release -Generator "Visual Studio 16 2019" -Prefix "build\install\release" -Version (Get-Content .\VERSION) +# install_script: +# - ps: .\make.ps1 -Command install -Config Release -Prefix "build\install\release" +# package_script: +# - ps: .\make.ps1 -Command package -Config Release -Prefix "build\install\release" -Version (Get-Content .\VERSION) +# upload_script: +# - ps: $version = (Get-Content .\VERSION); cloudsmith push raw --version $version --api-key $env:CLOUDSMITH_API_KEY --summary "Pony compiler" --description "https://github.com/ponylang/ponyc" ponylang/releases build\ponyc-x86-64-pc-windows-msvc.zip + +# # Nightly stress tests using message-ubench +# task: +# only_if: $CIRRUS_CRON == "stress" + +# timeout_in: 120m + +# matrix: +# - name: "Stress Test: x86-64-unknown-linux-ubuntu20.04 [release]" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 +# environment: +# IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 +# TARGET: test-stress-release +# - name: "Stress Test: x86-64-unknown-linux-ubuntu20.04 [debug]" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 +# environment: +# IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20200830 +# TARGET: test-stress-debug +# depends_on: +# - "Stress Test: x86-64-unknown-linux-ubuntu20.04 [release]" +# - name: "Stress Test: x86-64-unknown-linux-musl [release]" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 +# environment: +# IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 +# TARGET: test-stress-release +# - name: "Stress Test: x86-64-unknown-linux-musl [debug]" +# container: +# image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 +# environment: +# IMAGE: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20210420 +# TARGET: test-stress-debug +# depends_on: +# - "Stress Test: x86-64-unknown-linux-musl [release]" + +# container: +# cpu: 8 +# memory: 4 + +# libs_cache: +# folder: build/libs +# fingerprint_script: +# - echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" +# populate_script: make libs build_flags=-j8 +# upload_caches: +# - libs + +# configure_script: +# - make configure config=debug +# build_script: +# - make build config=debug +# stress_test_script: +# - make ${TARGET} config=debug + +# task: +# only_if: $CIRRUS_CRON == "stress" + +# timeout_in: 120m + +# arm_container: +# image: ponylang/ponyc-ci-aarch64-unknown-linux-ubuntu20.04-builder:20211003 +# cpu: 8 +# memory: 4 + +# matrix: +# - name: "Stress Test: aarch64-unknown-linux-ubuntu20.04 [release]" +# environment: +# IMAGE: ponylang/ponyc-ci-aarch64-unknown-linux-ubuntu20.04-builder:20211003 +# TARGET: test-stress-release +# - name: "Stress Test: aarch64-unknown-linux-ubuntu20.04 [debug]" +# environment: +# IMAGE: ponylang/ponyc-ci-aarch64-unknown-linux-ubuntu20.04-builder:20211003 +# TARGET: test-stress-debug +# depends_on: +# - "Stress Test: aarch64-unknown-linux-ubuntu20.04 [release]" + +# libs_cache: +# folder: build/libs +# fingerprint_script: echo "`md5sum lib/CMakeLists.txt` ${IMAGE}" +# populate_script: make libs build_flags=-j8 +# upload_caches: +# - libs + +# configure_script: +# - make configure arch=armv8-a config=debug +# build_script: +# - make build config=debug +# stress_test_script: +# - make ${TARGET} config=debug diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index b332b49b660..683fb161c03 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -129,6 +129,7 @@ set(LLVM_ENABLE_ZLIB OFF) set(LLVM_ENABLE_ZLIB:STRING OFF) if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Darwin") + set(CMAKE_OSX_ARCHITECTURES “x86_64;arm64") # build as a "universal binary" set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.14 -DUSE_SCHEDULER_SCALING_PTHREADS") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -mmacosx-version-min=10.14") endif()