v2.0.2-rc (#27)
	
		
			
	
		
	
	
		
	
		
			Some checks reported errors
		
		
	
	
		
			
				
	
				BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
				
			
		
		
	
	
				
					
				
			
		
			Some checks reported errors
		
		
	
	BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
				
			## v2.0.2-rc ### BREAKING CHANGES * Refactored `config.json` - will need to verify configuration settings prior to mounting ### Issues * \#12 \[Unit Test\] Complete all providers unit tests * \#14 \[Unit Test\] SQLite mini-ORM unit tests and cleanup * \#16 Add support for bucket name in Sia provider * \#17 Update to common c++ build system * A single 64-bit Linux Jenkins server is used to build all Linux and Windows versions * All dependency sources are now included * MSVC is no longer supported * MSYS2 is required for building Windows binaries on Windows * OS X support is temporarily disabled * \#19 \[bug\] Rename file is broken for files that are existing * \#23 \[bug\] Incorrect file size displayed while upload is pending * \#24 RocksDB implementations should be transactional * \#25 Writes should block when maximum cache size is reached * \#26 Complete ring buffer and direct download support ### Changes from v2.0.1-rc * Ability to choose between RocksDB and SQLite databases * Added direct reads and implemented download fallback * Corrected file times on S3 and Sia providers * Corrected handling of `chown()` and `chmod()` * Fixed erroneous download of chunks after resize Reviewed-on: #27
This commit is contained in:
		
							
								
								
									
										139
									
								
								cmake/libraries/boost.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										139
									
								
								cmake/libraries/boost.cmake
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,139 @@ | ||||
| if(PROJECT_ENABLE_BOOST) | ||||
|   if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM) | ||||
|     set(BOOST_MAJOR_VERSION ${BOOST2_MAJOR_VERSION}) | ||||
|     set(BOOST_MINOR_VERSION ${BOOST2_MINOR_VERSION}) | ||||
|     set(BOOST_PATCH_VERSION ${BOOST2_PATCH_VERSION}) | ||||
|   endif() | ||||
|  | ||||
|   set(BOOST_ROOT ${PROJECT_EXTERNAL_BUILD_ROOT}) | ||||
|   set(BOOST_INCLUDE_DIR ${BOOST_ROOT}/include/boost-${BOOST_MINOR_VERSION}_${BOOST_MINOR_VERSION}) | ||||
|  | ||||
|   set(PROJECT_EXTERNAL_CMAKE_FLAGS | ||||
|     ${PROJECT_EXTERNAL_CMAKE_FLAGS} | ||||
|     -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} | ||||
|     -DBOOST_INCLUDE_DIR=${BOOST_INCLUDE_DIR} | ||||
|     -DBOOST_ROOT=${BOOST_ROOT} | ||||
|   ) | ||||
|  | ||||
|   if(PROJECT_BUILD) | ||||
|     add_definitions(-DPROJECT_ENABLE_BOOST) | ||||
|  | ||||
|     if (PROJECT_ENABLE_LIBBITCOIN_SYSTEM) | ||||
|       find_package(Boost ${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_PATCH_VERSION} EXACT | ||||
|         REQUIRED | ||||
|         COMPONENTS | ||||
|           atomic | ||||
|           chrono | ||||
|           date_time | ||||
|           filesystem | ||||
|           iostreams | ||||
|           locale | ||||
|           log | ||||
|           log_setup | ||||
|           program_options | ||||
|           random | ||||
|           regex | ||||
|           serialization | ||||
|           system | ||||
|           thread | ||||
|           wserialization | ||||
|       ) | ||||
|     else() | ||||
|       find_package(Boost ${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_PATCH_VERSION} | ||||
|         REQUIRED | ||||
|         COMPONENTS | ||||
|           atomic | ||||
|           chrono | ||||
|           date_time | ||||
|           filesystem | ||||
|           iostreams | ||||
|           locale | ||||
|           log | ||||
|           log_setup | ||||
|           program_options | ||||
|           random | ||||
|           regex | ||||
|           serialization | ||||
|           system | ||||
|           thread | ||||
|           wserialization | ||||
|       ) | ||||
|     endif() | ||||
|  | ||||
|     include_directories(BEFORE SYSTEM | ||||
|       ${Boost_INCLUDE_DIRS} | ||||
|     ) | ||||
|  | ||||
|     link_libraries( | ||||
|       ${Boost_LIBRARIES} | ||||
|     ) | ||||
|   elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) | ||||
|     if (PROJECT_ENABLE_LIBBITCOIN_SYSTEM OR NOT CMAKE_HOST_WIN32) | ||||
|       if(PROJECT_CMAKE_BUILD_TYPE STREQUAL "Debug") | ||||
|         set(BOOST_BUILD_TYPE_LOWER debug) | ||||
|       else() | ||||
|         set(BOOST_BUILD_TYPE_LOWER release) | ||||
|       endif() | ||||
|  | ||||
|       if(PROJECT_IS_ARM64) | ||||
|         set(BOOST_ARCH arm) | ||||
|       else() | ||||
|         set(BOOST_ARCH x86) | ||||
|       endif() | ||||
|  | ||||
|       if(PROJECT_STATIC_LINK) | ||||
|         set(BOOST_LINK static) | ||||
|       else() | ||||
|         set(BOOST_LINK "static,shared") | ||||
|       endif() | ||||
|  | ||||
|       set(BOOST_BUILD_ARGS | ||||
|         --openssldir=$ENV{OPENSSL_ROOT_DIR} | ||||
|         --prefix=${PROJECT_EXTERNAL_BUILD_ROOT} | ||||
|         address-model=64 | ||||
|         architecture=${BOOST_ARCH} | ||||
|         cxxstd=20 | ||||
|         cxxstd-dialect=gnu | ||||
|         cxxflags=-std=gnu++${CMAKE_CXX_STANDARD} | ||||
|         cxxstd=${CMAKE_CXX_STANDARD} | ||||
|         define=BOOST_ASIO_HAS_STD_STRING_VIEW | ||||
|         define=BOOST_SYSTEM_NO_DEPRECATED | ||||
|         link=${BOOST_LINK} | ||||
|         linkflags=-std=gnu++${CMAKE_CXX_STANDARD} | ||||
|         threading=multi | ||||
|         variant=${BOOST_BUILD_TYPE_LOWER} | ||||
|       ) | ||||
|  | ||||
|       if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM) | ||||
|         set(BOOST_URL_HASH SHA256=${BOOST2_HASH}) | ||||
|       else() | ||||
|         set(BOOST_URL_HASH SHA256=${BOOST_HASH}) | ||||
|       endif() | ||||
|  | ||||
|       ExternalProject_Add(boost_project | ||||
|         PREFIX external | ||||
|         URL ${PROJECT_3RD_PARTY_DIR}/boost_${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION}_${BOOST_PATCH_VERSION}.tar.gz | ||||
|         URL_HASH ${BOOST_URL_HASH} | ||||
|         BUILD_IN_SOURCE 1 | ||||
|         LIST_SEPARATOR | | ||||
|         CONFIGURE_COMMAND ./bootstrap.sh | ||||
|           --with-libraries=atomic,chrono,date_time,filesystem,iostreams,locale,log,program_options,random,regex,serialization,system,test,thread | ||||
|         BUILD_COMMAND | ||||
|           ./b2 | ||||
|           -j1 | ||||
|           ${BOOST_BUILD_ARGS} | ||||
|         INSTALL_COMMAND | ||||
|           ./b2 | ||||
|           -j1 | ||||
|           ${BOOST_BUILD_ARGS} | ||||
|           install | ||||
|       ) | ||||
|  | ||||
|       list(APPEND PROJECT_DEPENDENCIES boost_project) | ||||
|  | ||||
|       if (NOT CMAKE_HOST_WIN32) | ||||
|         add_dependencies(boost_project openssl_project) | ||||
|       endif() | ||||
|     endif() | ||||
|   endif() | ||||
| endif() | ||||
		Reference in New Issue
	
	Block a user