aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvvandrounik <aliance2012@mail.ru>2020-04-18 00:10:00 +0300
committerGitHub <noreply@github.com>2020-04-17 14:10:00 -0700
commit7d2f838ea7c5615e5da0c82007cbfef080146867 (patch)
tree7b60b082b3e063c3417f7a8d08c2ea2f4a65c4cc
parent89741c2d6866b0fcde541bd9d618bf749bd2238e (diff)
downloadvcpkg-7d2f838ea7c5615e5da0c82007cbfef080146867.tar.gz
vcpkg-7d2f838ea7c5615e5da0c82007cbfef080146867.zip
[c4core] Add new port (#10791)
* [c4core] Add new port * Remove deprecated include * Fix ver regarding maintainer guide * Mark port as unsupport arm/arm64 * Update CI baseline * Mark port as unsupport OSX * Update CI baseline * Fix path to header instead of moving Signed-off-by: vvandrounik <vvandrounik@gmail.com> * Replace deprecated func vcpkg_extract_source_archive, add PREFER_NINJA to conf
-rw-r--r--ports/c4core/CONTROL5
-rw-r--r--ports/c4core/portfile.cmake79
-rw-r--r--scripts/ci.baseline.txt4
3 files changed, 88 insertions, 0 deletions
diff --git a/ports/c4core/CONTROL b/ports/c4core/CONTROL
new file mode 100644
index 000000000..62eed51dd
--- /dev/null
+++ b/ports/c4core/CONTROL
@@ -0,0 +1,5 @@
+Source: c4core
+Version: 2020-04-12
+Homepage: https://github.com/biojppm/c4core
+Description: Library of low-level C++ utilities
+Supports: !(arm|arm64|osx) \ No newline at end of file
diff --git a/ports/c4core/portfile.cmake b/ports/c4core/portfile.cmake
new file mode 100644
index 000000000..2b764af9d
--- /dev/null
+++ b/ports/c4core/portfile.cmake
@@ -0,0 +1,79 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_fail_port_install(
+ ON_ARCH "arm" "arm64"
+ ON_TARGET "OSX"
+)
+
+# Get c4core src
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO biojppm/c4core
+ REF bc4de0291bb96ae509ee99a54f139563cf14638e
+ SHA512 2c0c4511cb43f34492b6d0d8dfef90623dfacb6ae43f6a6173fbf9efa63f7a018235ec9dcd9a211a3cd393c2114adb39a4276df94e2d23f9c354d644a36e51a0
+ HEAD_REF master
+)
+
+set(COMMIT_HASH a0f0c17bfc9a9a91cc72891539b513c129c6d122)
+
+# Get cmake scripts for c4core
+vcpkg_download_distfile(CMAKE_ARCHIVE
+ URLS "https://github.com/biojppm/cmake/archive/${COMMIT_HASH}.zip"
+ FILENAME "cmake-${COMMIT_HASH}.zip"
+ SHA512 4fbc711f3120501fa40733c3b66e34cd6a7e1b598b1378fbb59d1a87c88290a03d021f5176634089da41682fd918d7e27c6c146052dec54d7e956be15f12744f
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH_CMAKE
+ ARCHIVE ${CMAKE_ARCHIVE}
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/deps"
+)
+
+file(REMOVE_RECURSE "${SOURCE_PATH}/cmake")
+file(RENAME ${SOURCE_PATH_CMAKE} "${SOURCE_PATH}/cmake")
+
+set(COMMIT_HASH 78e525c6e74df6d62d782864a52c0d279dcee24f)
+
+vcpkg_download_distfile(DEBUGBREAK_ARCHIVE
+ URLS "https://github.com/biojppm/debugbreak/archive/${COMMIT_HASH}.zip"
+ FILENAME "debugbreak-${COMMIT_HASH}.zip"
+ SHA512 25f3d45b09ce362f736fac0f6d6a6c7f2053fec4975b32b0565288893e4658fd0648a7988c3a5fe0e373e92705d7a3970eaa7cfc053f375ffb75e80772d0df64
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH_DEBUGBREAK
+ ARCHIVE ${DEBUGBREAK_ARCHIVE}
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/deps"
+)
+
+file(REMOVE_RECURSE "${SOURCE_PATH}/ext/debugbreak")
+file(RENAME ${SOURCE_PATH_DEBUGBREAK} "${SOURCE_PATH}/ext/debugbreak")
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
+elseif(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/c4core)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/c4core)
+endif()
+
+# Fix paths in config file
+file(READ "${CURRENT_PACKAGES_DIR}/share/c4core/c4coreConfig.cmake" _contents)
+string(REGEX REPLACE [[[ \t\r\n]*"\${PACKAGE_PREFIX_DIR}[\./\\]*"]] [["${PACKAGE_PREFIX_DIR}/../.."]] _contents "${_contents}")
+file(WRITE "${CURRENT_PACKAGES_DIR}/share/c4core/c4coreConfig.cmake" "${_contents}")
+
+# Fix path to header
+vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/c4/error.hpp" "<debugbreak/debugbreak.h>" "\"extern/debugbreak/debugbreak.h\"")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(INSTALL
+ "${SOURCE_PATH}/LICENSE.txt"
+ DESTINATION "${CURRENT_PACKAGES_DIR}/share/c4core" RENAME copyright)
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index cc6ce072a..efc30be81 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -1905,3 +1905,7 @@ zkpp:x64-windows-static=fail
zkpp:arm64-windows=fail
zkpp:x64-uwp=fail
zkpp:arm-uwp=fail
+c4core:arm-uwp=fail
+c4core:arm64-windows=fail
+c4core:x64-osx=fail
+