diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/yajl | |
Diffstat (limited to 'vcpkg/ports/yajl')
| -rw-r--r-- | vcpkg/ports/yajl/cmake.patch | 67 | ||||
| -rw-r--r-- | vcpkg/ports/yajl/portfile.cmake | 44 | ||||
| -rw-r--r-- | vcpkg/ports/yajl/vcpkg.json | 14 |
3 files changed, 125 insertions, 0 deletions
diff --git a/vcpkg/ports/yajl/cmake.patch b/vcpkg/ports/yajl/cmake.patch new file mode 100644 index 0000000..56d5ac7 --- /dev/null +++ b/vcpkg/ports/yajl/cmake.patch @@ -0,0 +1,67 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4c0a9be..cbec22f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,7 +28,7 @@ ENDIF (NOT CMAKE_BUILD_TYPE)
+
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+
+-IF (WIN32)
++IF (WIN32 AND FALSE)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
+ ADD_DEFINITIONS(-DWIN32)
+ SET(linkFlags "/PDB:NONE /INCREMENTAL:NO /OPT:NOREF /OPT:NOICF")
+@@ -46,7 +46,8 @@ IF (WIN32)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996 /wd4255 /wd4130 /wd4100 /wd4711")
+ SET(CMAKE_C_FLAGS_DEBUG "/D DEBUG /Od /Z7")
+ SET(CMAKE_C_FLAGS_RELEASE "/D NDEBUG /O2")
+-ELSE (WIN32)
++endif()
++if (NOT WIN32)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+ IF(CMAKE_COMPILER_IS_GNUCC)
+ INCLUDE(CheckCCompilerFlag)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 99cf9e9..454482a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -78,7 +78,7 @@ INCLUDE_DIRECTORIES(${incDir}/..)
+ # at build time you may specify the cmake variable LIB_SUFFIX to handle
+ # 64-bit systems which use 'lib64'
+ INSTALL(TARGETS yajl
+- RUNTIME DESTINATION lib${LIB_SUFFIX}
++ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX})
+ INSTALL(TARGETS yajl_s ARCHIVE DESTINATION lib${LIB_SUFFIX})
+diff --git a/verify/CMakeLists.txt b/verify/CMakeLists.txt
+index 2f39008..967fca1 100644
+--- a/verify/CMakeLists.txt
++++ b/verify/CMakeLists.txt
+@@ -29,9 +29,7 @@ ADD_EXECUTABLE(json_verify ${SRCS})
+ TARGET_LINK_LIBRARIES(json_verify yajl_s)
+
+ # copy in the binary
+-GET_TARGET_PROPERTY(binPath json_verify LOCATION)
+-
+ ADD_CUSTOM_COMMAND(TARGET json_verify POST_BUILD
+- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${binPath} ${binDir})
++ COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:json_verify> ${binDir})
+
+ INSTALL(TARGETS json_verify RUNTIME DESTINATION bin)
+diff --git a/reformatter/CMakeLists.txt b/reformatter/CMakeLists.txt
+index 52a9bee..267d02e 100644
+--- a/reformatter/CMakeLists.txt
++++ b/reformatter/CMakeLists.txt
+@@ -35,9 +35,7 @@ IF (NOT WIN32)
+ ENDIF (NOT WIN32)
+
+ # copy the binary into the output directory
+-GET_TARGET_PROPERTY(binPath json_reformat LOCATION)
+-
+ ADD_CUSTOM_COMMAND(TARGET json_reformat POST_BUILD
+- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${binPath} ${binDir})
++ COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:json_reformat> ${binDir})
+
+ INSTALL(TARGETS json_reformat RUNTIME DESTINATION bin)
+
\ No newline at end of file diff --git a/vcpkg/ports/yajl/portfile.cmake b/vcpkg/ports/yajl/portfile.cmake new file mode 100644 index 0000000..782e990 --- /dev/null +++ b/vcpkg/ports/yajl/portfile.cmake @@ -0,0 +1,44 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lloyd/yajl + REF a0ecdde0c042b9256170f2f8890dd9451a4240aa #2.1.0 + SHA512 cf0279fdbdc21d07bc0f2d409f1dddb39fd2ad62ab9872e620f46de4753958f8c59e44ef2ee734547f0f25f9490bada8c9e97dcc1a4b14b25d3e7a7254f8e1f3 + HEAD_REF master + PATCHES + cmake.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +if (EXISTS "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig/yajl.pc") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig/yajl.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/yajl.pc") +endif() +if (EXISTS "${CURRENT_PACKAGES_DIR}/share/pkgconfig/yajl.pc") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + file(RENAME "${CURRENT_PACKAGES_DIR}/share/pkgconfig/yajl.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/yajl.pc") +endif() + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/pkgconfig") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + file(GLOB SHAREDOBJECTS "${CURRENT_PACKAGES_DIR}/lib/libyajl.so*" "${CURRENT_PACKAGES_DIR}/debug/lib/libyajl.so*") + file(REMOVE_RECURSE "${SHAREDOBJECTS}" "${CURRENT_PACKAGES_DIR}/lib/yajl.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/yajl.lib") +else() + file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*.exe" "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") + file(REMOVE_RECURSE + ${EXES} + "${CURRENT_PACKAGES_DIR}/lib/yajl_s.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/yajl_s.lib" + "${CURRENT_PACKAGES_DIR}/lib/libyajl_s.a" "${CURRENT_PACKAGES_DIR}/debug/lib/libyajl_s.a" + ) +endif() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/yajl" RENAME copyright) diff --git a/vcpkg/ports/yajl/vcpkg.json b/vcpkg/ports/yajl/vcpkg.json new file mode 100644 index 0000000..c68354f --- /dev/null +++ b/vcpkg/ports/yajl/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "yajl", + "version": "2.1.0", + "port-version": 5, + "description": "Yet Another JSON Library", + "homepage": "https://github.com/lloyd/yajl", + "license": "ISC", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} |