diff --git a/ports/cppmicroservices/devendor_boost_absl.patch b/ports/cppmicroservices/devendor_boost_absl.patch new file mode 100644 index 0000000000..359a75005c --- /dev/null +++ b/ports/cppmicroservices/devendor_boost_absl.patch @@ -0,0 +1,175 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 55b99bb765..85b4484990 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -692,9 +692,9 @@ endif() + #----------------------------------------------------------------------------- + # Compile libraries here if you do not want -Werror or /WX on + #----------------------------------------------------------------------------- +-add_subdirectory(third_party/absl) ++find_package(absl CONFIG REQUIRED) + set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libraries" FORCE) +-add_subdirectory(third_party/boost/nowide) ++find_package(Boost COMPONENTS nowide CONFIG REQUIRED) + set(BUILD_SHARED_LIBS ${_us_build_shared} CACHE BOOL "Build shared libraries" FORCE) + #----------------------------------------------------------------------------- + +diff --git a/cmake/usBundleConfig.cmake.in b/cmake/usBundleConfig.cmake.in +index c9cf743790..078c5b3fad 100644 +--- a/cmake/usBundleConfig.cmake.in ++++ b/cmake/usBundleConfig.cmake.in +@@ -3,6 +3,10 @@ + set(US_@PROJECT_NAME@_LIBRARIES @PROJECT_TARGET@) + set(US_@PROJECT_NAME@_RUNTIME_LIBRARY_DIRS "@PACKAGE_CONFIG_RUNTIME_LIBRARY_DIR@") + ++include(CMakeFindDependencyMacro) ++find_dependency(Boost COMPONENTS asio nowide CONFIG) ++find_dependency(absl CONFIG) ++ + if(NOT TARGET @PROJECT_TARGET@) + include("${CMAKE_CURRENT_LIST_DIR}/us@PROJECT_NAME@Targets.cmake") + endif() +diff --git a/compendium/CMakeLists.txt b/compendium/CMakeLists.txt +index a5713313ec..d26ac7e4fe 100644 +--- a/compendium/CMakeLists.txt ++++ b/compendium/CMakeLists.txt +@@ -1,3 +1,4 @@ ++find_package(Boost COMPONENTS asio CONFIG REQUIRED) + if(US_BUILD_TESTING) + add_subdirectory(test_bundles) + endif() +diff --git a/compendium/ConfigurationAdmin/src/CMAsyncWorkService.cpp b/compendium/ConfigurationAdmin/src/CMAsyncWorkService.cpp +index 50f02e6e1f..fdfa45d991 100644 +--- a/compendium/ConfigurationAdmin/src/CMAsyncWorkService.cpp ++++ b/compendium/ConfigurationAdmin/src/CMAsyncWorkService.cpp +@@ -22,10 +22,10 @@ + + #include "CMAsyncWorkService.hpp" + +-#include "boost/asio/async_result.hpp" +-#include "boost/asio/packaged_task.hpp" +-#include "boost/asio/post.hpp" +-#include "boost/asio/thread_pool.hpp" ++#include ++#include ++#include ++#include + + namespace cppmicroservices + { +diff --git a/compendium/ConfigurationAdmin/src/CMakeLists.txt b/compendium/ConfigurationAdmin/src/CMakeLists.txt +index f2eca66ce7..8d7c8bd671 100644 +--- a/compendium/ConfigurationAdmin/src/CMakeLists.txt ++++ b/compendium/ConfigurationAdmin/src/CMakeLists.txt +@@ -25,7 +25,7 @@ set(_private_headers + ) + + add_library(ConfigurationAdminObjs OBJECT ${_srcs} ${_private_headers}) +- ++target_link_libraries(ConfigurationAdminObjs PULBIC Boost::asio) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") + get_property(_compile_flags TARGET ConfigurationAdminObjs PROPERTY COMPILE_FLAGS) + set_property(TARGET ConfigurationAdminObjs PROPERTY COMPILE_FLAGS "${_compile_flags} -fPIC") +diff --git a/compendium/DeclarativeServices/CMakeLists.txt b/compendium/DeclarativeServices/CMakeLists.txt +index 24f2820fa5..cb518781b4 100644 +--- a/compendium/DeclarativeServices/CMakeLists.txt ++++ b/compendium/DeclarativeServices/CMakeLists.txt +@@ -37,14 +37,14 @@ endif() + add_compile_definitions(BOOST_DATE_TIME_NO_LIB) + add_compile_definitions(BOOST_REGEX_NO_LIB) + +- ++find_package(Boost COMPONENTS asio CONFIG REQUIRED) + usMacroCreateBundle(DeclarativeServices + VERSION "1.5.10" + DEPENDS Framework + TARGET DeclarativeServices + SYMBOLIC_NAME declarative_services + EMBED_RESOURCE_METHOD LINK +- LINK_LIBRARIES ${_link_libraries} usServiceComponent usAsyncWorkService ++ LINK_LIBRARIES ${_link_libraries} usServiceComponent usAsyncWorkService Boost::asio + PRIVATE_HEADERS ${_ds_private_headers} + SOURCES $ src/SCRActivator.cpp + BINARY_RESOURCES manifest.json +diff --git a/compendium/DeclarativeServices/src/CMakeLists.txt b/compendium/DeclarativeServices/src/CMakeLists.txt +index d25961b6d7..9283babe46 100644 +--- a/compendium/DeclarativeServices/src/CMakeLists.txt ++++ b/compendium/DeclarativeServices/src/CMakeLists.txt +@@ -79,8 +79,9 @@ set(_private_headers + metadata/ServiceMetadata.hpp + metadata/Util.hpp + ) +- ++find_package(Boost COMPONENTS asio CONFIG REQUIRED) + add_library(DeclarativeServicesObjs OBJECT ${_srcs} ${_private_headers}) ++target_link_libraries(DeclarativeServicesObjs PUBLIC Boost::asio) + + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") + get_property(_compile_flags TARGET DeclarativeServicesObjs PROPERTY COMPILE_FLAGS) +diff --git a/compendium/DeclarativeServices/src/SCRAsyncWorkService.cpp b/compendium/DeclarativeServices/src/SCRAsyncWorkService.cpp +index ffc93e9e86..1b9af7bd6c 100644 +--- a/compendium/DeclarativeServices/src/SCRAsyncWorkService.cpp ++++ b/compendium/DeclarativeServices/src/SCRAsyncWorkService.cpp +@@ -22,10 +22,10 @@ + + #include "SCRAsyncWorkService.hpp" + +-#include "boost/asio/async_result.hpp" +-#include "boost/asio/packaged_task.hpp" +-#include "boost/asio/post.hpp" +-#include "boost/asio/thread_pool.hpp" ++#include ++#include ++#include ++#include + + namespace cppmicroservices + { +diff --git a/compendium/DeclarativeServices/src/manager/ComponentConfigurationImpl.cpp b/compendium/DeclarativeServices/src/manager/ComponentConfigurationImpl.cpp +index c4483a98c1..84d4217e7a 100644 +--- a/compendium/DeclarativeServices/src/manager/ComponentConfigurationImpl.cpp ++++ b/compendium/DeclarativeServices/src/manager/ComponentConfigurationImpl.cpp +@@ -30,7 +30,7 @@ + #include "ReferenceManager.hpp" + #include "ReferenceManagerImpl.hpp" + #include "RegistrationManager.hpp" +-#include "boost/asio/post.hpp" ++#include + #include "cppmicroservices/servicecomponent/ComponentConstants.hpp" + #include "states/CCUnsatisfiedReferenceState.hpp" + #include "states/ComponentConfigurationState.hpp" +diff --git a/tools/rc/CMakeLists.txt b/tools/rc/CMakeLists.txt +index c4a36f8dd1..ffcf13e44a 100644 +--- a/tools/rc/CMakeLists.txt ++++ b/tools/rc/CMakeLists.txt +@@ -19,9 +19,8 @@ set_property(TARGET ${US_RCC_EXECUTABLE_TARGET} PROPERTY OUTPUT_NAME ${US_RCC_EX + if(WIN32) + target_link_libraries(${US_RCC_EXECUTABLE_TARGET} Shlwapi) + endif() +- +-target_link_libraries(${US_RCC_EXECUTABLE_TARGET} nowide::nowide) +-target_include_directories(${US_RCC_EXECUTABLE_TARGET} PRIVATE ${CppMicroServices_SOURCE_DIR}/third_party/boost/nowide/include) ++find_package(Boost COMPONENTS nowide CONFIG REQUIRED) ++target_link_libraries(${US_RCC_EXECUTABLE_TARGET} Boost::nowide) + + set_property(TARGET ${US_RCC_EXECUTABLE_TARGET} APPEND PROPERTY + COMPILE_DEFINITIONS "MINIZ_NO_ARCHIVE_READING_API;MINIZ_NO_ZLIB_COMPATIBLE_NAMES") +diff --git a/tools/rc/ResourceCompiler.cpp b/tools/rc/ResourceCompiler.cpp +index a5b81d3522..4e92db4e3a 100644 +--- a/tools/rc/ResourceCompiler.cpp ++++ b/tools/rc/ResourceCompiler.cpp +@@ -37,9 +37,12 @@ + #include + #include + +-#include +-#include ++#include ++#include + ++namespace nowide { ++ using namespace boost::nowide; ++} + #include "optionparser.h" + #include "json/json.h" + diff --git a/ports/cppmicroservices/portfile.cmake b/ports/cppmicroservices/portfile.cmake index ad7b3cc77a..989894c8ff 100644 --- a/ports/cppmicroservices/portfile.cmake +++ b/ports/cppmicroservices/portfile.cmake @@ -2,35 +2,31 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CppMicroServices/CppMicroservices REF "v${VERSION}" - SHA512 4743846a8ba45e6bd320c93bb3bd443b5dac16ea0bbf55bda6212e9200a40ee29031fd74c6141de4c6b5ef9ad3e70789d13fda25b40638547782d386a12dd7e2 + SHA512 26b76b124fba50a079b002867f5d349b4719833358f09712a73bc3f4370362bc27b01eb7ba31e3a0d01f101f70e5be45d5d99fe9f25216eadacc02127459d91b HEAD_REF development PATCHES werror.patch fix_strnicmp.patch - remove-wx.patch + devendor_boost_absl.patch ) -#nowide download -vcpkg_from_github( - OUT_SOURCE_PATH NOWIDE_SOURCE_PATH - REPO boostorg/nowide - REF 02f40f0b5f5686627fcddae93ff88ca399db4766 - SHA512 e68e0704896726c7a94b8ace0e03c5206b4c7acd23a6b05f6fb2660abe30611ac6913cf5fab7b57eaff1990a7c28aeee8c9f526b60f7094c0c201f90b715d6c6 - HEAD_REF develop +# TODO: De-vendor everything +file(REMOVE_RECURSE + "${SOURCE_PATH}/third_party/absl" + "${SOURCE_PATH}/third_party/boost" ) -file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/boost/nowide") -file(RENAME "${NOWIDE_SOURCE_PATH}" "${SOURCE_PATH}/third_party/boost/nowide") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DTOOLS_INSTALL_DIR:STRING=tools/cppmicroservices -DAUXILIARY_INSTALL_DIR:STRING=share/cppmicroservices -DUS_USE_SYSTEM_GTEST=TRUE + -DUS_BUILD_TESTING=FALSE + -DUS_USE_SYSTEM_BOOST=TRUE ) -vcpkg_cmake_install() +vcpkg_cmake_install(ADD_BIN_TO_PATH) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/cppmicroservices/remove-wx.patch b/ports/cppmicroservices/remove-wx.patch deleted file mode 100644 index dadae53f59..0000000000 --- a/ports/cppmicroservices/remove-wx.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2bec34f..801d049 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -511,7 +511,7 @@ if(MSVC) - set(US_ENABLE_ASAN OFF) - endif() - -- set(US_CXX_FLAGS "/MP /WX /D${msvc_version_define} ${US_CXX_FLAGS}") -+ set(US_CXX_FLAGS "/MP /D${msvc_version_define} ${US_CXX_FLAGS}") - else() - - # If not cross-compiling, turn on Stack Smashing Protection. diff --git a/ports/cppmicroservices/vcpkg.json b/ports/cppmicroservices/vcpkg.json index 4a7a4be789..315e489371 100644 --- a/ports/cppmicroservices/vcpkg.json +++ b/ports/cppmicroservices/vcpkg.json @@ -1,11 +1,13 @@ { "name": "cppmicroservices", - "version": "3.7.6", - "port-version": 1, + "version": "3.8.4", "description": "An OSGi-like C++ dynamic module system and service registry", "homepage": "https://github.com/CppMicroServices/CppMicroServices", "license": "Apache-2.0", "dependencies": [ + "abseil", + "boost-asio", + "boost-nowide", "gtest", { "name": "vcpkg-cmake", diff --git a/versions/baseline.json b/versions/baseline.json index 61c0ff9648..719f187081 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1977,8 +1977,8 @@ "port-version": 0 }, "cppmicroservices": { - "baseline": "3.7.6", - "port-version": 1 + "baseline": "3.8.4", + "port-version": 0 }, "cppp-reiconv": { "baseline": "2.1.0", diff --git a/versions/c-/cppmicroservices.json b/versions/c-/cppmicroservices.json index 34f83579fd..49c5d221f6 100644 --- a/versions/c-/cppmicroservices.json +++ b/versions/c-/cppmicroservices.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6139bba03bcfb25bcf76fca8ef1a2b3124eb63a1", + "version": "3.8.4", + "port-version": 0 + }, { "git-tree": "b438280ccc1012bda6457141a3dea8071711ffb9", "version": "3.7.6",