aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/json5-parser
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/json5-parser')
-rw-r--r--vcpkg/ports/json5-parser/00001-fix-build.patch33
-rw-r--r--vcpkg/ports/json5-parser/portfile.cmake26
-rw-r--r--vcpkg/ports/json5-parser/vcpkg.json18
3 files changed, 77 insertions, 0 deletions
diff --git a/vcpkg/ports/json5-parser/00001-fix-build.patch b/vcpkg/ports/json5-parser/00001-fix-build.patch
new file mode 100644
index 0000000..22a6b8e
--- /dev/null
+++ b/vcpkg/ports/json5-parser/00001-fix-build.patch
@@ -0,0 +1,33 @@
+diff --git a/json5_parser/CMakeLists.txt b/json5_parser/CMakeLists.txt
+index 3fbc6bb..e278364 100644
+--- a/json5_parser/CMakeLists.txt
++++ b/json5_parser/CMakeLists.txt
+@@ -1,3 +1,6 @@
++cmake_minimum_required(VERSION 3.5)
++project(json5-parser)
++
+ SET(JSON_SPIRIT_SRCS
+ json5_parser_reader.cpp json5_parser_reader.h
+ json5_parser_value.cpp json5_parser_value.h
+@@ -15,3 +18,21 @@ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+
+ ADD_LIBRARY(json5_parser STATIC ${JSON_SPIRIT_SRCS})
+
++if(MSVC)
++ target_compile_options(json5_parser PRIVATE "/bigobj")
++endif()
++
++target_include_directories(json5_parser PUBLIC $<INSTALL_INTERFACE:include>)
++
++install(TARGETS json5_parser EXPORT json5-parser-config
++ RUNTIME DESTINATION bin
++ ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION lib
++)
++install(EXPORT json5-parser-config DESTINATION share/json5-parser)
++
++file(GLOB HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} json5_parser*.h)
++foreach (HEADER ${HEADERS} )
++ get_filename_component(HEADER_DIR ${HEADER} DIRECTORY)
++ install(FILES ${HEADER} DESTINATION include/${HEADER_DIR})
++endforeach()
diff --git a/vcpkg/ports/json5-parser/portfile.cmake b/vcpkg/ports/json5-parser/portfile.cmake
new file mode 100644
index 0000000..50da0c1
--- /dev/null
+++ b/vcpkg/ports/json5-parser/portfile.cmake
@@ -0,0 +1,26 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Caltech-IPAC/json5_parser
+ REF 580bfe30c5ee5e06a0f536d7bddb75c07a29eda6 # 1.0.0
+ SHA512 25cdbc02ed2e3b05f0644c3398230ab82ede093ed6f7d8f140a9810509dd05feab1187d62fc38818725a92c47029fe3dc5ecfdbe14e1e0a2ef314e925b369d59
+ HEAD_REF master
+ PATCHES
+ 00001-fix-build.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}/json5_parser"
+ OPTIONS
+ -DCMAKE_CXX_STANDARD=11 # Boost v1.84.0 libraries require C++11
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_cmake_config_fixup()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")
diff --git a/vcpkg/ports/json5-parser/vcpkg.json b/vcpkg/ports/json5-parser/vcpkg.json
new file mode 100644
index 0000000..c60818e
--- /dev/null
+++ b/vcpkg/ports/json5-parser/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "json5-parser",
+ "version": "1.0.0",
+ "port-version": 7,
+ "description": "An enhancement of the JSON Spirit C++ library to understand json5.",
+ "homepage": "https://github.com/Caltech-IPAC/json5_parser",
+ "dependencies": [
+ "boost-spirit",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}