aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/rttr
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/rttr')
-rw-r--r--vcpkg/ports/rttr/Fix-depends.patch14
-rw-r--r--vcpkg/ports/rttr/disable-unsupport-header.patch13
-rw-r--r--vcpkg/ports/rttr/disable-werrorr.patch13
-rw-r--r--vcpkg/ports/rttr/fix-directory-output.patch13
-rw-r--r--vcpkg/ports/rttr/portfile.cmake59
-rw-r--r--vcpkg/ports/rttr/remove-owner-read-perms.patch44
-rw-r--r--vcpkg/ports/rttr/vcpkg.json20
7 files changed, 176 insertions, 0 deletions
diff --git a/vcpkg/ports/rttr/Fix-depends.patch b/vcpkg/ports/rttr/Fix-depends.patch
new file mode 100644
index 0000000..8357a47
--- /dev/null
+++ b/vcpkg/ports/rttr/Fix-depends.patch
@@ -0,0 +1,14 @@
+diff --git a/CMake/3rd_party_libs.cmake b/CMake/3rd_party_libs.cmake
+index dca5071..4dd4471 100644
+--- a/CMake/3rd_party_libs.cmake
++++ b/CMake/3rd_party_libs.cmake
+@@ -51,7 +51,8 @@ if (BUILD_BENCHMARKS)
+ find_package(Threads REQUIRED)
+ endif()
+
+-set(RAPID_JSON_DIR ${RTTR_3RD_PARTY_DIR}/rapidjson-1.1.0)
++find_package(RapidJSON CONFIG REQUIRED)
++set(RAPID_JSON_DIR ${RAPIDJSON_INCLUDE_DIRS})
+ set(NONIUS_DIR ${RTTR_3RD_PARTY_DIR}/nonius-1.1.2)
+
+ # Prepare "Catch" library for other executables
diff --git a/vcpkg/ports/rttr/disable-unsupport-header.patch b/vcpkg/ports/rttr/disable-unsupport-header.patch
new file mode 100644
index 0000000..efe2bb2
--- /dev/null
+++ b/vcpkg/ports/rttr/disable-unsupport-header.patch
@@ -0,0 +1,13 @@
+diff --git a/src/rttr/detail/misc/flat_map.h b/src/rttr/detail/misc/flat_map.h
+index 767c97b..ba97cc7 100644
+--- a/src/rttr/detail/misc/flat_map.h
++++ b/src/rttr/detail/misc/flat_map.h
+@@ -36,7 +36,7 @@
+ #include <utility>
+ #include <functional>
+ #include <algorithm>
+-#include <ciso646> // _LIBCPP_VERSION
++//#include <ciso646> // _LIBCPP_VERSION
+
+ namespace rttr
+ {
diff --git a/vcpkg/ports/rttr/disable-werrorr.patch b/vcpkg/ports/rttr/disable-werrorr.patch
new file mode 100644
index 0000000..8e9d944
--- /dev/null
+++ b/vcpkg/ports/rttr/disable-werrorr.patch
@@ -0,0 +1,13 @@
+diff --git a/CMake/utility.cmake b/CMake/utility.cmake
+index 8e7a0c6..ac5e305 100644
+--- a/CMake/utility.cmake
++++ b/CMake/utility.cmake
+@@ -395,7 +395,7 @@ function( set_compiler_warnings target)
+ set(WARNINGS "-Werror"
+ "-Wall")
+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+- set(WARNINGS "-Werror"
++ set(WARNINGS
+ "-Wall")
+ elseif(MSVC)
+ set(WARNINGS "/WX"
diff --git a/vcpkg/ports/rttr/fix-directory-output.patch b/vcpkg/ports/rttr/fix-directory-output.patch
new file mode 100644
index 0000000..97e47f3
--- /dev/null
+++ b/vcpkg/ports/rttr/fix-directory-output.patch
@@ -0,0 +1,13 @@
+diff --git a/CMake/config.cmake b/CMake/config.cmake
+index a718199..eab64c2 100644
+--- a/CMake/config.cmake
++++ b/CMake/config.cmake
+@@ -47,7 +47,7 @@ set(CMAKE_EXECUTABLE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
+
+ # here we specify the installation directory
+ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+- set(CMAKE_INSTALL_PREFIX "${PROJECT_BINARY_DIR}/install" CACHE PATH "RTTR install prefix" FORCE)
++ #set(CMAKE_INSTALL_PREFIX "${PROJECT_BINARY_DIR}/install" CACHE PATH "RTTR install prefix")
+ endif()
+
+ # in order to group in visual studio the targets into solution filters
diff --git a/vcpkg/ports/rttr/portfile.cmake b/vcpkg/ports/rttr/portfile.cmake
new file mode 100644
index 0000000..cbb9a15
--- /dev/null
+++ b/vcpkg/ports/rttr/portfile.cmake
@@ -0,0 +1,59 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO rttrorg/rttr
+ REF 7edbd580cfad509a3253c733e70144e36f02ecd4
+ SHA512 17432728037bc0f8e346c6bd01298c6ee3a4714c83505b2cf1bc23305acea5cc55925e7fc28a8cf182b6ba26abdc9d40ea2f5b168615c030d5ebeec9a8961636
+ HEAD_REF master
+ PATCHES
+ fix-directory-output.patch
+ Fix-depends.patch
+ remove-owner-read-perms.patch
+ disable-unsupport-header.patch
+ disable-werrorr.patch
+)
+
+if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static" AND "${VCPKG_CRT_LINKAGE}" STREQUAL "static")
+ set(BUILD_STATIC ON)
+ set(BUILD_RTTR_DYNAMIC OFF)
+ set(BUILD_WITH_STATIC_RUNTIME_LIBS OFF)
+elseif("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "dynamic" AND "${VCPKG_CRT_LINKAGE}" STREQUAL "static")
+ set(BUILD_STATIC OFF)
+ set(BUILD_RTTR_DYNAMIC OFF)
+ set(BUILD_WITH_STATIC_RUNTIME_LIBS ON)
+elseif("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "dynamic" AND "${VCPKG_CRT_LINKAGE}" STREQUAL "dynamic")
+ set(BUILD_STATIC OFF)
+ set(BUILD_RTTR_DYNAMIC ON)
+ set(BUILD_WITH_STATIC_RUNTIME_LIBS OFF)
+else()
+ message(FATAL_ERROR "rttr's build system does not support this configuration: VCPKG_LIBRARY_LINKAGE: ${VCPKG_LIBRARY_LINKAGE} VCPKG_CRT_LINKAGE: ${VCPKG_CRT_LINKAGE}")
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_UNIT_TESTS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_DOCUMENTATION=OFF
+ -DBUILD_STATIC=${BUILD_STATIC}
+ -DBUILD_RTTR_DYNAMIC=${BUILD_RTTR_DYNAMIC}
+ -DBUILD_WITH_STATIC_RUNTIME_LIBS=${BUILD_WITH_STATIC_RUNTIME_LIBS}
+)
+
+vcpkg_cmake_install()
+
+if (VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_cmake_config_fixup(CONFIG_PATH cmake)
+else()
+ vcpkg_cmake_config_fixup(CONFIG_PATH share/rttr/cmake)
+endif()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+ "${CURRENT_PACKAGES_DIR}/debug/README.md"
+ "${CURRENT_PACKAGES_DIR}/debug/LICENSE.txt"
+ "${CURRENT_PACKAGES_DIR}/LICENSE.txt"
+ "${CURRENT_PACKAGES_DIR}/README.md"
+)
diff --git a/vcpkg/ports/rttr/remove-owner-read-perms.patch b/vcpkg/ports/rttr/remove-owner-read-perms.patch
new file mode 100644
index 0000000..66edabd
--- /dev/null
+++ b/vcpkg/ports/rttr/remove-owner-read-perms.patch
@@ -0,0 +1,44 @@
+diff --git a/CMake/config.cmake b/CMake/config.cmake
+index 6b9eba8..e465709 100644
+--- a/CMake/config.cmake
++++ b/CMake/config.cmake
+@@ -171,6 +171,5 @@ if (BUILD_INSTALLER)
+ COMPONENT Devel)
+
+ install(FILES "${LICENSE_FILE}" "${README_FILE}"
+- DESTINATION ${RTTR_ADDITIONAL_FILES_INSTALL_DIR}
+- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
++ DESTINATION ${RTTR_ADDITIONAL_FILES_INSTALL_DIR})
+ endif()
+diff --git a/CMake/utility.cmake b/CMake/utility.cmake
+index cd1e835..8e7a0c6 100644
+--- a/CMake/utility.cmake
++++ b/CMake/utility.cmake
+@@ -165,7 +165,7 @@ function(loadFolder FOLDER _HEADER_FILES _SOURCE_FILES)
+ getNameOfDir(CMAKE_CURRENT_SOURCE_DIR DIRNAME)
+ if (${shouldInstall})
+ if (NOT ${FULL_HEADER_PATH} MATCHES ".*_p.h$") # we don't want to install header files which are marked as private
+- install(FILES ${FULL_HEADER_PATH} DESTINATION "include/${DIRNAME}/${REL_PATH}" PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
++ install(FILES ${FULL_HEADER_PATH} DESTINATION "include/${DIRNAME}/${REL_PATH}")
+ endif()
+ endif()
+ endforeach()
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index de70600..a92d642 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -132,12 +132,10 @@ set_target_properties(doc PROPERTIES FOLDER "Documentation")
+
+ install(DIRECTORY "${DOXYGEN_OUTPUT_DIRECTORY}/${DOXYGEN_CUSTOM_HTML_DIR}"
+ DESTINATION "${DOXYGEN_DOC_INSTALL_DIR}"
+- PATTERN "*.*"
+- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
++ PATTERN "*.*")
+
+ install(FILES "${DOXYGEN_OUTPUT_DIRECTORY}/${DOXYGEN_INDEX_FILE}"
+- DESTINATION "${DOXYGEN_DOC_INSTALL_DIR}"
+- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
++ DESTINATION "${DOXYGEN_DOC_INSTALL_DIR}")
+
+ #########################################################################################
+
diff --git a/vcpkg/ports/rttr/vcpkg.json b/vcpkg/ports/rttr/vcpkg.json
new file mode 100644
index 0000000..26be709
--- /dev/null
+++ b/vcpkg/ports/rttr/vcpkg.json
@@ -0,0 +1,20 @@
+{
+ "name": "rttr",
+ "version": "0.9.6+20210811",
+ "port-version": 1,
+ "description": "an easy and intuitive way to use reflection in C++",
+ "homepage": "https://github.com/rttrorg/rttr",
+ "license": "MIT",
+ "supports": "(static & staticcrt) | (!static & staticcrt) | (!static & !staticcrt)",
+ "dependencies": [
+ "rapidjson",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}