Skip to content

Fix build with newer CMake and LLVM versions. #41

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 178 commits into from
May 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
178 commits
Select commit Hold shift + click to select a range
a7a516f
Initial commit
Orphis Dec 23, 2016
4738af0
Standalone build detection
Orphis Dec 24, 2016
cd48f7d
Detect invalid BOOST_SOURCE folders
Orphis Dec 24, 2016
3d1fd4a
Boost version detection
Orphis Dec 24, 2016
c49f3f2
Add README and LICENSE
Orphis Dec 24, 2016
5b6b18a
Fix error detection in download logic
Orphis Dec 26, 2016
714ef3d
Add Boost Exception library
Orphis Dec 26, 2016
5cbc4d0
Add Boost Graph library
Orphis Dec 26, 2016
a2ac68a
Add Boost Serialization library
Orphis Dec 26, 2016
12eea54
Fix Boost Test
Orphis Dec 26, 2016
d7ebcf0
Change library output name to make Boost release
Orphis Dec 26, 2016
d410800
Upgrade to Boost 1.63
Orphis Dec 28, 2016
7b42d3c
Add signals library
Orphis Dec 28, 2016
de904d9
Add type_erasure library
Orphis Dec 28, 2016
44afa7b
Add wave library
Orphis Dec 28, 2016
c5bb579
Comment missing modules
Orphis Dec 28, 2016
49aa0ab
Add math library
Orphis Dec 28, 2016
30686e0
Add complex library
Orphis Dec 28, 2016
adc4bee
Add coroutine library
Orphis Dec 28, 2016
987436e
Add fiber library
Orphis Dec 28, 2016
c18c765
Add mph and graph_parallel
Orphis Dec 28, 2016
22451f7
Add TravisCI support
Orphis Dec 28, 2016
d9498d6
Add TravisCI build status tag to README.md
Orphis Dec 28, 2016
e3034c1
Add iOS support to Travis
Orphis Dec 29, 2016
c626c20
Add support for ccache in standalone builds
Orphis Dec 29, 2016
4effcf7
Fix context library
Orphis Jan 1, 2017
1dbfcad
Add missing file in UTF
Orphis Jan 1, 2017
75d8671
Add missing dependency to thread
Orphis Jan 1, 2017
af966d7
When building standalone, don’t setup any configuration
Orphis Jan 1, 2017
d39283c
Target iOS 9.0 for the fiber library
Orphis Jan 1, 2017
fe127fa
Update CMAKE_MODULE_PATH
Zer0xFF Jan 6, 2017
32c7897
Merge pull request #10 from Thunder07/patch-2
Orphis Jan 6, 2017
a68a8b9
context.cmake fix typo
Thunder07 Jan 7, 2017
29117c6
Merge pull request #11 from Thunder07/patch-3
Orphis Jan 8, 2017
08ef074
Fix Android ASM compilation
Orphis Jan 3, 2017
1695fc1
Don't link chrono against RT on Android
Orphis Jan 4, 2017
fd25209
Add missing dependency on system in filesystem
Orphis Dec 29, 2016
2545253
Add missing dependency on system in random
Orphis Jan 3, 2017
c2d0bdd
Fix CheckPreprocessor cache
Orphis Jan 4, 2017
82bcebc
Ignore all build* folders
Orphis Jan 9, 2017
328b3f1
Save downloaded archive to a file with same name
Orphis Jan 10, 2017
6a8fd7a
Add script to repack Boost, patch it and remove extra files
Orphis Jan 10, 2017
67125f3
Change ignore for downloaded archive to match tar.xz
Orphis Jan 10, 2017
dde8368
Point default download to repackaged Boost
Orphis Jan 10, 2017
8c8a4b4
Add more missing dependencies
Orphis Jan 10, 2017
53ec3ce
Switch TravisCI to Xcode 8.2
Orphis Jan 10, 2017
f030568
Add Appveyor CI
Orphis Jan 11, 2017
695cdd1
Add function for wrapping tests
Orphis Dec 29, 2016
7be27a1
Add filesystem tests
Orphis Jan 10, 2017
d95c9b3
Add system tests
Orphis Dec 29, 2016
05f3566
Add atomic tests
Orphis Jan 1, 2017
019f0a3
Add context tests
Orphis Jan 1, 2017
8b78e4d
Add container tests
Orphis Jan 1, 2017
d797a6c
Add coroutine tests
Orphis Jan 1, 2017
992b008
Add some date_time tests
Orphis Jan 1, 2017
1e0c5ff
Add exception tests
Orphis Jan 3, 2017
045eb30
Add program_options test
Orphis Jan 3, 2017
2ccafe7
Add random tests
Orphis Jan 10, 2017
d311bf1
Add fiber tests
Orphis Jan 3, 2017
9a497e0
Set /bigobj on tests for Windows
Orphis Jan 11, 2017
7291d4b
Use GCC 5 on Linux
Orphis Jan 11, 2017
11db9c3
Merge pull request #14 from Orphis/tests
Orphis Jan 11, 2017
6b8a1c5
Fix message() call to output to stdout
Orphis Jan 15, 2017
49feef5
Properly expose/hide variables in cache
Orphis Jan 15, 2017
9d2825c
Bump CMake to 3.7.2 in Travis / Linux
Orphis Jan 15, 2017
8315a11
Fix ccache
Orphis Jan 15, 2017
f8da081
Update to NDK r13b
Orphis Jan 15, 2017
64c30ee
Add locale library
Orphis Jan 15, 2017
313fd02
Split top level build script in many files
Orphis Jan 15, 2017
9a717f3
Add tests and support for zlib and bzip2 in iostreams
Orphis Jan 16, 2017
84760e7
Add FreeBSD support in context
Orphis Jan 17, 2017
aae6f9c
Switch hardcoded -pthread to find_package(Threads) instead
Orphis Jan 17, 2017
3ae7309
Fixed invalid reference to parallel source file.
tijme Mar 16, 2017
3393359
android: Upgrade to NDK r14b
Orphis Mar 27, 2017
126a73b
Put Boost libraries and tests into IDE folders
Orphis Mar 29, 2017
13af761
Use check_cxx_symbol_exists in check_preprocessor
Orphis Feb 1, 2017
e697dda
Add documentation for fetching an alternate Boost archive
Orphis Apr 20, 2017
552ddad
Add Boost Log library
Orphis Jan 17, 2017
3be447a
Update to Boost 1.64.0
Orphis Apr 22, 2017
2cc6dc9
Point repack script to 1.64.0
Orphis Apr 22, 2017
e7ed1f4
Disable failing test in Boost locale with 1.64 on macOS
Orphis Apr 20, 2017
9c768db
Use /W0
ekmett Apr 27, 2017
341d3a3
Allow using a local directory to find boost archives
rcdailey Jul 25, 2017
7bfe14b
Build with Visual Studio 2015 and 2017
Orphis Jun 14, 2017
6c418d1
Split up BOOST_LIBS into _OPTIONAL & _REQUIRED lists (currently only …
helmesjo Sep 12, 2017
9bc12ea
Updated to Boost 1.67.0
Jul 13, 2018
935842a
Use repacked version of Boost 1.67.0
Orphis Jul 16, 2018
e6238d8
CMake: Add cache option to disable building of test targets (#55)
rcdailey Aug 8, 2018
7eed698
Fix embarrassing typo
Orphis Sep 5, 2018
7ab9b2c
first commit
janbar Sep 4, 2018
6aaf7e9
cmake project for openssl-1.1.0
janbar Sep 4, 2018
2c473a0
1.1.1
janbar Oct 18, 2018
6cae768
Set up CI with Azure Pipelines
Orphis Dec 18, 2018
c9d36e9
Bump CMake requirement to 3.12 (#62)
Orphis Dec 21, 2018
d04f7df
Upgrade to 1.69.0 (#67)
Orphis Dec 21, 2018
9f6fc8e
Fix issue with -isystem when compiling swift code. (#72)
gegles Dec 21, 2018
01159ea
Allow BOOST_LIBS_OPTIONAL to be overwritten by user. (#73)
gegles Dec 21, 2018
14e68fb
Change some set_target_properties to target_compile_definitions() (#74)
Orphis Dec 23, 2018
377debf
Use FetchContent to download Boost sources (#68)
Orphis Dec 24, 2018
f0f64ad
Corrent FETCHCONTENT_SOURCE_DIR_boost
WenbinHou Jan 10, 2019
89a8513
cmake project for openssl-1.1.1
janbar Nov 3, 2018
8dd6f09
Merge pull request #2 from janbar/openssl-1.1.1
janbar Jan 19, 2019
528fb6d
fix build for arm platform
janbar Jan 19, 2019
60fb5fa
Upgrade to Boost 1.70.0
Orphis Apr 13, 2019
6f5bfe4
add support for MSVC compiler
awakecoding May 6, 2019
d9afd24
fix import of the project
janbar May 6, 2019
49fea9b
1.1.1b
janbar May 9, 2019
c7125b1
cmake project for openssl-1.1.1b
janbar May 9, 2019
5dbc3e6
Merge pull request #4 from janbar/openssl-1.1.1b
janbar May 9, 2019
6229955
Print a message before/after fetching Boost
viettrungluu Jun 11, 2019
d3951bc
Bump default to Boost 1.71
gegles Aug 23, 2019
93753d4
android: adding openssl support for qt-5.12
janbar Nov 29, 2019
3251ab8
WINDOWS: fix build
janbar Dec 1, 2019
c91f710
WINDOWS: rename output
janbar Dec 1, 2019
ca61566
revert part of commit 3251ab8531bb5b0b45e929b20276c4fb8bdd2fba
janbar Dec 2, 2019
02f5d02
1.1.1d
janbar Dec 2, 2019
f4047cd
configure dso
janbar Dec 2, 2019
1f65a70
fix cpack filename
janbar Dec 2, 2019
687509a
Merge pull request #9 from janbar/1.1.1d
janbar Dec 2, 2019
bed6189
cleanup cpack config
janbar Dec 3, 2019
9604d56
target include directories
janbar Dec 4, 2019
7fff13c
fill build info
janbar Dec 4, 2019
05c6611
add missed definitions
janbar Dec 8, 2019
a0c90e8
oops revert a redefinition
janbar Dec 8, 2019
f0d9bcb
MSVC: don't erase CXX flags with C flags
janbar Feb 9, 2020
1982986
1.1.1e
janbar Mar 19, 2020
ac7f4fd
update project cmake for 1.1.1e
janbar Mar 19, 2020
8ffd927
1.1.1g
janbar May 10, 2020
70b12f6
Update macOS image name
Orphis Jul 7, 2020
285dc66
1.1.1k
janbar Apr 26, 2021
9e6f852
update project cmake for 1.1.1k
janbar Apr 26, 2021
7f97a08
Update CMakeLists.txt
charliekang Apr 27, 2021
6f5223c
do not create target uninstall for subproject
janbar Apr 30, 2021
40cb41d
Modified boost source
raaidrt Jul 9, 2021
77da06e
1.1.1m
janbar Jan 21, 2022
e022417
fix apps link on SunOS
janbar Jan 30, 2022
5e264ed
OpenSSL 1.1.1n
Mar 18, 2022
d463436
Merge pull request #27 from ekcdd/master
janbar Mar 27, 2022
8767895
1.1.1s
janbar Dec 1, 2022
66771b2
Initial commit
reubenyap Dec 19, 2022
f3a8ac7
First commit
levonpetrosyan93 Dec 26, 2022
4d10978
fix #31
janbar Feb 15, 2023
392d455
1.1.1t
janbar Feb 16, 2023
74f650a
Aligned with main repository
levonpetrosyan93 Apr 24, 2023
96a5bdd
Add some spend related apis
levonpetrosyan93 Apr 24, 2023
0a6e37c
Adding full api test and more functions
levonpetrosyan93 May 1, 2023
03a5452
Update CMakeLists.txt
gmh5225 Jul 31, 2023
20ee911
Sync with main repo
levonpetrosyan93 Aug 21, 2023
cfbbb7c
Full Spark spend creation implemented
levonpetrosyan93 Aug 28, 2023
ef2e39a
Small refactor
levonpetrosyan93 Sep 18, 2023
de86567
1.1.1w
janbar Nov 12, 2023
d23fc49
fix cmake project 1.1.1w
janbar Nov 12, 2023
434e1aa
Merge pull request #32 from gmh5225/master
janbar Nov 12, 2023
da217f1
configure the package config file openssl.pc
janbar Nov 30, 2023
13348a6
Typo fix
levonpetrosyan93 Dec 21, 2023
c6297b5
Sync with main repo
levonpetrosyan93 Jan 10, 2024
19a6219
Sync with main repo
levonpetrosyan93 Feb 9, 2024
a1c6bc5
return spent coins
levonpetrosyan93 Feb 9, 2024
3899f66
Script for spark name (#3)
levoncrypto Feb 19, 2025
a509192
Crash on ios fixed
levonpetrosyan93 Mar 15, 2025
a55ad17
Fix compilation (#4)
julian-CStack Mar 24, 2025
0ba8805
Test for spark name script (#5)
levoncrypto Mar 24, 2025
c207336
Refactore to match spark name changes
levonpetrosyan93 May 9, 2025
f38d67d
update header to match impl (#6)
julian-CStack May 10, 2025
1a258d7
Delete boost-cmake submodule in preparation of adding it as a subtree.
cassandras-lies May 13, 2025
eabc160
Add 'src/deps/boost-cmake/' from commit '40cb41d86eab0d7fdc18af4b04b7…
cassandras-lies May 13, 2025
65e2605
Delete openssl-cmake submodule in preparation of adding it as a subtree.
cassandras-lies May 13, 2025
e5db720
Add 'src/deps/openssl-cmake/' from commit 'da217f13d734fe51ccc2d9b986…
cassandras-lies May 13, 2025
bf6fbaa
Allow compilation of boost-cmake using CMake 4 and Clang 17.
cassandras-lies May 13, 2025
5363ab0
Allow compilation of openssl-cmake using CMake 4 and Clang 17.
cassandras-lies May 13, 2025
dbb31d4
Delete sparkmobile submodule in preparation of adding it as a subtree.
cassandras-lies May 13, 2025
5286b1d
Add 'src/deps/sparkmobile/' from commit 'f38d67de131d263c9a8770a54498…
cassandras-lies May 13, 2025
28d67e6
Add CMakeLists.txt to sparkmobile.
cassandras-lies May 13, 2025
dcbb13b
Add pthread boost patch.
cassandras-lies May 13, 2025
3727364
Remove now useless prebuild scripts.
cassandras-lies May 13, 2025
3519bca
Remove old macOS/iOS patch scripts.
cassandras-lies May 13, 2025
19d9cb0
Fix secp256k1 compilation on Windows.
cassandras-lies May 13, 2025
b716acc
Merge branch 'main' into fix-build
cassandras-lies May 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
10 changes: 0 additions & 10 deletions .gitmodules

This file was deleted.

4 changes: 1 addition & 3 deletions ios/flutter_libsparkmobile.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@ A new Flutter project.
s.author = { 'Your Company' => 'email@example.com' }

s.source = { :path => '.' }
s.prepare_command = <<-CMD
"./run_build.sh"
CMD

s.vendored_frameworks = 'flutter_libsparkmobile.framework'
s.dependency 'Flutter'
s.platform = :ios, '11.0'
Expand Down
4 changes: 1 addition & 3 deletions macos/flutter_libsparkmobile.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@ A new Flutter project.
s.author = { 'Your Company' => 'email@example.com' }

s.source = { :path => '.' }
s.prepare_command = <<-CMD
"./run_build.sh"
CMD

s.vendored_frameworks = 'flutter_libsparkmobile.framework'
s.dependency 'FlutterMacOS'

Expand Down
6 changes: 0 additions & 6 deletions macos/run_build.sh

This file was deleted.

21 changes: 0 additions & 21 deletions scripts/prebuild.bat

This file was deleted.

14 changes: 0 additions & 14 deletions scripts/prebuild.sh

This file was deleted.

674 changes: 0 additions & 674 deletions src/deps/CMakeLists/sparkmobile/LICENSE

This file was deleted.

1 change: 0 additions & 1 deletion src/deps/boost-cmake
Submodule boost-cmake deleted from 40cb41
5 changes: 5 additions & 0 deletions src/deps/boost-cmake/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*.sw?
*.tmp
build*/
boost/
boost_*.tar.xz
130 changes: 130 additions & 0 deletions src/deps/boost-cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
cmake_minimum_required(VERSION 3.10)
project(Boost-CMake)

add_compile_definitions(_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION)

option(BOOST_DISABLE_TESTS "Do not build test targets, even if building standalone" ON)

set(BOOST_URL "https://archives.boost.io/release/1.71.0/source/boost_1_71_0.tar.bz2" CACHE STRING "Boost download URL")
set(BOOST_URL_SHA256 "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee" CACHE STRING "Boost download URL SHA256 checksum")

include(FetchContent)
FetchContent_Declare(
Boost
URL ${BOOST_URL}
URL_HASH SHA256=${BOOST_URL_SHA256}
)
FetchContent_GetProperties(Boost)

if(NOT Boost_POPULATED)
message(STATUS "Fetching Boost")
FetchContent_Populate(Boost)
message(STATUS "Fetching Boost - done")
set(BOOST_SOURCE ${boost_SOURCE_DIR})

set(PATCH_DIR "${CMAKE_CURRENT_SOURCE_DIR}/patches")

file(REMOVE "${BOOST_SOURCE}/boost/thread/future.hpp")
file(INSTALL "${PATCH_DIR}/boost.thread.future.hpp.replacement"
DESTINATION "${BOOST_SOURCE}/boost/thread"
RENAME "future.hpp")

file(REMOVE "${BOOST_SOURCE}/boost/mpl/aux_/integral_wrapper.hpp")
file(INSTALL "${PATCH_DIR}/boost.mpl.aux_.integral_wrapper.hpp.replacement"
DESTINATION "${BOOST_SOURCE}/boost/mpl/aux_"
RENAME "integral_wrapper.hpp")

message(STATUS "Patching Boost - done")
endif()

set(SOURCE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/../thread_data.hpp")
set(DESTINATION_DIR "${BOOST_SOURCE}/boost/thread/pthread")
set(DESTINATION_FILE "${BOOST_SOURCE}/boost/thread/pthread/thread_data.hpp")
if(EXISTS "${DESTINATION_FILE}")
message(STATUS "Removing: ${DESTINATION_FILE}")
file(REMOVE "${DESTINATION_FILE}")
endif()
message(STATUS "Copying: ${SOURCE_FILE} to ${DESTINATION_DIR}")
file(COPY ${SOURCE_FILE} DESTINATION ${DESTINATION_DIR})

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
include(CheckBoostVersion)

message(STATUS "Boost found: ${BOOST_VERSION} ${BOOST_SOURCE}")

include(StandaloneBuild)
include(PlatformDetect)
include(AddBoostLib)
include(AddBoostTest)

set_property(GLOBAL PROPERTY USE_FOLDERS TRUE)

if(USE_ANDROID)
# CMake 3.7.1 doesn't define the target triple for the ASM language,
# resulting in all files compiled for the host architecture
set(CMAKE_ASM_COMPILER_TARGET "${CMAKE_CXX_COMPILER_TARGET}")
endif()

set(BOOST_LIBS_REQUIRED
# Header only libs
header
)
set(BOOST_LIBS_OPTIONAL
# Compiled libs
atomic
chrono
container
context
coroutine
date_time
exception
fiber
filesystem
graph
iostreams
locale
log
math
mpi
graph_parallel # depends on mpi, so needs to be put after it
program_options
#python # complex module
random
regex
serialization
system
test
thread
timer
type_erasure
wave
CACHE STRING "Boost libs to be compiled"
)

foreach(lib ${BOOST_LIBS_REQUIRED})
include("libs/${lib}.cmake")
endforeach()

foreach(lib ${BOOST_LIBS_OPTIONAL})
# In case only a subset of modules is available (eg. after using bcp)
if(EXISTS "${BOOST_SOURCE}/libs/${lib}")
include("libs/${lib}.cmake")
endif()
endforeach()

# TODO: Move those to option() calls in the right file
if(NOT BOOST_STANDALONE)
# Compilation options required by all platforms
target_compile_definitions(Boost::boost INTERFACE
$<$<CONFIG:Release>:BOOST_DISABLE_ASSERT>
BOOST_SYSTEM_NO_DEPRECATED
BOOST_THREAD_VERSION=4
BOOST_THREAD_USES_CHRONO
BOOST_THREAD_PROVIDES_EXECUTORS
)
endif()

if(USE_ANDROID)
# Android doesn't support thread local storage through compiler intrinsics
target_compile_definitions(Boost::boost INTERFACE BOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION)
endif()
13 changes: 13 additions & 0 deletions src/deps/boost-cmake/LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
New BSD License
===============

Copyright (c) 2016, Florent Castelli
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the Phalcon nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PHALCON FRAMEWORK TEAM BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
61 changes: 61 additions & 0 deletions src/deps/boost-cmake/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Boost CMake [![Build Status](https://dev.azure.com/Orphis/boost-cmake/_apis/build/status/Orphis.boost-cmake?branchName=master)](https://dev.azure.com/Orphis/boost-cmake/_build/latest?definitionId=1?branchName=master)

## Synopsis

Easy Boost integration in CMake projects!

## Code Example

Install the submodule in your project structure:
```
git submodule add https://github.com/Orphis/boost-cmake.git
```
Use it! In your CMakeLists.txt file:

```
add_subdirectory(boost-cmake)
...
target_link_libraries(lib_using_filesystem PUBLIC Boost::filesystem)
target_link_libraries(lib_using_header_only PUBLIC Boost::boost)
```

## Configuration

Boost will automatically be downloaded from GitHub as a minified archive created with the `repack.sh` script.

If that is not acceptable to you, you can use an alternate Boost version, apply custom patches or just mirror the current archive in your internal network like so:
```
set(BOOST_URL http://internal.mirror/boost.7z)
set(BOOST_URL_SHA256 foobar)
add_subdirectory(boost-cmake)
```

For more advanced configuration, you can override the way to download the sources using [FetchContent_Declare](https://cmake.org/cmake/help/latest/module/FetchContent.html):
```
FetchContent_Declare(
Boost
SVN_REPOSITORY "svn+ssh://svn.company.com/boost"
)
```

If you have Boost sources already available and want to point to them, you can use the following:
```
set(FETCHCONTENT_SOURCE_DIR_BOOST /path/to/boost)
add_subdirectory(boost-cmake)
```

## Motivation

Most people struggle building Boost for various platforms or using package managers to get the right version, so I figured I would open-source the solution similar to the one I developed while I worked at Spotify.

Using this, as long as your main project is configured properly, Boost will be built with the same compiler, same architectures (in case of universal macOS or iOS build), same compilation flags (think of Clang sanitizers for example) without any hassle.

The Boost sources will be automatically downloaded from CMake if they cannot be found. You can also fork the project and add the boost source package if you wish to do so, or use an alternative URL pointing for example to an HTTP cache internal to your network.

## Contributors

Not all libraries are currently built. Patches accepted to build the remaining ones!

## License

BSD 3-clause license. See LICENSE.md file.
66 changes: 66 additions & 0 deletions src/deps/boost-cmake/azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

strategy:
matrix:
Linux-GCC:
imageName: 'ubuntu-16.04'
BUILD_TARGET: 'Linux'
BUILD_COMPILER: 'GCC'
Linux-Clang:
imageName: 'ubuntu-16.04'
BUILD_TARGET: 'Linux'
BUILD_COMPILER: 'Clang'
Android-arm64:
imageName: 'ubuntu-16.04'
BUILD_TARGET: 'Android'
BUILD_ARCH: 'arm64-v8a'
Android-arm:
imageName: 'ubuntu-16.04'
BUILD_TARGET: 'Android'
BUILD_ARCH: 'armeabi-v7a'
Android-x86:
imageName: 'ubuntu-16.04'
BUILD_TARGET: 'Android'
BUILD_ARCH: 'x86'
Android-x86_64:
imageName: 'ubuntu-16.04'
BUILD_TARGET: 'Android'
BUILD_ARCH: 'x86_64'
macOS:
imageName: 'macos-latest'
BUILD_TARGET: 'macOS'
iOS:
imageName: 'macos-latest'
BUILD_TARGET: 'iOS'
Windows-v141-amd64:
imageName: 'vs2017-win2016'
BUILD_TARGET: 'Windows'
BUILD_TOOLCHAIN: 'amd64'
Windows-v141-x86:
imageName: 'vs2017-win2016'
BUILD_TARGET: 'Windows'
BUILD_TOOLCHAIN: 'amd64_x86'

trigger:
- master

pool:
vmImage: $(imageName)

steps:
- bash: |
export
displayName: 'Check environment'

- bash: |
bash build.sh
displayName: 'Build'
env:
BUILD_TARGET: $(BUILD_TARGET)
BUILD_COMPILER: $(BUILD_COMPILER)
BUILD_ARCH: $(BUILD_ARCH)
BUILD_TOOLCHAIN: $(BUILD_TOOLCHAIN)
CCACHE_DISABLE: 1
Loading