From 498aa83f2018aa7128e54660261c79078380eed6 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 28 May 2021 02:18:12 +0300 Subject: [PATCH 1/3] Regenerate CMakeLists.txt --- CMakeLists.txt | 73 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 29 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a6428e..8701467 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,39 +1,54 @@ -# Copyright 2019 Mike Dev +# Generated by `boostdep --cmake container` +# Copyright 2020 Peter Dimov # Distributed under the Boost Software License, Version 1.0. -# See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt -# -# NOTE: CMake support for Boost.Container is currently experimental at best -# and the interface is likely to change in the future +# https://www.boost.org/LICENSE_1_0.txt -cmake_minimum_required( VERSION 3.5 ) -project( BoostContainer LANGUAGES C CXX ) +cmake_minimum_required(VERSION 3.5...3.16) -file( GLOB boost_container_cpp_files src/*.cpp ) +project(boost_container VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES C CXX) add_library(boost_container - ${boost_container_cpp_files} - src/alloc_lib.c + src/alloc_lib.c + src/dlmalloc.cpp + src/dlmalloc_2_8_6.c + src/dlmalloc_ext_2_8_6.c + src/global_resource.cpp + src/monotonic_buffer_resource.cpp + src/pool_resource.cpp + src/synchronized_pool_resource.cpp + src/unsynchronized_pool_resource.cpp ) -# This is the public target name, other libraries should link to -add_library( Boost::container ALIAS boost_container ) +add_library(Boost::container ALIAS boost_container) -target_include_directories( boost_container PUBLIC include ) +target_include_directories(boost_container PUBLIC include) -# NOTE: -# We deactivate autolinking, because cmake based builds don't need it and -# we don't implement name mangling for the library file anyway. -# Ususally the parent CMakeLists.txt file should already have globally defined BOOST_ALL_NO_LIB -target_compile_definitions( boost_container PUBLIC BOOST_CONTAINER_NO_LIB ) - -target_link_libraries( boost_container - PUBLIC - Boost::assert - Boost::config - Boost::container_hash - Boost::core - Boost::intrusive - Boost::move - Boost::static_assert - Boost::type_traits +target_link_libraries(boost_container + PUBLIC + Boost::assert + Boost::config + Boost::core + Boost::intrusive + Boost::move + Boost::static_assert + Boost::type_traits + Boost::winapi ) + +target_compile_definitions(boost_container + PUBLIC BOOST_CONTAINER_NO_LIB + PRIVATE BOOST_CONTAINER_SOURCE +) + +if(BUILD_SHARED_LIBS) + target_compile_definitions(boost_container PUBLIC BOOST_CONTAINER_DYN_LINK) +else() + target_compile_definitions(boost_container PUBLIC BOOST_CONTAINER_STATIC_LINK) +endif() + +if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt") + + add_subdirectory(test) + +endif() + From ff0a6b8aae308575f7c7f44a571d40cfd233d136 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 28 May 2021 02:19:00 +0300 Subject: [PATCH 2/3] Remove unnecessary source files --- CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8701467..39dc980 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,8 +10,6 @@ project(boost_container VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES C CXX) add_library(boost_container src/alloc_lib.c src/dlmalloc.cpp - src/dlmalloc_2_8_6.c - src/dlmalloc_ext_2_8_6.c src/global_resource.cpp src/monotonic_buffer_resource.cpp src/pool_resource.cpp From a1565bc43957bf498e6c267cedd64b4d81917660 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Wed, 9 Jun 2021 18:50:22 +0300 Subject: [PATCH 3/3] Do not define BOOST_CONTAINER_SOURCE in CMakeLists.txt --- CMakeLists.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 39dc980..88fbcac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,4 @@ -# Generated by `boostdep --cmake container` -# Copyright 2020 Peter Dimov +# Copyright 2020, 2021 Peter Dimov # Distributed under the Boost Software License, Version 1.0. # https://www.boost.org/LICENSE_1_0.txt @@ -35,7 +34,8 @@ target_link_libraries(boost_container target_compile_definitions(boost_container PUBLIC BOOST_CONTAINER_NO_LIB - PRIVATE BOOST_CONTAINER_SOURCE + # Source files already define BOOST_CONTAINER_SOURCE + # PRIVATE BOOST_CONTAINER_SOURCE ) if(BUILD_SHARED_LIBS) @@ -49,4 +49,3 @@ if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt") add_subdirectory(test) endif() -