From a609405c3a154f5c45cf6237bfcc2430689bd028 Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Wed, 24 Jul 2024 23:30:47 +0200 Subject: [PATCH 01/11] update vcpkg to 2024.07.12 --- CMakeLists.txt | 2 +- cmake/vcpkg_ports/glm/fix-clang.patch | 17 ----------------- cmake/vcpkg_ports/glm/portfile.cmake | 27 --------------------------- cmake/vcpkg_ports/glm/usage | 8 -------- cmake/vcpkg_ports/glm/vcpkg.json | 18 ------------------ vcpkg-configuration.json | 2 +- 6 files changed, 2 insertions(+), 72 deletions(-) delete mode 100644 cmake/vcpkg_ports/glm/fix-clang.patch delete mode 100644 cmake/vcpkg_ports/glm/portfile.cmake delete mode 100644 cmake/vcpkg_ports/glm/usage delete mode 100644 cmake/vcpkg_ports/glm/vcpkg.json diff --git a/CMakeLists.txt b/CMakeLists.txt index 2fbba3d637..599c809b9a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.19...3.29 FATAL_ERROR) # Vcpkg setup -set(MEGAMOL_VCPKG_VERSION "2024.06.15") # Update default-registry baseline in vcpkg-configuration.json when changing! +set(MEGAMOL_VCPKG_VERSION "2024.07.12") # Update default-registry baseline in vcpkg-configuration.json when changing! include(cmake/megamol_vcpkg_setup.cmake) include(cmake/megamol_feature_option.cmake) diff --git a/cmake/vcpkg_ports/glm/fix-clang.patch b/cmake/vcpkg_ports/glm/fix-clang.patch deleted file mode 100644 index e7c7b4138c..0000000000 --- a/cmake/vcpkg_ports/glm/fix-clang.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/glm/detail/setup.hpp b/glm/detail/setup.hpp -index 315eb346..21ccebf4 100644 ---- a/glm/detail/setup.hpp -+++ b/glm/detail/setup.hpp -@@ -595,7 +595,11 @@ - # define GLM_DEPRECATED __declspec(deprecated) - # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name - #elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG | GLM_COMPILER_INTEL) --# define GLM_DEPRECATED __attribute__((__deprecated__)) -+# if GLM_LANG & GLM_LANG_CXX14_FLAG -+# define GLM_DEPRECATED [[deprecated]] -+# else -+# define GLM_DEPRECATED __attribute__((__deprecated__)) -+# endif - # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __attribute__((aligned(alignment))) - #elif (GLM_COMPILER & GLM_COMPILER_CUDA) || (GLM_COMPILER & GLM_COMPILER_HIP) - # define GLM_DEPRECATED diff --git a/cmake/vcpkg_ports/glm/portfile.cmake b/cmake/vcpkg_ports/glm/portfile.cmake deleted file mode 100644 index 00ba307654..0000000000 --- a/cmake/vcpkg_ports/glm/portfile.cmake +++ /dev/null @@ -1,27 +0,0 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO g-truc/glm - REF "${VERSION}" - SHA512 c6c6fa1ea7a7e97820e36ee042a78be248ae828c99c1b1111080d9bf334a5160c9993a70312351c92a867cd49907c95f9f357c8dfe2bc29946da6e83e27ba20c - HEAD_REF master - PATCHES - fix-clang.patch # Backport https://github.com/g-truc/glm/pull/1286. Remove with next update. -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DGLM_BUILD_LIBRARY=ON - -DGLM_BUILD_TESTS=OFF - -DGLM_BUILD_INSTALL=ON -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/copying.txt") -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/cmake/vcpkg_ports/glm/usage b/cmake/vcpkg_ports/glm/usage deleted file mode 100644 index 0f63af2a73..0000000000 --- a/cmake/vcpkg_ports/glm/usage +++ /dev/null @@ -1,8 +0,0 @@ -The package glm provides CMake targets: - - find_package(glm CONFIG REQUIRED) - target_link_libraries(main PRIVATE glm::glm) - - # Or use the header-only version - find_package(glm CONFIG REQUIRED) - target_link_libraries(main PRIVATE glm::glm-header-only) diff --git a/cmake/vcpkg_ports/glm/vcpkg.json b/cmake/vcpkg_ports/glm/vcpkg.json deleted file mode 100644 index cd29c8f060..0000000000 --- a/cmake/vcpkg_ports/glm/vcpkg.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "glm", - "version": "1.0.1", - "port-version": 3, - "description": "OpenGL Mathematics (GLM)", - "homepage": "https://glm.g-truc.net", - "license": "MIT", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index a20e7f35bb..63d28aaf30 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -1,7 +1,7 @@ { "default-registry": { "kind": "builtin", - "baseline": "f7423ee180c4b7f40d43402c2feb3859161ef625" + "baseline": "1de2026f28ead93ff1773e6e680387643e914ea1" }, "registries": [ { From 0505b7d5f5cc4b9a461c1de4b7f3a4256507974a Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Wed, 24 Jul 2024 23:43:09 +0200 Subject: [PATCH 02/11] import vcpkg ports from visus registry as overlay ports Co-authored-by: Guido Reina --- cmake/vcpkg_ports/embree/cmake_policy.patch | 14 ++ cmake/vcpkg_ports/embree/fix-path.patch | 27 ++++ .../vcpkg_ports/embree/fix-static-usage.patch | 26 ++++ .../embree/fix-targets-file-not-found.patch | 18 +++ cmake/vcpkg_ports/embree/portfile.cmake | 115 ++++++++++++++++ cmake/vcpkg_ports/embree/vcpkg.json | 43 ++++++ cmake/vcpkg_ports/ispc/portfile.cmake | 39 ++++++ cmake/vcpkg_ports/ispc/vcpkg.json | 18 +++ cmake/vcpkg_ports/openvkl/portfile.cmake | 35 +++++ cmake/vcpkg_ports/openvkl/vcpkg.json | 88 +++++++++++++ .../ospray/fix-config-dir-depth.patch | 14 ++ cmake/vcpkg_ports/ospray/portfile.cmake | 46 +++++++ cmake/vcpkg_ports/ospray/vcpkg.json | 123 ++++++++++++++++++ cmake/vcpkg_ports/rkcommon/portfile.cmake | 26 ++++ cmake/vcpkg_ports/rkcommon/vcpkg.json | 22 ++++ vcpkg-configuration.json | 16 +-- 16 files changed, 655 insertions(+), 15 deletions(-) create mode 100644 cmake/vcpkg_ports/embree/cmake_policy.patch create mode 100644 cmake/vcpkg_ports/embree/fix-path.patch create mode 100644 cmake/vcpkg_ports/embree/fix-static-usage.patch create mode 100644 cmake/vcpkg_ports/embree/fix-targets-file-not-found.patch create mode 100644 cmake/vcpkg_ports/embree/portfile.cmake create mode 100644 cmake/vcpkg_ports/embree/vcpkg.json create mode 100644 cmake/vcpkg_ports/ispc/portfile.cmake create mode 100644 cmake/vcpkg_ports/ispc/vcpkg.json create mode 100644 cmake/vcpkg_ports/openvkl/portfile.cmake create mode 100644 cmake/vcpkg_ports/openvkl/vcpkg.json create mode 100644 cmake/vcpkg_ports/ospray/fix-config-dir-depth.patch create mode 100644 cmake/vcpkg_ports/ospray/portfile.cmake create mode 100644 cmake/vcpkg_ports/ospray/vcpkg.json create mode 100644 cmake/vcpkg_ports/rkcommon/portfile.cmake create mode 100644 cmake/vcpkg_ports/rkcommon/vcpkg.json diff --git a/cmake/vcpkg_ports/embree/cmake_policy.patch b/cmake/vcpkg_ports/embree/cmake_policy.patch new file mode 100644 index 0000000000..e37d21b10d --- /dev/null +++ b/cmake/vcpkg_ports/embree/cmake_policy.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 06f49a8..fdaaee7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -69,6 +69,9 @@ IF(COMMAND cmake_policy) + if(POLICY CMP0074) + cmake_policy(SET CMP0074 NEW) + endif() ++ if (POLICY CMP0001) ++ cmake_policy(SET CMP0001 OLD) ++ endif() + ENDIF(COMMAND cmake_policy) + + MARK_AS_ADVANCED(CMAKE_BACKWARDS_COMPATIBILITY) diff --git a/cmake/vcpkg_ports/embree/fix-path.patch b/cmake/vcpkg_ports/embree/fix-path.patch new file mode 100644 index 0000000000..9e3f2208e2 --- /dev/null +++ b/cmake/vcpkg_ports/embree/fix-path.patch @@ -0,0 +1,27 @@ +diff --git a/common/cmake/embree-config.cmake b/common/cmake/embree-config.cmake +index 2c08cd7..5087ca0 100644 +--- a/common/cmake/embree-config.cmake ++++ b/common/cmake/embree-config.cmake +@@ -5,8 +5,6 @@ SET(EMBREE_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}/@EMBREE_RELATIVE_ROOT_DIR@") + GET_FILENAME_COMPONENT(EMBREE_ROOT_DIR "${EMBREE_ROOT_DIR}" ABSOLUTE) + + SET(EMBREE_INCLUDE_DIRS "${EMBREE_ROOT_DIR}/@CMAKE_INSTALL_INCLUDEDIR@") +-SET(EMBREE_LIBRARY "${EMBREE_ROOT_DIR}/@CMAKE_INSTALL_LIBDIR@/@EMBREE_LIBRARY_FULLNAME@") +-SET(EMBREE_LIBRARIES ${EMBREE_LIBRARY}) + + SET(EMBREE_VERSION @EMBREE_VERSION@) + SET(EMBREE_VERSION_MAJOR @EMBREE_VERSION_MAJOR@) + +diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake +index 5429436..8c89f5b 100644 +--- a/common/cmake/package.cmake ++++ b/common/cmake/package.cmake +@@ -24,7 +24,7 @@ ENDIF() + # Install MSVC runtime + ############################################################## + +-IF (WIN32) ++IF (0) + SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE) + INCLUDE(InstallRequiredSystemLibraries) + LIST(FILTER CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS INCLUDE REGEX ".*msvcp[0-9]+\.dll|.*vcruntime[0-9]+\.dll|.*vcruntime[0-9]+_[0-9]+\.dll") diff --git a/cmake/vcpkg_ports/embree/fix-static-usage.patch b/cmake/vcpkg_ports/embree/fix-static-usage.patch new file mode 100644 index 0000000000..948dbb7429 --- /dev/null +++ b/cmake/vcpkg_ports/embree/fix-static-usage.patch @@ -0,0 +1,26 @@ +diff --git a/common/cmake/embree-config.cmake b/common/cmake/embree-config.cmake +index 5087ca0..fdf8135 100644 +--- a/common/cmake/embree-config.cmake ++++ b/common/cmake/embree-config.cmake +@@ -52,6 +52,21 @@ IF (EMBREE_STATIC_LIB) + INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/tasking-targets.cmake") + + ++ IF(EMBREE_ISA_SSE42) ++ INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree_sse42-targets.cmake") ++ ENDIF() ++ IF(EMBREE_ISA_AVX) ++ INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree_avx-targets.cmake") ++ ENDIF() ++ IF(EMBREE_ISA_AVX2) ++ INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree_avx2-targets.cmake") ++ ENDIF() ++ IF(EMBREE_ISA_AVX512KNL) ++ INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree_avx512knl-targets.cmake") ++ ENDIF() ++ IF(EMBREE_ISA_AVX512SKX) ++ INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree_avx512skx-targets.cmake") ++ ENDIF() + ENDIF() + + INCLUDE("${EMBREE_ROOT_DIR}/@EMBREE_CMAKEEXPORT_DIR@/embree-targets.cmake") diff --git a/cmake/vcpkg_ports/embree/fix-targets-file-not-found.patch b/cmake/vcpkg_ports/embree/fix-targets-file-not-found.patch new file mode 100644 index 0000000000..91665d552b --- /dev/null +++ b/cmake/vcpkg_ports/embree/fix-targets-file-not-found.patch @@ -0,0 +1,18 @@ +diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake +index 8c89f5b..55cb2af 100644 +--- a/common/cmake/package.cmake ++++ b/common/cmake/package.cmake +@@ -114,10 +114,10 @@ ENDIF() + # SET(EMBREE_CMAKEEXPORT_DIR "cmake") + # SET(EMBREE_RELATIVE_ROOT_DIR ".") + #ELSE() +-SET(EMBREE_CMAKECONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/embree-${EMBREE_VERSION}") +-SET(EMBREE_CMAKEEXPORT_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/embree-${EMBREE_VERSION}") ++SET(EMBREE_CMAKECONFIG_DIR "share/embree") ++SET(EMBREE_CMAKEEXPORT_DIR "share/embree") + IF (WIN32) +- SET(EMBREE_RELATIVE_ROOT_DIR "../../../") ++ SET(EMBREE_RELATIVE_ROOT_DIR "../..") + ELSE() + FILE(RELATIVE_PATH EMBREE_RELATIVE_ROOT_DIR "/${EMBREE_CMAKECONFIG_DIR}" "/") + ENDIF() diff --git a/cmake/vcpkg_ports/embree/portfile.cmake b/cmake/vcpkg_ports/embree/portfile.cmake new file mode 100644 index 0000000000..76c15e8651 --- /dev/null +++ b/cmake/vcpkg_ports/embree/portfile.cmake @@ -0,0 +1,115 @@ +# stole the embree3 port and added ispc +set(EMBREE3_VERSION 3.13.4) +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO embree/embree + REF v${EMBREE3_VERSION} + SHA512 685c3935fabe1bfa7260ef148df26b686b085b75011d72011461471cbcef786a5ce7a0e85c57b2df05798489a2d4e80a8d3ee5df986029edad7df7511d99c0ca + HEAD_REF master + PATCHES + fix-path.patch + cmake_policy.patch + fix-targets-file-not-found.patch +) + +list(LENGTH FEATURES FEATURE_COUNT) +#message("FEATURE_COUNT=${FEATURE_COUNT}") + +string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} static EMBREE_STATIC_LIB) +string(COMPARE EQUAL ${VCPKG_CRT_LINKAGE} static EMBREE_STATIC_RUNTIME) + +if (NOT VCPKG_TARGET_IS_OSX) + if ("avx512" IN_LIST FEATURES) + message(FATAL_ERROR "Microsoft Visual C++ Compiler does not support feature avx512 officially.") + endif() + + vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + avx EMBREE_ISA_AVX + avx2 EMBREE_ISA_AVX2 + avx512 EMBREE_ISA_AVX512 + sse2 EMBREE_ISA_SSE2 + sse42 EMBREE_ISA_SSE42 + ) +elseif (VCPKG_LIBRARY_LINKAGE STREQUAL static) + list(LENGTH FEATURES FEATURE_COUNT) + if (FEATURE_COUNT GREATER 2) + message(WARNING [[ +Using Embree as static library is not supported with AppleClang >= 9.0 when multiple ISAs are selected. +Please install embree3 with only one feature using command "./vcpkg install embree3[core,FEATURE_NAME]" +Only set feature avx automaticlly. + ]]) + set(FEATURE_OPTIONS + -DEMBREE_ISA_AVX=ON + -DEMBREE_ISA_AVX2=OFF + -DEMBREE_ISA_AVX512=OFF + -DEMBREE_ISA_SSE2=OFF + -DEMBREE_ISA_SSE42=OFF + ) + endif() +endif() + +set(WIN32_OPTIONS "") +if (WIN32) + set(WIN32_OPTIONS -DEMBREE_STATIC_RUNTIME=OFF) +endif () + +if (FEATURE_COUNT LESS 2) + message(FATAL_ERROR "You have to select at least one ISA feature!") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + DISABLE_PARALLEL_CONFIGURE + OPTIONS ${FEATURE_OPTIONS} + -DEMBREE_TUTORIALS=OFF + -DEMBREE_STATIC_LIB=OFF + ${WIN32_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() +if(APPLE) + file(REMOVE "${CURRENT_PACKAGES_DIR}/uninstall.command" "${CURRENT_PACKAGES_DIR}/debug/uninstall.command") +endif() +#file(RENAME "${CURRENT_PACKAGES_DIR}/share/doc" "${CURRENT_PACKAGES_DIR}/share/${PORT}/") + +#file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +# simple mode which does not work +# vcpkg_from_github( +# OUT_SOURCE_PATH SOURCE_PATH +# REPO embree/embree +# REF 489b746c0d5010e0da10345e9dc96768bec9a037 +# SHA512 502d6ed12678df20e773da057c234e7f44b5dd0e6b8c488a9a7d2117f7c1ee8fa84aba1b8d3668caf8ebbd51337812bbb2678e71fbb76b7d311ffb723bc4f5da +# HEAD_REF master +# ) + +# # TODO ISA options here +# # TODO openimageIO and libpng? + +# vcpkg_cmake_configure( +# SOURCE_PATH "${SOURCE_PATH}" +# OPTIONS +# -DEMBREE_TUTORIALS=false +# ) +# vcpkg_cmake_install() + +# vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/embree-3.13.4) + +# file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +# file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/cmake/vcpkg_ports/embree/vcpkg.json b/cmake/vcpkg_ports/embree/vcpkg.json new file mode 100644 index 0000000000..1b0e97272c --- /dev/null +++ b/cmake/vcpkg_ports/embree/vcpkg.json @@ -0,0 +1,43 @@ +{ + "name": "embree", + "version": "3.13.4", + "port-version": 0, + "description": "High Performance Ray Tracing Kernels", + "homepage": "https://www.embree.org/", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "tbb", + "version>=": "2021.5.0" + }, + { + "name": "ispc", + "version>=": "1.18.0" + } + ], + "features": { + "avx": { + "description": "avx ISA support" + }, + "avx2": { + "description": "avx2 ISA support" + }, + "avx512": { + "description": "avx512 ISA support" + }, + "sse2": { + "description": "sse2 ISA support" + }, + "sse42": { + "description": "sse4.2 ISA support" + } + } +} diff --git a/cmake/vcpkg_ports/ispc/portfile.cmake b/cmake/vcpkg_ports/ispc/portfile.cmake new file mode 100644 index 0000000000..95e569f376 --- /dev/null +++ b/cmake/vcpkg_ports/ispc/portfile.cmake @@ -0,0 +1,39 @@ +set (ISPC_VERSION "1.18.0") + +if (APPLE) + set(ISPC_OSSUFFIX "macOS.tar.gz") +elseif(WIN32) + set(ISPC_OSSUFFIX "windows.zip") + set(ISPC_SHA "97d5d7bba9933f2bcda7374c738ff8a48371487df1720b803767cc9f6fffeaf06424f713360356e7ba57ca7766a1caefe01133a5657cde59ab0bde0e35988409") +else() + set(ISPC_OSSUFFIX "linux.tar.gz") + set(ISPC_SHA "88f971211f069123a67da7fecdc34ebcf9a04e972928c6d6417c1d0bf4ec5eb3041d3a89df3b241d34cef16f667a9b753b9db4395fca02b75580a34de525a421") +endif() + +set (ISPC_FILENAME "ispc-v${ISPC_VERSION}-${ISPC_OSSUFFIX}") + +set(ISPC_URL "https://github.com/ispc/ispc/releases/download/v${ISPC_VERSION}/${ISPC_FILENAME}") + +vcpkg_download_distfile( + ISPC_ARCHIVE_PATH + FILENAME ${ISPC_FILENAME} + URLS ${ISPC_URL} + SHA512 ${ISPC_SHA} +) + +vcpkg_extract_source_archive( + ISPC_DIR + ARCHIVE ${ISPC_ARCHIVE_PATH} +) + +vcpkg_copy_tools( + SEARCH_DIR "${ISPC_DIR}/bin" + TOOL_NAMES ispc +) +if (WIN32) + file(INSTALL ${ISPC_DIR}/bin/ispcrt.dll DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +file(INSTALL ${ISPC_DIR}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/cmake/vcpkg_ports/ispc/vcpkg.json b/cmake/vcpkg_ports/ispc/vcpkg.json new file mode 100644 index 0000000000..1ac25d06be --- /dev/null +++ b/cmake/vcpkg_ports/ispc/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ispc", + "version": "1.18.0", + "port-version": 0, + "homepage": "https://ispc.github.io", + "description": "Intel Implicit SPMD Program Compiler", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/cmake/vcpkg_ports/openvkl/portfile.cmake b/cmake/vcpkg_ports/openvkl/portfile.cmake new file mode 100644 index 0000000000..256cf425a3 --- /dev/null +++ b/cmake/vcpkg_ports/openvkl/portfile.cmake @@ -0,0 +1,35 @@ +set(OPENVKL_VERSION 1.3.0) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO OpenVKL/openvkl + REF v${OPENVKL_VERSION} + SHA512 39e367b970a2d681a94346ed27cc4e61a32609e23ebc142e4a2a6414f27b0462d0f47cef99007374bdfe26d0a41c165a6a147f18ad2c3e9605a602368a555405 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + avx OPENVKL_ISA_AVX + avx2 OPENVKL_ISA_AVX2 + avx512 OPENVKL_ISA_AVX512SKX + sse4 OPENVKL_ISA_SSE4 +) + +# TODO openimageIO and libpng? + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} + -DBUILD_TESTING=false + -DBUILD_EXAMPLES=false +) +vcpkg_cmake_install() + +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/openvkl-${OPENVKL_VERSION}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/cmake/vcpkg_ports/openvkl/vcpkg.json b/cmake/vcpkg_ports/openvkl/vcpkg.json new file mode 100644 index 0000000000..b7532fdbd7 --- /dev/null +++ b/cmake/vcpkg_ports/openvkl/vcpkg.json @@ -0,0 +1,88 @@ +{ + "name": "openvkl", + "version": "1.3.0", + "port-version": 1, + "description": "Intel Open Volume Kernel Library", + "homepage": "https://www.openvkl.org", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "rkcommon", + "version>=": "1.10.0" + }, + { + "name": "ispc", + "version>=": "1.18.0" + } + ], + "features": { + "avx": { + "description": "avx ISA support", + "dependencies": [ + { + "name": "embree", + "version>=": "3.13.4", + "features": [ + "avx" + ] + } + ] + }, + "avx2": { + "description": "avx2 ISA support", + "dependencies": [ + { + "name": "embree", + "version>=": "3.13.4", + "features": [ + "avx2" + ] + } + ] + }, + "avx512": { + "description": "avx512 ISA support", + "dependencies": [ + { + "name": "embree", + "version>=": "3.13.4", + "features": [ + "avx512" + ] + } + ] + }, + "sse2": { + "description": "sse2 ISA support", + "dependencies": [ + { + "name": "embree", + "version>=": "3.13.4", + "features": [ + "sse2" + ] + } + ] + }, + "sse4": { + "description": "sse4 ISA support", + "dependencies": [ + { + "name": "embree", + "version>=": "3.13.4", + "features": [ + "sse42" + ] + } + ] + } + } + } \ No newline at end of file diff --git a/cmake/vcpkg_ports/ospray/fix-config-dir-depth.patch b/cmake/vcpkg_ports/ospray/fix-config-dir-depth.patch new file mode 100644 index 0000000000..fcf261cbdb --- /dev/null +++ b/cmake/vcpkg_ports/ospray/fix-config-dir-depth.patch @@ -0,0 +1,14 @@ +diff --git a/cmake/ospray_options.cmake b/cmake/ospray_options.cmake +index fd28c44..1422cac 100644 +--- a/cmake/ospray_options.cmake ++++ b/cmake/ospray_options.cmake +@@ -8,8 +8,7 @@ + include(GNUInstallDirs) + include(CMakeDependentOption) + +-set(OSPRAY_CMAKECONFIG_DIR +- "${CMAKE_INSTALL_LIBDIR}/cmake/ospray-${OSPRAY_VERSION}") ++set(OSPRAY_CMAKECONFIG_DIR "share/ospray") + + set(RKCOMMON_VERSION_REQUIRED 1.10.0) + set(EMBREE_VERSION_REQUIRED 3.13.1) diff --git a/cmake/vcpkg_ports/ospray/portfile.cmake b/cmake/vcpkg_ports/ospray/portfile.cmake new file mode 100644 index 0000000000..c1bac07851 --- /dev/null +++ b/cmake/vcpkg_ports/ospray/portfile.cmake @@ -0,0 +1,46 @@ +set(OSPRAY_VERSION 2.10.0) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ospray/OSPRay + REF v${OSPRAY_VERSION} + SHA512 b72e6dfc6bd8c7f4013e7074d89a47d52ff56e1270828b8cafc7365209c68614ce4e5842218ff30b170e2ab206741f9c57bf3d31649c5e70785a01267d073e62 + HEAD_REF master + PATCHES + fix-config-dir-depth.patch +) + +# currently this does not work, either you decide for one or you take them all +# if (sse4 IN_LIST FEATURES) +# list(APPEND OSPRAY_ISA SSE4) +# endif() +# if(avx IN_LIST FEATURES) +# list(APPEND OSPRAY_ISA AVX) +# endif() +# if(avx2 IN_LIST FEATURES) +# list(APPEND OSPRAY_ISA AVX2) +# endif() +# if(avx512 IN_LIST FEATURES) +# list(APPEND OSPRAY_ISA AVX512) +# endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DOSPRAY_BUILD_ISA=ALL + -DOSPRAY_ENABLE_APPS=false +) +vcpkg_cmake_install() + +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# file( +# INSTALL "${SOURCE_PATH}/LICENSE" +# DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" +# RENAME copyright) + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/cmake/vcpkg_ports/ospray/vcpkg.json b/cmake/vcpkg_ports/ospray/vcpkg.json new file mode 100644 index 0000000000..b42c933d2b --- /dev/null +++ b/cmake/vcpkg_ports/ospray/vcpkg.json @@ -0,0 +1,123 @@ +{ + "name": "ospray", + "version": "2.10.0", + "port-version": 3, + "description": "The Open, Scalable, and Portable Ray Tracing Engine", + "homepage": "https://https://www.ospray.org/", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "tbb", + "version>=": "2021.5.0" + }, + { + "name": "rkcommon", + "version>=": "1.10.0" + } + ], + "features": { + "avx": { + "description": "avx ISA support", + "dependencies": [ + { + "name": "embree", + "version>=": "3.13.4", + "features": [ + "avx" + ] + }, + { + "name": "openvkl", + "version>=": "1.3.0", + "features": [ + "avx" + ] + } + ] + }, + "avx2": { + "description": "avx2 ISA support", + "dependencies": [ + { + "name": "embree", + "version>=": "3.13.4", + "features": [ + "avx2" + ] + }, + { + "name": "openvkl", + "version>=": "1.3.0", + "features": [ + "avx2" + ] + } + ] + }, + "avx512": { + "description": "avx512 ISA support", + "dependencies": [ + { + "name": "embree", + "version>=": "3.13.4", + "features": [ + "avx512" + ] + }, + { + "name": "openvkl", + "version>=": "1.3.0", + "features": [ + "avx512" + ] + } + ] + }, + "sse2": { + "description": "sse2 ISA support", + "dependencies": [ + { + "name": "embree", + "version>=": "3.13.4", + "features": [ + "sse2" + ] + }, + { + "name": "openvkl", + "version>=": "1.3.0", + "features": [ + "sse2" + ] + } + ] + }, + "sse4": { + "description": "sse4 ISA support", + "dependencies": [ + { + "name": "embree", + "version>=": "3.13.4", + "features": [ + "sse42" + ] + }, + { + "name": "openvkl", + "version>=": "1.3.0", + "features": [ + "sse4" + ] + } + ] + } + } + } \ No newline at end of file diff --git a/cmake/vcpkg_ports/rkcommon/portfile.cmake b/cmake/vcpkg_ports/rkcommon/portfile.cmake new file mode 100644 index 0000000000..820d812b8d --- /dev/null +++ b/cmake/vcpkg_ports/rkcommon/portfile.cmake @@ -0,0 +1,26 @@ +set(RKCOMMON_VERSION 1.10.0) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ospray/rkcommon + REF v${RKCOMMON_VERSION} + SHA512 1dacc9ab0a3abe8b7b21cb2c6518fd1a59ce6008026ccb72eb712bf7859440317a288dbe87602f00ff83b9efea6b020c87c3d0b1febc5abc99d1a76fa3469f19 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=false + -DINSTALL_DEPS=false +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/rkcommon-${RKCOMMON_VERSION}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + diff --git a/cmake/vcpkg_ports/rkcommon/vcpkg.json b/cmake/vcpkg_ports/rkcommon/vcpkg.json new file mode 100644 index 0000000000..3f23552803 --- /dev/null +++ b/cmake/vcpkg_ports/rkcommon/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "rkcommon", + "version": "1.10.0", + "port-version": 1, + "homepage": "https://github.com/ospray/rkcommon", + "description": "C++/CMake infrastructure", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "tbb", + "version>=": "2021.5.0" + } + ] +} diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index 63d28aaf30..4edfedda3c 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -2,19 +2,5 @@ "default-registry": { "kind": "builtin", "baseline": "1de2026f28ead93ff1773e6e680387643e914ea1" - }, - "registries": [ - { - "kind": "git", - "repository": "https://github.com/UniStuttgart-VISUS/vcpkg-registry.git", - "baseline": "120ceb7ef887bafc10a3eed04f01bdf35236eb53", - "packages": [ - "embree", - "ispc", - "openvkl", - "ospray", - "rkcommon" - ] - } - ] + } } From 44cf4973b7c03eea616f7d5e38b459669254a88a Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Thu, 25 Jul 2024 01:17:25 +0200 Subject: [PATCH 03/11] cleanup ports --- cmake/vcpkg_ports/embree/portfile.cmake | 2 +- cmake/vcpkg_ports/embree/vcpkg.json | 11 +- cmake/vcpkg_ports/ispc/vcpkg.json | 3 +- .../megamol-shader-factory/vcpkg.json | 4 +- cmake/vcpkg_ports/openvkl/portfile.cmake | 2 +- cmake/vcpkg_ports/openvkl/vcpkg.json | 150 ++++++------- cmake/vcpkg_ports/ospray/portfile.cmake | 2 +- cmake/vcpkg_ports/ospray/vcpkg.json | 209 ++++++++---------- cmake/vcpkg_ports/rkcommon/vcpkg.json | 8 +- vcpkg.json | 11 +- 10 files changed, 177 insertions(+), 225 deletions(-) diff --git a/cmake/vcpkg_ports/embree/portfile.cmake b/cmake/vcpkg_ports/embree/portfile.cmake index 76c15e8651..ebc63397ba 100644 --- a/cmake/vcpkg_ports/embree/portfile.cmake +++ b/cmake/vcpkg_ports/embree/portfile.cmake @@ -112,4 +112,4 @@ file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/s # file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +# file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/cmake/vcpkg_ports/embree/vcpkg.json b/cmake/vcpkg_ports/embree/vcpkg.json index 1b0e97272c..c6ca4645d0 100644 --- a/cmake/vcpkg_ports/embree/vcpkg.json +++ b/cmake/vcpkg_ports/embree/vcpkg.json @@ -1,11 +1,12 @@ { "name": "embree", "version": "3.13.4", - "port-version": 0, "description": "High Performance Ray Tracing Kernels", "homepage": "https://www.embree.org/", "license": "Apache-2.0", "dependencies": [ + "ispc", + "tbb", { "name": "vcpkg-cmake", "host": true @@ -13,14 +14,6 @@ { "name": "vcpkg-cmake-config", "host": true - }, - { - "name": "tbb", - "version>=": "2021.5.0" - }, - { - "name": "ispc", - "version>=": "1.18.0" } ], "features": { diff --git a/cmake/vcpkg_ports/ispc/vcpkg.json b/cmake/vcpkg_ports/ispc/vcpkg.json index 1ac25d06be..3f2304665f 100644 --- a/cmake/vcpkg_ports/ispc/vcpkg.json +++ b/cmake/vcpkg_ports/ispc/vcpkg.json @@ -1,9 +1,8 @@ { "name": "ispc", "version": "1.18.0", - "port-version": 0, - "homepage": "https://ispc.github.io", "description": "Intel Implicit SPMD Program Compiler", + "homepage": "https://ispc.github.io", "license": "BSD-3-Clause", "dependencies": [ { diff --git a/cmake/vcpkg_ports/megamol-shader-factory/vcpkg.json b/cmake/vcpkg_ports/megamol-shader-factory/vcpkg.json index 9e96cf28d7..bf40af6dc3 100644 --- a/cmake/vcpkg_ports/megamol-shader-factory/vcpkg.json +++ b/cmake/vcpkg_ports/megamol-shader-factory/vcpkg.json @@ -5,9 +5,7 @@ "homepage": "https://github.com/UniStuttgart-VISUS/megamol-shader-factory", "license": "BSD-3-Clause", "dependencies": [ - { - "name": "glslang" - }, + "glslang", { "name": "vcpkg-cmake", "host": true diff --git a/cmake/vcpkg_ports/openvkl/portfile.cmake b/cmake/vcpkg_ports/openvkl/portfile.cmake index 256cf425a3..e205645d0e 100644 --- a/cmake/vcpkg_ports/openvkl/portfile.cmake +++ b/cmake/vcpkg_ports/openvkl/portfile.cmake @@ -32,4 +32,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/openvkl-${OPENVKL_VERSION}) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/cmake/vcpkg_ports/openvkl/vcpkg.json b/cmake/vcpkg_ports/openvkl/vcpkg.json index b7532fdbd7..74f6b977e0 100644 --- a/cmake/vcpkg_ports/openvkl/vcpkg.json +++ b/cmake/vcpkg_ports/openvkl/vcpkg.json @@ -1,88 +1,76 @@ { - "name": "openvkl", - "version": "1.3.0", - "port-version": 1, - "description": "Intel Open Volume Kernel Library", - "homepage": "https://www.openvkl.org", - "license": "Apache-2.0", - "dependencies": [ + "name": "openvkl", + "version": "1.3.0", + "description": "Intel Open Volume Kernel Library", + "homepage": "https://www.openvkl.org", + "license": "Apache-2.0", + "dependencies": [ + "ispc", + "rkcommon", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "avx": { + "description": "avx ISA support", + "dependencies": [ + { + "name": "embree", + "features": [ + "avx" + ] + } + ] + }, + "avx2": { + "description": "avx2 ISA support", + "dependencies": [ { - "name": "vcpkg-cmake", - "host": true - }, + "name": "embree", + "features": [ + "avx2" + ] + } + ] + }, + "avx512": { + "description": "avx512 ISA support", + "dependencies": [ { - "name": "vcpkg-cmake-config", - "host": true - }, + "name": "embree", + "features": [ + "avx512" + ] + } + ] + }, + "sse2": { + "description": "sse2 ISA support", + "dependencies": [ { - "name": "rkcommon", - "version>=": "1.10.0" - }, + "name": "embree", + "features": [ + "sse2" + ] + } + ] + }, + "sse4": { + "description": "sse4 ISA support", + "dependencies": [ { - "name": "ispc", - "version>=": "1.18.0" + "name": "embree", + "features": [ + "sse42" + ] } - ], - "features": { - "avx": { - "description": "avx ISA support", - "dependencies": [ - { - "name": "embree", - "version>=": "3.13.4", - "features": [ - "avx" - ] - } - ] - }, - "avx2": { - "description": "avx2 ISA support", - "dependencies": [ - { - "name": "embree", - "version>=": "3.13.4", - "features": [ - "avx2" - ] - } - ] - }, - "avx512": { - "description": "avx512 ISA support", - "dependencies": [ - { - "name": "embree", - "version>=": "3.13.4", - "features": [ - "avx512" - ] - } - ] - }, - "sse2": { - "description": "sse2 ISA support", - "dependencies": [ - { - "name": "embree", - "version>=": "3.13.4", - "features": [ - "sse2" - ] - } - ] - }, - "sse4": { - "description": "sse4 ISA support", - "dependencies": [ - { - "name": "embree", - "version>=": "3.13.4", - "features": [ - "sse42" - ] - } - ] - } + ] } - } \ No newline at end of file + } +} diff --git a/cmake/vcpkg_ports/ospray/portfile.cmake b/cmake/vcpkg_ports/ospray/portfile.cmake index c1bac07851..094a1e265a 100644 --- a/cmake/vcpkg_ports/ospray/portfile.cmake +++ b/cmake/vcpkg_ports/ospray/portfile.cmake @@ -43,4 +43,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" # RENAME copyright) -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/cmake/vcpkg_ports/ospray/vcpkg.json b/cmake/vcpkg_ports/ospray/vcpkg.json index b42c933d2b..d274900082 100644 --- a/cmake/vcpkg_ports/ospray/vcpkg.json +++ b/cmake/vcpkg_ports/ospray/vcpkg.json @@ -1,123 +1,106 @@ { - "name": "ospray", - "version": "2.10.0", - "port-version": 3, - "description": "The Open, Scalable, and Portable Ray Tracing Engine", - "homepage": "https://https://www.ospray.org/", - "license": "Apache-2.0", - "dependencies": [ + "name": "ospray", + "version": "2.10.0", + "description": "The Open, Scalable, and Portable Ray Tracing Engine", + "homepage": "https://https://www.ospray.org/", + "license": "Apache-2.0", + "dependencies": [ + "rkcommon", + "tbb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "avx": { + "description": "avx ISA support", + "dependencies": [ { - "name": "vcpkg-cmake", - "host": true + "name": "embree", + "features": [ + "avx" + ] }, { - "name": "vcpkg-cmake-config", - "host": true + "name": "openvkl", + "features": [ + "avx" + ] + } + ] + }, + "avx2": { + "description": "avx2 ISA support", + "dependencies": [ + { + "name": "embree", + "features": [ + "avx2" + ] + }, + { + "name": "openvkl", + "features": [ + "avx2" + ] + } + ] + }, + "avx512": { + "description": "avx512 ISA support", + "dependencies": [ + { + "name": "embree", + "features": [ + "avx512" + ] }, { - "name": "tbb", - "version>=": "2021.5.0" + "name": "openvkl", + "features": [ + "avx512" + ] + } + ] + }, + "sse2": { + "description": "sse2 ISA support", + "dependencies": [ + { + "name": "embree", + "features": [ + "sse2" + ] + }, + { + "name": "openvkl", + "features": [ + "sse2" + ] + } + ] + }, + "sse4": { + "description": "sse4 ISA support", + "dependencies": [ + { + "name": "embree", + "features": [ + "sse42" + ] }, { - "name": "rkcommon", - "version>=": "1.10.0" + "name": "openvkl", + "features": [ + "sse4" + ] } - ], - "features": { - "avx": { - "description": "avx ISA support", - "dependencies": [ - { - "name": "embree", - "version>=": "3.13.4", - "features": [ - "avx" - ] - }, - { - "name": "openvkl", - "version>=": "1.3.0", - "features": [ - "avx" - ] - } - ] - }, - "avx2": { - "description": "avx2 ISA support", - "dependencies": [ - { - "name": "embree", - "version>=": "3.13.4", - "features": [ - "avx2" - ] - }, - { - "name": "openvkl", - "version>=": "1.3.0", - "features": [ - "avx2" - ] - } - ] - }, - "avx512": { - "description": "avx512 ISA support", - "dependencies": [ - { - "name": "embree", - "version>=": "3.13.4", - "features": [ - "avx512" - ] - }, - { - "name": "openvkl", - "version>=": "1.3.0", - "features": [ - "avx512" - ] - } - ] - }, - "sse2": { - "description": "sse2 ISA support", - "dependencies": [ - { - "name": "embree", - "version>=": "3.13.4", - "features": [ - "sse2" - ] - }, - { - "name": "openvkl", - "version>=": "1.3.0", - "features": [ - "sse2" - ] - } - ] - }, - "sse4": { - "description": "sse4 ISA support", - "dependencies": [ - { - "name": "embree", - "version>=": "3.13.4", - "features": [ - "sse42" - ] - }, - { - "name": "openvkl", - "version>=": "1.3.0", - "features": [ - "sse4" - ] - } - ] - } + ] } - } \ No newline at end of file + } +} diff --git a/cmake/vcpkg_ports/rkcommon/vcpkg.json b/cmake/vcpkg_ports/rkcommon/vcpkg.json index 3f23552803..5b8620df08 100644 --- a/cmake/vcpkg_ports/rkcommon/vcpkg.json +++ b/cmake/vcpkg_ports/rkcommon/vcpkg.json @@ -1,11 +1,11 @@ { "name": "rkcommon", "version": "1.10.0", - "port-version": 1, - "homepage": "https://github.com/ospray/rkcommon", "description": "C++/CMake infrastructure", + "homepage": "https://github.com/ospray/rkcommon", "license": "Apache-2.0", "dependencies": [ + "tbb", { "name": "vcpkg-cmake", "host": true @@ -13,10 +13,6 @@ { "name": "vcpkg-cmake-config", "host": true - }, - { - "name": "tbb", - "version>=": "2021.5.0" } ] } diff --git a/vcpkg.json b/vcpkg.json index 1df789bcef..26ee5a51b6 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -6,8 +6,7 @@ "name": "adios2", "features": [ "zfp" - ], - "version>=": "2.8.3#1" + ] }, "bhtsne", "blend2d", @@ -51,10 +50,7 @@ "snappy", "sol2", "spdlog", - { - "name": "tbb", - "version>=": "2021.5.0" - }, + "tbb", "tinygltf", "tinyobjloader", "tinyply", @@ -137,8 +133,7 @@ "features": [ "avx", "avx2" - ], - "version>=": "2.10.0" + ] } ] }, From 4edcc018ce090933e0cbaaecec30e4b775691051 Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Thu, 25 Jul 2024 01:19:04 +0200 Subject: [PATCH 04/11] update docker workflow paths --- .github/workflows/docker.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c85fab413e..74437a09f6 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -3,7 +3,9 @@ name: Docker Images on: push: branches: [ master ] - paths: [ '.ci/docker/**' ] + paths: + - '.ci/docker/**' + - '.github/workflows/docker.yml' workflow_dispatch: env: From 889364aefcf4bcb6b39412a0da85f4aa57d6ca80 Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Thu, 25 Jul 2024 01:30:11 +0200 Subject: [PATCH 05/11] merge vcpkg-configuration.json into vcpkg.json --- CMakeLists.txt | 2 +- vcpkg-configuration.json | 6 ------ vcpkg.json | 7 +++++++ 3 files changed, 8 insertions(+), 7 deletions(-) delete mode 100644 vcpkg-configuration.json diff --git a/CMakeLists.txt b/CMakeLists.txt index 599c809b9a..ac95704d05 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.19...3.29 FATAL_ERROR) # Vcpkg setup -set(MEGAMOL_VCPKG_VERSION "2024.07.12") # Update default-registry baseline in vcpkg-configuration.json when changing! +set(MEGAMOL_VCPKG_VERSION "2024.07.12") # Update default-registry baseline in vcpkg.json when changing! include(cmake/megamol_vcpkg_setup.cmake) include(cmake/megamol_feature_option.cmake) diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json deleted file mode 100644 index 4edfedda3c..0000000000 --- a/vcpkg-configuration.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "default-registry": { - "kind": "builtin", - "baseline": "1de2026f28ead93ff1773e6e680387643e914ea1" - } -} diff --git a/vcpkg.json b/vcpkg.json index 26ee5a51b6..e59ac4b4aa 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,4 +1,11 @@ { + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "vcpkg-configuration": { + "default-registry": { + "kind": "builtin", + "baseline": "1de2026f28ead93ff1773e6e680387643e914ea1" + } + }, "name": "megamol", "version-string": "1.3.0-dev", "dependencies": [ From 67332308f7fbd37cf8ba7740520663cfd60d0ba6 Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Thu, 25 Jul 2024 16:51:11 +0200 Subject: [PATCH 06/11] fix embree patch --- cmake/vcpkg_ports/embree/fix-path.patch | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/cmake/vcpkg_ports/embree/fix-path.patch b/cmake/vcpkg_ports/embree/fix-path.patch index 9e3f2208e2..12bcbca79f 100644 --- a/cmake/vcpkg_ports/embree/fix-path.patch +++ b/cmake/vcpkg_ports/embree/fix-path.patch @@ -1,22 +1,21 @@ diff --git a/common/cmake/embree-config.cmake b/common/cmake/embree-config.cmake -index 2c08cd7..5087ca0 100644 +index b4fc24e8c..92d147b2a 100644 --- a/common/cmake/embree-config.cmake +++ b/common/cmake/embree-config.cmake @@ -5,8 +5,6 @@ SET(EMBREE_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}/@EMBREE_RELATIVE_ROOT_DIR@") GET_FILENAME_COMPONENT(EMBREE_ROOT_DIR "${EMBREE_ROOT_DIR}" ABSOLUTE) - + SET(EMBREE_INCLUDE_DIRS "${EMBREE_ROOT_DIR}/@CMAKE_INSTALL_INCLUDEDIR@") -SET(EMBREE_LIBRARY "${EMBREE_ROOT_DIR}/@CMAKE_INSTALL_LIBDIR@/@EMBREE_LIBRARY_FULLNAME@") -SET(EMBREE_LIBRARIES ${EMBREE_LIBRARY}) - + SET(EMBREE_VERSION @EMBREE_VERSION@) SET(EMBREE_VERSION_MAJOR @EMBREE_VERSION_MAJOR@) - diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake -index 5429436..8c89f5b 100644 +index 9d4d6572a..7b9f96c12 100644 --- a/common/cmake/package.cmake +++ b/common/cmake/package.cmake -@@ -24,7 +24,7 @@ ENDIF() +@@ -23,7 +23,7 @@ ENDIF() # Install MSVC runtime ############################################################## From 80a8a5188456aa58c8e8e4cba54669c5c2f8d92c Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Thu, 25 Jul 2024 17:07:08 +0200 Subject: [PATCH 07/11] use upstream vcpkg rkcommon port --- cmake/vcpkg_ports/rkcommon/portfile.cmake | 26 ----------------------- cmake/vcpkg_ports/rkcommon/vcpkg.json | 18 ---------------- 2 files changed, 44 deletions(-) delete mode 100644 cmake/vcpkg_ports/rkcommon/portfile.cmake delete mode 100644 cmake/vcpkg_ports/rkcommon/vcpkg.json diff --git a/cmake/vcpkg_ports/rkcommon/portfile.cmake b/cmake/vcpkg_ports/rkcommon/portfile.cmake deleted file mode 100644 index 820d812b8d..0000000000 --- a/cmake/vcpkg_ports/rkcommon/portfile.cmake +++ /dev/null @@ -1,26 +0,0 @@ -set(RKCOMMON_VERSION 1.10.0) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ospray/rkcommon - REF v${RKCOMMON_VERSION} - SHA512 1dacc9ab0a3abe8b7b21cb2c6518fd1a59ce6008026ccb72eb712bf7859440317a288dbe87602f00ff83b9efea6b020c87c3d0b1febc5abc99d1a76fa3469f19 -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=false - -DINSTALL_DEPS=false -) - -vcpkg_cmake_install() - -vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/rkcommon-${RKCOMMON_VERSION}) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - diff --git a/cmake/vcpkg_ports/rkcommon/vcpkg.json b/cmake/vcpkg_ports/rkcommon/vcpkg.json deleted file mode 100644 index 5b8620df08..0000000000 --- a/cmake/vcpkg_ports/rkcommon/vcpkg.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "rkcommon", - "version": "1.10.0", - "description": "C++/CMake infrastructure", - "homepage": "https://github.com/ospray/rkcommon", - "license": "Apache-2.0", - "dependencies": [ - "tbb", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} From cbf2ecbf1d823ada659a2d588d2d3b2d7293511c Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Thu, 25 Jul 2024 17:17:15 +0200 Subject: [PATCH 08/11] cleanup ispc port --- cmake/vcpkg_ports/ispc/portfile.cmake | 23 ++++++++++------------- cmake/vcpkg_ports/ispc/vcpkg.json | 12 +----------- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/cmake/vcpkg_ports/ispc/portfile.cmake b/cmake/vcpkg_ports/ispc/portfile.cmake index 95e569f376..2c4187ad1a 100644 --- a/cmake/vcpkg_ports/ispc/portfile.cmake +++ b/cmake/vcpkg_ports/ispc/portfile.cmake @@ -1,18 +1,17 @@ -set (ISPC_VERSION "1.18.0") +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) -if (APPLE) - set(ISPC_OSSUFFIX "macOS.tar.gz") -elseif(WIN32) +if (VCPKG_TARGET_IS_WINDOWS) set(ISPC_OSSUFFIX "windows.zip") set(ISPC_SHA "97d5d7bba9933f2bcda7374c738ff8a48371487df1720b803767cc9f6fffeaf06424f713360356e7ba57ca7766a1caefe01133a5657cde59ab0bde0e35988409") -else() +elseif (VCPKG_TARGET_IS_LINUX) set(ISPC_OSSUFFIX "linux.tar.gz") set(ISPC_SHA "88f971211f069123a67da7fecdc34ebcf9a04e972928c6d6417c1d0bf4ec5eb3041d3a89df3b241d34cef16f667a9b753b9db4395fca02b75580a34de525a421") -endif() - -set (ISPC_FILENAME "ispc-v${ISPC_VERSION}-${ISPC_OSSUFFIX}") +else () + message(FATAL_ERROR "Unsupported OS!") +endif () -set(ISPC_URL "https://github.com/ispc/ispc/releases/download/v${ISPC_VERSION}/${ISPC_FILENAME}") +set(ISPC_FILENAME "ispc-v${VERSION}-${ISPC_OSSUFFIX}") +set(ISPC_URL "https://github.com/ispc/ispc/releases/download/v${VERSION}/${ISPC_FILENAME}") vcpkg_download_distfile( ISPC_ARCHIVE_PATH @@ -30,10 +29,8 @@ vcpkg_copy_tools( SEARCH_DIR "${ISPC_DIR}/bin" TOOL_NAMES ispc ) -if (WIN32) +if (VCPKG_TARGET_IS_WINDOWS) file(INSTALL ${ISPC_DIR}/bin/ispcrt.dll DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") -endif() - -set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +endif () file(INSTALL ${ISPC_DIR}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/cmake/vcpkg_ports/ispc/vcpkg.json b/cmake/vcpkg_ports/ispc/vcpkg.json index 3f2304665f..358c4df1a6 100644 --- a/cmake/vcpkg_ports/ispc/vcpkg.json +++ b/cmake/vcpkg_ports/ispc/vcpkg.json @@ -3,15 +3,5 @@ "version": "1.18.0", "description": "Intel Implicit SPMD Program Compiler", "homepage": "https://ispc.github.io", - "license": "BSD-3-Clause", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] + "license": "BSD-3-Clause" } From 3120f4545b2334bb0abba6c9792e31c4c14833ef Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Thu, 25 Jul 2024 23:08:37 +0200 Subject: [PATCH 09/11] copy power branch ports for CI build --- .github/workflows/build.yml | 6 +- .../devendor-fetchcontent-deps.patch | 61 +++++++++++++++++++ .../power-overwhelming/portfile.cmake | 23 ++++++- .../vcpkg_ports/power-overwhelming/vcpkg.json | 3 +- vcpkg.json | 6 ++ 5 files changed, 92 insertions(+), 7 deletions(-) create mode 100644 cmake/vcpkg_ports/power-overwhelming/devendor-fetchcontent-deps.patch diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c5ddac77a1..e465c9c0ff 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,21 +36,21 @@ jobs: generator: 'Visual Studio 17 2022' cc: '' cxx: '' - ignore_features: 'MPI POWER' + ignore_features: 'MPI' - name: 'Ubuntu-GCC' os: 'ubuntu-24.04' container: 'ghcr.io/unistuttgart-visus/megamol_ci_ubuntu:master' generator: 'Ninja' cc: 'gcc-13' cxx: 'g++-13' - ignore_features: 'CUESDK VR_INTEROP POWER' + ignore_features: 'CUESDK VR_INTEROP' - name: 'Ubuntu-Clang' os: 'ubuntu-24.04' container: 'ghcr.io/unistuttgart-visus/megamol_ci_ubuntu:master' generator: 'Ninja' cc: 'clang-18' cxx: 'clang++-18' - ignore_features: 'CUESDK VR_INTEROP POWER' + ignore_features: 'CUESDK VR_INTEROP' name: "Vcpkg-${{ matrix.job.name }}" runs-on: ${{ matrix.job.os }} container: diff --git a/cmake/vcpkg_ports/power-overwhelming/devendor-fetchcontent-deps.patch b/cmake/vcpkg_ports/power-overwhelming/devendor-fetchcontent-deps.patch new file mode 100644 index 0000000000..ca2f3b003b --- /dev/null +++ b/cmake/vcpkg_ports/power-overwhelming/devendor-fetchcontent-deps.patch @@ -0,0 +1,61 @@ +diff --git a/power_overwhelming/CMakeLists.txt b/power_overwhelming/CMakeLists.txt +index 3fc7fb7..33daec6 100644 +--- a/power_overwhelming/CMakeLists.txt ++++ b/power_overwhelming/CMakeLists.txt +@@ -74,8 +74,9 @@ if (WIN32) + target_compile_options(${PROJECT_NAME} PRIVATE "-doc") + endif () + ++find_package(nlohmann_json CONFIG REQUIRED) + target_link_libraries(${PROJECT_NAME} +- PRIVATE adl nlohmann_json nvml tinkerforge) ++ PRIVATE adl nlohmann_json::nlohmann_json nvml tinkerforge) + + if (WIN32) + target_link_libraries(${PROJECT_NAME} PUBLIC Ws2_32) +diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt +index acbe4cf..5981e04 100644 +--- a/third_party/CMakeLists.txt ++++ b/third_party/CMakeLists.txt +@@ -12,10 +12,12 @@ mark_as_advanced(FORCE + FETCHCONTENT_UPDATES_DISCONNECTED) + + # AMD Display Library (this is a bit hacky ...) ++if (0) + FetchContent_Declare(adl + URL "https://github.com/GPUOpen-LibrariesAndSDKs/display-library/archive/17.1.tar.gz" + ) + FetchContent_MakeAvailable(adl) ++endif () + add_library(adl INTERFACE IMPORTED GLOBAL) + set_target_properties(adl PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${adl_SOURCE_DIR}/include") +@@ -28,6 +30,7 @@ mark_as_advanced(FORCE + FETCHCONTENT_UPDATES_DISCONNECTED_ADL) + + # JSON library ++if (0) + FetchContent_Declare(nlohmann_json + URL "https://github.com/nlohmann/json/archive/v3.11.3.tar.gz" + ) +@@ -45,6 +48,7 @@ mark_as_advanced(FORCE + JSON_LegacyDiscardedValueComparison + JSON_MultipleHeaders + JSON_SystemInclude) ++endif () + + # NVIDIA Management Library + add_library(nvml INTERFACE IMPORTED GLOBAL) +@@ -72,6 +76,7 @@ if (NOT WIN32) + endif () + + # Windows Implementation Library ++if (0) + FetchContent_Declare(wil + URL "https://github.com/microsoft/wil/archive/v1.0.230202.1.tar.gz" + ) +@@ -89,3 +94,4 @@ mark_as_advanced(FORCE + FAST_BUILD + WIL_BUILD_PACKAGING + WIL_BUILD_TESTS) ++endif () diff --git a/cmake/vcpkg_ports/power-overwhelming/portfile.cmake b/cmake/vcpkg_ports/power-overwhelming/portfile.cmake index 48efcab13f..84fd2f3066 100644 --- a/cmake/vcpkg_ports/power-overwhelming/portfile.cmake +++ b/cmake/vcpkg_ports/power-overwhelming/portfile.cmake @@ -3,17 +3,34 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO UniStuttgart-VISUS/power-overwhelming - REF "v${VERSION}" - SHA512 a9c0baadfddfe69958313e51e13dd72b594e84e3f76e0d841e9a198831b3b4f88757625d35303fd13f2585c0aad13120a25999a04ebcea3364a58982912641c7 + #REF "v${VERSION}" + REF "7143f0b11777de934046ef7bd02c1cbf82fa39b9" # master on 2024-07-01 + SHA512 cc32febef11edeb98d2192e67bba302ef4f3086f4e23572a28bb19a20ce0bf2123680bf28839433cfb98ffc541663ed8e19fd162c2a6e5fdfad6802cb1cea563 + HEAD_REF master + PATCHES + devendor-fetchcontent-deps.patch +) + +# power-overwhelming downloads some dependencies with FetchContent. +# - adl: download here as quick workaround for creating a new port +# - nlohmann-json: use vcpkg port +# - wil: is unused (only required for poweb) + +vcpkg_from_github( + OUT_SOURCE_PATH ADL_SOURCE_PATH + REPO GPUOpen-LibrariesAndSDKs/display-library + REF "17.1" + SHA512 805bc1a7f221b33955d79943833d04838b459f316c2a9ad5fa1831588b07c0bbe5975aca07c90117c10c6ff22ee12a69d5a26a75e7191eb6c40c1dccccd192af HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DFETCHCONTENT_FULLY_DISCONNECTED=OFF -DPWROWG_BuildDumpSensors=OFF -DPWROWG_BuildTests=OFF + -DPWROWG_CustomTinkerforgeFirmwareMajor=99 + -Dadl_SOURCE_DIR=${ADL_SOURCE_PATH} ) vcpkg_cmake_install() diff --git a/cmake/vcpkg_ports/power-overwhelming/vcpkg.json b/cmake/vcpkg_ports/power-overwhelming/vcpkg.json index 4036d7b891..8ab071c895 100644 --- a/cmake/vcpkg_ports/power-overwhelming/vcpkg.json +++ b/cmake/vcpkg_ports/power-overwhelming/vcpkg.json @@ -1,10 +1,11 @@ { "name": "power-overwhelming", - "version": "1.8.0", + "version-date": "2024-07-01", "description": "Measurement framekwork for GPU power consumption.", "homepage": "https://github.com/UniStuttgart-VISUS/power-overwhelming", "license": "MIT", "dependencies": [ + "nlohmann-json", { "name": "vcpkg-cmake", "host": true diff --git a/vcpkg.json b/vcpkg.json index e59ac4b4aa..e89b758eec 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -147,6 +147,12 @@ "power": { "description": "Use power consumption measurement", "dependencies": [ + { + "name": "arrow", + "features": [ + "parquet" + ] + }, "power-overwhelming" ] }, From 3a4929452511d2d70eca0c31ef6d8340cf42cdda Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Fri, 26 Jul 2024 00:09:21 +0200 Subject: [PATCH 10/11] cleanup format check --- .ci/check_format.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/.ci/check_format.sh b/.ci/check_format.sh index 582da1fe1c..6faace745a 100755 --- a/.ci/check_format.sh +++ b/.ci/check_format.sh @@ -64,9 +64,6 @@ while read -r file; do if [[ $file == *"/boost-stacktrace/"* ]]; then continue fi - if [[ $file == *"/glm/"* ]]; then - continue - fi fi # ignore 3rd party dirs From 8264331ed1713fed4eb25b38fa2fd3945ff021b4 Mon Sep 17 00:00:00 2001 From: Moritz Heinemann Date: Fri, 26 Jul 2024 00:11:22 +0200 Subject: [PATCH 11/11] update CI docker --- .ci/docker/ubuntu/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.ci/docker/ubuntu/Dockerfile b/.ci/docker/ubuntu/Dockerfile index 046953086d..21cbc136da 100644 --- a/.ci/docker/ubuntu/Dockerfile +++ b/.ci/docker/ubuntu/Dockerfile @@ -22,6 +22,8 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ xorg-dev \ # libsodium / gmp: autoconf libtool \ +# icu: + autoconf-archive \ # thrift: flex bison \ # GL/glu.h: