aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-06-20 16:30:21 -0700
committerGitHub <noreply@github.com>2017-06-20 16:30:21 -0700
commit78fff8f2ea8192a884a8ac1ee17e36fe922682c1 (patch)
treeb0e5807e68afdf41097a98d4c9ed570bf9bd758a
parente72b0ec9a2ac23300c39d7bc8217dfd5cfa6ab63 (diff)
parent833c38c6307e8e34bcf578fc7e24b29228f35928 (diff)
downloadvcpkg-78fff8f2ea8192a884a8ac1ee17e36fe922682c1.tar.gz
vcpkg-78fff8f2ea8192a884a8ac1ee17e36fe922682c1.zip
Merge pull request #1299 from atkawa7/jansson
[jansson] new port required by nghttp2 #1122
-rw-r--r--ports/jansson/CONTROL3
-rw-r--r--ports/jansson/portfile.cmake39
-rw-r--r--scripts/cmake/vcpkg_fixup_cmake_targets.cmake4
3 files changed, 46 insertions, 0 deletions
diff --git a/ports/jansson/CONTROL b/ports/jansson/CONTROL
new file mode 100644
index 000000000..c14e7d7d8
--- /dev/null
+++ b/ports/jansson/CONTROL
@@ -0,0 +1,3 @@
+Source: jansson
+Version: v2.10
+Description: Jansson is a C library for encoding, decoding and manipulating JSON data
diff --git a/ports/jansson/portfile.cmake b/ports/jansson/portfile.cmake
new file mode 100644
index 000000000..50d5a994e
--- /dev/null
+++ b/ports/jansson/portfile.cmake
@@ -0,0 +1,39 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO akheron/jansson
+ REF v2.10
+ SHA512 0859c8a29c1cb7e406d3eb369285500e98ee23677e3a6af6cd81511c57a6aa8dbabe4a8c7b673a3000203b68f74d84786817aec76cb1e85af217268159bda4b6
+ HEAD_REF master
+)
+
+if(VCPKG_CRT_LINKAGE STREQUAL static)
+ set(JANSSON_STATIC_CRT ON)
+else()
+ set(JANSSON_STATIC_CRT OFF)
+endif()
+
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(JANSSON_BUILD_SHARED_LIBS ON)
+else()
+ set(JANSSON_BUILD_SHARED_LIBS OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DJANSSON_STATIC_CRT=${JANSSON_STATIC_CRT}
+ -DJANSSON_EXAMPLES=OFF
+ -DJANSSON_WITHOUT_TESTS=ON
+ -DJANSSON_BUILD_SHARED_LIBS=${JANSSON_BUILD_SHARED_LIBS}
+)
+
+vcpkg_install_cmake(DISABLE_PARALLEL)
+vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jansson RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
index f65337544..c56b96ccc 100644
--- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
+++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
@@ -16,6 +16,10 @@
function(vcpkg_fixup_cmake_targets)
cmake_parse_arguments(_vfct "" "CONFIG_PATH" "" ${ARGN})
+ if(_vfct_UNPARSED_ARGUMENTS)
+ message(FATAL_ERROR "vcpkg_fixup_cmake_targets was passed extra arguments: ${_vfct_UNPARSED_ARGUMENTS}")
+ endif()
+
set(DEBUG_SHARE ${CURRENT_PACKAGES_DIR}/debug/share/${PORT})
set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/share/${PORT})