aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/vcpkg-tool-ninja
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/vcpkg-tool-ninja')
-rw-r--r--vcpkg/ports/vcpkg-tool-ninja/portfile.cmake30
-rw-r--r--vcpkg/ports/vcpkg-tool-ninja/use-internal-re2c.patch13
-rw-r--r--vcpkg/ports/vcpkg-tool-ninja/vcpkg-port-config.cmake1
-rw-r--r--vcpkg/ports/vcpkg-tool-ninja/vcpkg.json13
4 files changed, 57 insertions, 0 deletions
diff --git a/vcpkg/ports/vcpkg-tool-ninja/portfile.cmake b/vcpkg/ports/vcpkg-tool-ninja/portfile.cmake
new file mode 100644
index 0000000..2c78808
--- /dev/null
+++ b/vcpkg/ports/vcpkg-tool-ninja/portfile.cmake
@@ -0,0 +1,30 @@
+set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled)
+
+vcpkg_download_distfile(
+ LONG_PATH_PATCH
+ URLS "https://patch-diff.githubusercontent.com/raw/ninja-build/ninja/pull/2056.diff?full_index=1" # stable?
+ FILENAME 2056.diff
+ SHA512 3c840b19d51a2c145561e3026aee503eccffcc2d1f28db6d848a504c8e163b699fd09cafcfd326a1a95e08f76ec3b07860e2658386229af2bc2573b615cf2fed
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ninja-build/ninja
+ REF 170c387a7461d476523ae29c115a58f16e4d3430
+ SHA512 75c0f263ad325d14c99c9a1d85e571832407b481271a2733e78183a478f7ecd22d84451fc8d7ce16ab20d641ce040761d7ab266695d66bbac5b2b9a3a29aa521
+ HEAD_REF master
+ PATCHES
+ "${LONG_PATH_PATCH}" # Long path support windows
+ use-internal-re2c.patch
+)
+set(VCPKG_BUILD_TYPE release) #we only need release here!
+vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}")
+vcpkg_cmake_install()
+vcpkg_copy_tools(
+ TOOL_NAMES ninja
+ DESTINATION "${CURRENT_PACKAGES_DIR}/tools/ninja"
+ AUTO_CLEAN
+)
+
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
+configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake" @ONLY)
diff --git a/vcpkg/ports/vcpkg-tool-ninja/use-internal-re2c.patch b/vcpkg/ports/vcpkg-tool-ninja/use-internal-re2c.patch
new file mode 100644
index 0000000..0b83263
--- /dev/null
+++ b/vcpkg/ports/vcpkg-tool-ninja/use-internal-re2c.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 42094d2..d4eda66 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -43,7 +43,7 @@ endif()
+
+ # --- optional re2c
+ find_program(RE2C re2c)
+-if(RE2C)
++if(0)
+ # the depfile parser and ninja lexers are generated using re2c.
+ function(re2c IN OUT)
+ add_custom_command(DEPENDS ${IN} OUTPUT ${OUT}
diff --git a/vcpkg/ports/vcpkg-tool-ninja/vcpkg-port-config.cmake b/vcpkg/ports/vcpkg-tool-ninja/vcpkg-port-config.cmake
new file mode 100644
index 0000000..8bf42e9
--- /dev/null
+++ b/vcpkg/ports/vcpkg-tool-ninja/vcpkg-port-config.cmake
@@ -0,0 +1 @@
+set(NINJA "${CMAKE_CURRENT_LIST_DIR}/../../tools/ninja/ninja@VCPKG_TARGET_EXECUTABLE_SUFFIX@")
diff --git a/vcpkg/ports/vcpkg-tool-ninja/vcpkg.json b/vcpkg/ports/vcpkg-tool-ninja/vcpkg.json
new file mode 100644
index 0000000..98bf21c
--- /dev/null
+++ b/vcpkg/ports/vcpkg-tool-ninja/vcpkg.json
@@ -0,0 +1,13 @@
+{
+ "name": "vcpkg-tool-ninja",
+ "version-date": "2022-03-31",
+ "port-version": 2,
+ "description": "Ninja is a small build system with a focus on speed.",
+ "homepage": "https://ninja-build.org/",
+ "license": "Apache-2.0",
+ "supports": "native",
+ "dependencies": [
+ "vcpkg-cmake",
+ "vcpkg-cmake-config"
+ ]
+}