diff options
| author | JackBoosY <47264268+JackBoosY@users.noreply.github.com> | 2019-11-02 07:51:08 +0800 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2019-11-01 16:51:08 -0700 |
| commit | b6f6619408c14980baa0495b45dd287cc26d460f (patch) | |
| tree | 7ccdfbccb848c445fec84e60c881ff097d4b7968 | |
| parent | bba74913da0b1bceffb227ab3518868528d93c2b (diff) | |
| download | vcpkg-b6f6619408c14980baa0495b45dd287cc26d460f.tar.gz vcpkg-b6f6619408c14980baa0495b45dd287cc26d460f.zip | |
[jsonnet]Upgrade to 0.14.0. (#8848)
| -rw-r--r-- | ports/jsonnet/001-enable-msvc.patch | 54 | ||||
| -rw-r--r-- | ports/jsonnet/002-fix-dependency-and-install.patch | 61 | ||||
| -rw-r--r-- | ports/jsonnet/CONTROL | 2 | ||||
| -rw-r--r-- | ports/jsonnet/portfile.cmake | 29 |
4 files changed, 106 insertions, 40 deletions
diff --git a/ports/jsonnet/001-enable-msvc.patch b/ports/jsonnet/001-enable-msvc.patch index 4bbcf0830..12ddbed86 100644 --- a/ports/jsonnet/001-enable-msvc.patch +++ b/ports/jsonnet/001-enable-msvc.patch @@ -1,17 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index cdd5367..e982ee5 100644 +index 0418d4a..ac8f0f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -13,6 +13,8 @@ set(GLOBAL_OUTPUT_PATH_SUFFIX "" CACHE STRING - +@@ -2,6 +2,8 @@ + cmake_minimum_required(VERSION 2.8.7) project(jsonnet C CXX) +add_definitions(-D_CRT_SECURE_NO_WARNINGS) + - # Discourage in-source builds because they overwrite the hand-written Makefile. - # Use `cmake . -B<dir>` or the CMake GUI to do an out-of-source build. - if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR} AND -@@ -76,6 +78,7 @@ elseif (BUILD_TESTS AND USE_SYSTEM_GTEST) + include(ExternalProject) + include(GNUInstallDirs) + +@@ -89,6 +91,7 @@ else() endif() # Compiler flags. @@ -19,7 +19,7 @@ index cdd5367..e982ee5 100644 if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") set(OPT "-O3") -@@ -85,6 +88,7 @@ else() +@@ -98,6 +101,7 @@ else() # TODO: Windows support. message(FATAL_ERROR "Compiler ${CMAKE_CXX_COMPILER_ID} not supported") endif() @@ -28,18 +28,18 @@ index cdd5367..e982ee5 100644 # Look for libraries in global output path. link_directories(${GLOBAL_OUTPUT_PATH}) diff --git a/cmd/CMakeLists.txt b/cmd/CMakeLists.txt -index 66e6aa0..aedc87e 100644 +index c032f02..d80d2a0 100644 --- a/cmd/CMakeLists.txt +++ b/cmd/CMakeLists.txt @@ -13,5 +13,5 @@ if (BUILD_JSONNETFMT OR BUILD_TESTS) - add_dependencies(jsonnetfmt libjsonnet_static) - target_link_libraries(jsonnetfmt libjsonnet_static) + add_dependencies(jsonnetfmt libjsonnet_for_binaries) + target_link_libraries(jsonnetfmt libjsonnet_for_binaries) - install(TARGETS jsonnetfmt DESTINATION "${CMAKE_INSTALL_BINDIR}") + install(TARGETS jsonnetfmt DESTINATION tools/jsonnet) endif() diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt -index e877015..5ec328b 100644 +index 60fdcb1..82fb7c2 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -28,7 +28,7 @@ set(LIBJSONNET_SOURCE @@ -49,25 +49,19 @@ index e877015..5ec328b 100644 -add_library(libjsonnet SHARED ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) +add_library(libjsonnet ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) add_dependencies(libjsonnet md5 stdlib) - target_link_libraries(libjsonnet md5) + target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json) -@@ -41,13 +41,13 @@ set_target_properties(libjsonnet PROPERTIES OUTPUT_NAME jsonnet +@@ -46,7 +46,7 @@ set_target_properties(libjsonnet PROPERTIES OUTPUT_NAME jsonnet + PUBLIC_HEADER "${LIB_HEADER}") install(TARGETS libjsonnet LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_BINDIR}" PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") - # Static library for jsonnet command-line tool. - add_library(libjsonnet_static STATIC ${LIBJSONNET_SOURCE}) - add_dependencies(libjsonnet_static md5 stdlib) - target_link_libraries(libjsonnet_static md5) --set_target_properties(libjsonnet_static PROPERTIES OUTPUT_NAME jsonnet) - install(TARGETS libjsonnet_static DESTINATION "${CMAKE_INSTALL_LIBDIR}") - - # Tests + if (BUILD_STATIC_LIBS) diff --git a/stdlib/CMakeLists.txt b/stdlib/CMakeLists.txt -index a481d9f..bb8e418 100644 +index a481d9f..0dc3ab6 100644 --- a/stdlib/CMakeLists.txt +++ b/stdlib/CMakeLists.txt @@ -2,6 +2,7 @@ @@ -78,11 +72,9 @@ index a481d9f..bb8e418 100644 # Custom command that will only build stdlib when it changes. add_custom_command( OUTPUT ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h -@@ -9,6 +10,7 @@ add_custom_command( - ${PROJECT_SOURCE_DIR}/stdlib/std.jsonnet - ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h - DEPENDS to_c_array std.jsonnet) -+endif() - +@@ -13,3 +14,4 @@ add_custom_command( # Standard library build target that libjsonnet can depend on. add_custom_target(stdlib ALL + DEPENDS ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h) ++endif() +\ No newline at end of file diff --git a/ports/jsonnet/002-fix-dependency-and-install.patch b/ports/jsonnet/002-fix-dependency-and-install.patch new file mode 100644 index 000000000..cccdc9439 --- /dev/null +++ b/ports/jsonnet/002-fix-dependency-and-install.patch @@ -0,0 +1,61 @@ +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index 82fb7c2..a94b4ff 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -28,6 +28,7 @@ set(LIBJSONNET_SOURCE + string_utils.cpp + vm.cpp) + ++if (BUILD_SHARED_BINARIES) + add_library(libjsonnet ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) + add_dependencies(libjsonnet md5 stdlib) + target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json) +@@ -48,6 +49,7 @@ install(TARGETS libjsonnet + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_BINDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++endif() + + if (BUILD_STATIC_LIBS) + # Static library for jsonnet command-line tool. +@@ -102,3 +104,6 @@ if (BUILD_TESTS) + add_test(jsonnet_test_snippet + ${GLOBAL_OUTPUT_PATH}/jsonnet -e ${TEST_SNIPPET}) + endif() ++ ++ ++install(FILES ${LIBJSONNET_HEADERS} DESTINATION include) +\ No newline at end of file +diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index bf349df..6ed1442 100644 +--- a/cpp/CMakeLists.txt ++++ b/cpp/CMakeLists.txt +@@ -8,9 +8,9 @@ set(LIBJSONNETPP_SOURCE + libjsonnet++.cpp + ) + ++if (BUILD_SHARED_BINARIES) + add_library(libjsonnet++ SHARED ${LIBJSONNETPP_HEADERS} ${LIBJSONNETPP_SOURCE}) +-add_dependencies(libjsonnet++ jsonnet) +-# target_link_libraries(libjsonnet libjsonnet) ++target_link_libraries(libjsonnet++ libjsonnet) + + # CMake prepends CMAKE_SHARED_LIBRARY_PREFIX to shared libraries, so without + # this step the output would be |liblibjsonnet|. +@@ -22,6 +22,7 @@ install(TARGETS libjsonnet++ + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++endif() + + if (BUILD_STATIC_LIBS) + # Static library for jsonnet command-line tool. +@@ -38,6 +39,8 @@ else() + add_library(libjsonnet++_for_binaries ALIAS libjsonnet++_static) + endif() + ++install(FILES ${LIBJSONNETPP_HEADERS} DESTINATION include) ++ + # Tests + function(add_test_executablepp test_name) + if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/${test_name}.cpp) diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL index 36c3d0c1b..2f6e669ef 100644 --- a/ports/jsonnet/CONTROL +++ b/ports/jsonnet/CONTROL @@ -1,4 +1,4 @@ Source: jsonnet -Version: 0.13.0 +Version: 0.14.0 Homepage: https://github.com/google/jsonnet Description: Jsonnet - The data templating language diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake index b321c6a75..2840f513f 100644 --- a/ports/jsonnet/portfile.cmake +++ b/ports/jsonnet/portfile.cmake @@ -1,17 +1,16 @@ -include(vcpkg_common_functions) - -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) +if (VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/jsonnet - REF v0.13.0 - SHA512 d19e5398763e37b79b0ef02368f6bd6215d2df234b5ff7a6d98e2306a0d47290600061c9f868c0c262570b4f0ee9eee6c309bcc93937b12f6c14f8d12339a7d5 + REF 552d8ec6f6b973a6357b83eb9bacd707366d28f0 # v0.14.0 + SHA512 a4a9c6285155addbc5b7ef1a0c02b99b4d941bfc8e6536eaf029bff77c9c303a5c36f654ca8ab6b9757d2710c100c3e4a05f310269d82b0385ae55ea6ead14ef HEAD_REF master PATCHES - 001-enable-msvc.patch + 001-enable-msvc.patch + 002-fix-dependency-and-install.patch ) if (VCPKG_TARGET_IS_WINDOWS) @@ -28,15 +27,29 @@ else() ) endif() +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_SHARED ON) + set(BUILD_STATIC OFF) +else() + set(BUILD_SHARED OFF) + set(BUILD_STATIC ON) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DBUILD_JSONNET=OFF -DBUILD_JSONNETFMT=OFF -DBUILD_TESTS=OFF + OPTIONS + -DBUILD_SHARED_BINARIES=${BUILD_SHARED} + -DBUILD_STATIC_LIBS=${BUILD_STATIC} + -DBUILD_JSONNET=OFF + -DBUILD_JSONNETFMT=OFF + -DBUILD_TESTS=OFF ) vcpkg_install_cmake() vcpkg_copy_pdbs() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/jsonnet) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jsonnet RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) |
