aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/elements
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/elements')
-rw-r--r--vcpkg/ports/elements/fix-dependencies.patch38
-rw-r--r--vcpkg/ports/elements/portfile.cmake60
-rw-r--r--vcpkg/ports/elements/vcpkg.json23
3 files changed, 121 insertions, 0 deletions
diff --git a/vcpkg/ports/elements/fix-dependencies.patch b/vcpkg/ports/elements/fix-dependencies.patch
new file mode 100644
index 0000000..81fda99
--- /dev/null
+++ b/vcpkg/ports/elements/fix-dependencies.patch
@@ -0,0 +1,38 @@
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+index e84ca98..7a06ed2 100644
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -226,14 +226,7 @@ endif()
+ ###############################################################################
+ # Cycfi Infra
+
+-FetchContent_Declare(
+- cycfi_infra
+- GIT_REPOSITORY https://github.com/cycfi/infra.git
+- GIT_TAG master
+- GIT_SUBMODULES_RECURSE ON
+-)
+-
+-FetchContent_MakeAvailable(cycfi_infra)
++add_subdirectory(infra)
+ target_link_libraries(elements PUBLIC cycfi::infra)
+
+ ###############################################################################
+@@ -272,15 +265,8 @@ endif()
+ ###############################################################################
+ # Asio headers
+
+-FetchContent_Declare(
+- asio
+- GIT_REPOSITORY https://github.com/chriskohlhoff/asio.git
+- GIT_TAG asio-1-29-0
+- GIT_SHALLOW TRUE
+-)
+-FetchContent_MakeAvailable(asio)
+-
+-target_include_directories(elements PUBLIC ${asio_SOURCE_DIR}/asio/include)
++find_package(asio CONFIG REQUIRED)
++target_include_directories(elements PUBLIC ${ASIO_INCLUDE_DIR})
+
+ ###############################################################################
+ # Global options
diff --git a/vcpkg/ports/elements/portfile.cmake b/vcpkg/ports/elements/portfile.cmake
new file mode 100644
index 0000000..b1291a3
--- /dev/null
+++ b/vcpkg/ports/elements/portfile.cmake
@@ -0,0 +1,60 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO cycfi/elements
+ REF 663dcdb82dffa9e70cf6643b50ed56a39c8015ed
+ SHA512 4fc579df6dd471c69996a991e4b2c4c204e7f02d1d247de7a962fcd97d472cb63b58faa2ab7a0cfb47cc004a03483d4ef9123cbd8f562ba7007d779ba03221ca
+ HEAD_REF master
+ PATCHES
+ fix-dependencies.patch
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH INFRA_SOURCE_PATH
+ REPO cycfi/infra
+ REF 965ecdb953c8c1187b327cff12655f9a92352acc
+ SHA512 37d990ec70aa37dded3d464cadc28cedd320986ea5816669698de43376bb77d0f32951f0f8a03af65a472a46886ddf628e7acfd0314dd5ebfa49a3e98984054f
+ HEAD_REF master
+)
+if(NOT EXISTS "${SOURCE_PATH}/lib/infra/CMakeLists.txt")
+ file(REMOVE_RECURSE "${SOURCE_PATH}/lib/infra")
+ file(RENAME "${INFRA_SOURCE_PATH}" "${SOURCE_PATH}/lib/infra")
+endif()
+
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ set(ELEMENTS_HOST_UI_LIBRARY "win32")
+elseif(VCPKG_TARGET_IS_OSX)
+ set(ELEMENTS_HOST_UI_LIBRARY "cocoa")
+else()
+ set(ELEMENTS_HOST_UI_LIBRARY "gtk")
+endif()
+
+vcpkg_find_acquire_program(PKGCONFIG)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DELEMENTS_BUILD_EXAMPLES=OFF
+ -DELEMENTS_HOST_UI_LIBRARY=${ELEMENTS_HOST_UI_LIBRARY}
+ "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}"
+)
+
+vcpkg_cmake_build()
+
+file(INSTALL "${SOURCE_PATH}/lib/include/elements.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
+file(INSTALL "${SOURCE_PATH}/lib/include/elements" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
+file(INSTALL "${SOURCE_PATH}/lib/infra/include/infra" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
+
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(GLOB ELEMENTS_LIBS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/*elements*")
+ file(INSTALL ${ELEMENTS_LIBS} DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
+endif()
+
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(GLOB ELEMENTS_LIBS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/*elements*")
+ file(INSTALL ${ELEMENTS_LIBS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+endif()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/README.md")
diff --git a/vcpkg/ports/elements/vcpkg.json b/vcpkg/ports/elements/vcpkg.json
new file mode 100644
index 0000000..74d35b9
--- /dev/null
+++ b/vcpkg/ports/elements/vcpkg.json
@@ -0,0 +1,23 @@
+{
+ "name": "elements",
+ "version-date": "2024-09-12",
+ "description": "Elements is a lightweight, fine-grained, resolution independent, modular GUI library.",
+ "homepage": "https://cycfi.github.io/elements",
+ "license": "MIT",
+ "supports": "(windows & staticcrt) | osx | linux",
+ "dependencies": [
+ "asio",
+ "cairo",
+ "fontconfig",
+ "freetype",
+ {
+ "name": "gtk3",
+ "platform": "!osx & !windows"
+ },
+ "libwebp",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}