Skip to content

Commit

Permalink
[cppmicroservices] Add new port (fix #5801) (#6388)
Browse files Browse the repository at this point in the history
* [cppmicroservices] Add new port (fix #5801)

* turn off linker error checking for static building

* remove comments and include

* werror flag patch

* fix cmake targets
  • Loading branch information
saschazelzer authored and dan-shaw committed Jul 6, 2019
1 parent 2b8e225 commit 1000d82
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 0 deletions.
3 changes: 3 additions & 0 deletions ports/cppmicroservices/CONTROL
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Source: cppmicroservices
Version: 4.0.0-pre1
Description: An OSGi-like C++ dynamic module system and service registry
32 changes: 32 additions & 0 deletions ports/cppmicroservices/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO "CppMicroServices/CppMicroservices"
REF b322441568f903ef96c0ccb03e2611d052ceb4e0
SHA512 1673dfe9dba913890ec93e351263a924437a0d739a5858dcdc07650e1aaca30c3b4fcce59e32b201c1d65e15eb82e27912d759e4d07ecc149ae8a4f9eb1669bc
HEAD_REF development
PATCHES werror.patch
)

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA # Disable this option if project cannot be built with Ninja
OPTIONS
-DTOOLS_INSTALL_DIR:STRING=tools/cppmicroservices
-DAUXILIARY_INSTALL_DIR:STRING=share/cppmicroservices
)

vcpkg_install_cmake()

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)

# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppmicroservices RENAME copyright)

vcpkg_fixup_cmake_targets()

# CppMicroServices uses a custom resource compiler to compile resources
# the zipped resources are then appended to the target which cause the linker to crash
# when compiling a static library
if(NOT BUILD_SHARED_LIBS)
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
endif()
13 changes: 13 additions & 0 deletions ports/cppmicroservices/werror.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 24fd87e..974064c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -382,7 +382,7 @@ else()
usFunctionCheckCompilerFlags(-fstack-protector-all US_CXX_FLAGS)
endif()

- foreach(_cxxflag -Werror -Wall -Wextra -Wpointer-arith -Winvalid-pch -Wcast-align
+ foreach(_cxxflag -Wall -Wextra -Wpointer-arith -Winvalid-pch -Wcast-align
-Wwrite-strings -Woverloaded-virtual -Wnon-virtual-dtor -Wold-style-cast
-Wstrict-null-sentinel -Wsign-promo -fdiagnostics-show-option )
usFunctionCheckCompilerFlags(${_cxxflag} US_CXX_FLAGS)

0 comments on commit 1000d82

Please sign in to comment.