mirror of
				https://github.com/Xahau/xahaud.git
				synced 2025-11-04 02:35:48 +00:00 
			
		
		
		
	Co-authored-by: Denis Angell <dangell@transia.co> Co-authored-by: Niq Dudfield <ndudfield@gmail.com>
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
find_package(Boost 1.86 REQUIRED
 | 
						|
  COMPONENTS
 | 
						|
    chrono
 | 
						|
    container
 | 
						|
    context
 | 
						|
    coroutine
 | 
						|
    date_time
 | 
						|
    filesystem
 | 
						|
    program_options
 | 
						|
    regex
 | 
						|
    system
 | 
						|
    thread
 | 
						|
)
 | 
						|
 | 
						|
add_library(ripple_boost INTERFACE)
 | 
						|
add_library(Ripple::boost ALIAS ripple_boost)
 | 
						|
if(XCODE)
 | 
						|
  target_include_directories(ripple_boost BEFORE INTERFACE ${Boost_INCLUDE_DIRS})
 | 
						|
  target_compile_options(ripple_boost INTERFACE --system-header-prefix="boost/")
 | 
						|
else()
 | 
						|
  target_include_directories(ripple_boost SYSTEM BEFORE INTERFACE ${Boost_INCLUDE_DIRS})
 | 
						|
endif()
 | 
						|
 | 
						|
target_link_libraries(ripple_boost
 | 
						|
  INTERFACE
 | 
						|
    Boost::boost
 | 
						|
    Boost::chrono
 | 
						|
    Boost::container
 | 
						|
    Boost::coroutine
 | 
						|
    Boost::date_time
 | 
						|
    Boost::filesystem
 | 
						|
    Boost::program_options
 | 
						|
    Boost::regex
 | 
						|
    Boost::system
 | 
						|
    Boost::iostreams
 | 
						|
    Boost::thread)
 | 
						|
if(Boost_COMPILER)
 | 
						|
  target_link_libraries(ripple_boost INTERFACE Boost::disable_autolinking)
 | 
						|
endif()
 | 
						|
if(san AND is_clang)
 | 
						|
  # TODO: gcc does not support -fsanitize-blacklist...can we do something else
 | 
						|
  # for gcc ?
 | 
						|
  if(NOT Boost_INCLUDE_DIRS AND TARGET Boost::headers)
 | 
						|
    get_target_property(Boost_INCLUDE_DIRS Boost::headers INTERFACE_INCLUDE_DIRECTORIES)
 | 
						|
  endif()
 | 
						|
  message(STATUS "Adding [${Boost_INCLUDE_DIRS}] to sanitizer blacklist")
 | 
						|
  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/san_bl.txt "src:${Boost_INCLUDE_DIRS}/*")
 | 
						|
  target_compile_options(opts
 | 
						|
    INTERFACE
 | 
						|
      # ignore boost headers for sanitizing
 | 
						|
      -fsanitize-blacklist=${CMAKE_CURRENT_BINARY_DIR}/san_bl.txt)
 | 
						|
endif()
 |