diff options
| author | Thad House <thadhouse1@gmail.com> | 2019-05-31 13:49:13 -0700 |
|---|---|---|
| committer | Thad House <thadhouse1@gmail.com> | 2019-05-31 13:49:13 -0700 |
| commit | 788af2a75cfddbb9ef4e4217f4c0b506d25f2f3b (patch) | |
| tree | 173ade0e6960917458afe9dd9fb0c3c2b7f32051 /ports/jsonnet | |
| parent | f483ae4c7fd04eed671a1de595374f84175311e9 (diff) | |
| parent | 26a9338c5055193915290527eacb37f2ac7fdcb8 (diff) | |
| download | vcpkg-788af2a75cfddbb9ef4e4217f4c0b506d25f2f3b.tar.gz vcpkg-788af2a75cfddbb9ef4e4217f4c0b506d25f2f3b.zip | |
Merge master
Diffstat (limited to 'ports/jsonnet')
| -rw-r--r-- | ports/jsonnet/001-enable-msvc.patch | 78 | ||||
| -rw-r--r-- | ports/jsonnet/CMakeLists.txt | 53 | ||||
| -rw-r--r-- | ports/jsonnet/CONTROL | 2 | ||||
| -rw-r--r-- | ports/jsonnet/portfile.cmake | 22 |
4 files changed, 93 insertions, 62 deletions
diff --git a/ports/jsonnet/001-enable-msvc.patch b/ports/jsonnet/001-enable-msvc.patch new file mode 100644 index 000000000..3a666ee4b --- /dev/null +++ b/ports/jsonnet/001-enable-msvc.patch @@ -0,0 +1,78 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8682cc8..88b95c1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,6 +11,8 @@ set(GLOBAL_OUTPUT_PATH_SUFFIX "" CACHE STRING + + 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 +@@ -73,17 +75,6 @@ elseif (BUILD_TESTS AND USE_SYSTEM_GTEST) + add_subdirectory(/usr/src/googletest ${GLOBAL_OUTPUT_PATH}/googletest-build) + endif() + +-# Compiler flags. +-if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" OR +- ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") +- set(OPT "-O3") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -Wextra -pedantic -std=c99 -O3 ${OPT}") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -Woverloaded-virtual -pedantic -std=c++0x -fPIC ${OPT}") +-else() +- # TODO: Windows support. +- message(FATAL_ERROR "Compiler ${CMAKE_CXX_COMPILER_ID} not supported") +-endif() +- + # Look for libraries in global output path. + link_directories(${GLOBAL_OUTPUT_PATH}) + +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index f1c32b8..1a45a51 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -28,7 +28,7 @@ set(LIBJSONNET_SOURCE + string_utils.cpp + vm.cpp) + +-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) + +@@ -36,13 +36,12 @@ target_link_libraries(libjsonnet md5) + # this step the output would be |liblibjsonnet|. + set_target_properties(libjsonnet PROPERTIES OUTPUT_NAME jsonnet + VERSION 0.12.1 SOVERSION 0) +-install(TARGETS libjsonnet DESTINATION lib) ++install(TARGETS libjsonnet DESTINATION lib RUNTIME DESTINATION bin) + + # 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) + + # Tests + +diff --git a/stdlib/CMakeLists.txt b/stdlib/CMakeLists.txt +index a481d9f..9fe768e 100644 +--- a/stdlib/CMakeLists.txt ++++ b/stdlib/CMakeLists.txt +@@ -2,14 +2,6 @@ + + add_executable(to_c_array to_c_array.cpp) + +-# Custom command that will only build stdlib when it changes. +-add_custom_command( +- OUTPUT ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h +- COMMAND ${GLOBAL_OUTPUT_PATH}/to_c_array +- ${PROJECT_SOURCE_DIR}/stdlib/std.jsonnet +- ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h +- DEPENDS to_c_array std.jsonnet) +- + # Standard library build target that libjsonnet can depend on. + add_custom_target(stdlib ALL + DEPENDS ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h) diff --git a/ports/jsonnet/CMakeLists.txt b/ports/jsonnet/CMakeLists.txt deleted file mode 100644 index 4f749e5b8..000000000 --- a/ports/jsonnet/CMakeLists.txt +++ /dev/null @@ -1,53 +0,0 @@ -cmake_minimum_required(VERSION 3.5.1) -project(jsonnet) - -if(MSVC) - add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) -endif() - -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -set( jsonnet_sources - core/desugarer.cpp - core/formatter.cpp - core/lexer.cpp - core/libjsonnet.cpp - core/parser.cpp - core/pass.cpp - core/static_analysis.cpp - core/string_utils.cpp - core/vm.cpp -) - -include_directories(third_party/md5 include cpp core stdlib) - -add_library(md5 STATIC third_party/md5/md5.cpp) - -add_library(libjsonnet ${jsonnet_sources}) -target_link_libraries(libjsonnet md5) - -add_library(libjsonnet++ cpp/libjsonnet++.cpp) -target_link_libraries(libjsonnet++ libjsonnet) - -add_executable(jsonnet cmd/jsonnet.cpp) -target_link_libraries(jsonnet libjsonnet) - - -install( - TARGETS libjsonnet libjsonnet++ - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) -if(NOT DISABLE_INSTALL_TOOLS) - install ( - TARGETS jsonnet - RUNTIME DESTINATION tools/jsonnet - ) -endif() - -if(NOT DISABLE_INSTALL_HEADERS) - install(FILES include/libjsonnet++.h include/libjsonnet.h DESTINATION include) -endif() diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL index 49618f59e..c478c789c 100644 --- a/ports/jsonnet/CONTROL +++ b/ports/jsonnet/CONTROL @@ -1,3 +1,3 @@ Source: jsonnet -Version: 2018-11-01-2 +Version: 2019-05-08 Description: Jsonnet - The data templating language diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake index ee3c43890..d1f9ca153 100644 --- a/ports/jsonnet/portfile.cmake +++ b/ports/jsonnet/portfile.cmake @@ -1,11 +1,17 @@ include(vcpkg_common_functions) +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO google/jsonnet - REF a0876b301daf8f45e16ac5f7bb814d0617772bb0 - SHA512 a57380ecc578b11f3a763202abb7ab703f2cc3c098ca7602d0bd199594a9e8d1cebc6d51332658edb08bf088e565d6afae0cb2faaf127fa33542a406de1ac055 - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO google/jsonnet + REF c323f5ce5b8aa663585d23dc0fb94d4b166c6f16 + SHA512 d9f84c39929e9e80272e2b834f68a13b48c1cb4d64b70f5b6fa16e677555d947f7cf57372453e23066a330faa6a429b9aa750271b46f763581977a223d238785 + HEAD_REF master + PATCHES + 001-enable-msvc.patch ) if (WIN32) @@ -22,11 +28,10 @@ else() ) endif() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON + PREFER_NINJA + OPTIONS -DBUILD_JSONNET=OFF -DBUILD_TESTS=OFF ) vcpkg_install_cmake() @@ -34,3 +39,4 @@ 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) |
