mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-24 05:59:07 +08:00
[libalkimia] new port (#20207)
* Add libalkimia port * [libalkimia] convert manifest to JSON * [libalkimia] use gettext port * [libalkimia] update to HEAD * [libalkimia] remove unused options * [libalkimia] use current spec * [libalkimia] only remove what's needed * [libalkimia] use KDE_INSTALL_QMLDIR instead of manual renaming * [libalkimia] wrap paths in quotes * [libalkimia] update versions * [libalkimia] enable parallel builds * [libalkimia] update versions * [libalkimia] enable extra features * [libalkimia] update versions * [libalkimia] update versions * [libalkimia] static build fixes * [libalkimia] update versions * [libalkimia] only copy tools if feature enabled * [libalkimia] update versions * [libalkimia] mark BUNDLE_INSTALL_DIR as maybe unused * [libalkimia] cleanup leftover static DLLs * [libalkimia] update versions * [libalkimia] limit DLL cleanup to Windows * [libalkimia] update versions * [libalkimia] DLL leftovers patched upstream * [libalkimia] update versions * [libalkimia] AUTO_CLEAN tools after copying * [libalkimia] update versions
This commit is contained in:
parent
94b2a07762
commit
b40dcaad95
21
ports/libalkimia/dll_names.diff
Normal file
21
ports/libalkimia/dll_names.diff
Normal file
@ -0,0 +1,21 @@
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 643ffcf3d7b4ce59285343f92a1407927c111881..382d3c6ed244e24dec9f144c02e0c3459e8369a9 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -156,10 +156,12 @@ install(
|
||||
|
||||
generate_export_header(alkimia BASE_NAME alk EXPORT_FILE_NAME alkimia/alk_export.h)
|
||||
|
||||
-if(WIN32)
|
||||
- set_target_properties(alkimia PROPERTIES SUFFIX "-${ALKIMIA_LIB_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
-else()
|
||||
- set_target_properties(alkimia PROPERTIES VERSION ${ALKIMIA_LIB_VERSION} SOVERSION ${ALKIMIA_LIB_SOVERSION})
|
||||
+if(BUILD_SHARED_LIBS)
|
||||
+ if(WIN32)
|
||||
+ set_target_properties(alkimia PROPERTIES SUFFIX "-${ALKIMIA_LIB_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
+ else()
|
||||
+ set_target_properties(alkimia PROPERTIES VERSION ${ALKIMIA_LIB_VERSION} SOVERSION ${ALKIMIA_LIB_SOVERSION})
|
||||
+ endif()
|
||||
endif()
|
||||
set_target_properties(alkimia PROPERTIES OUTPUT_NAME alkimia${ALKIMIA_LIB_SUFFIX})
|
||||
set(INCLUDE_INSTALL_DIR include/alkimia/${ALKIMIA_INCLUDE_SUFFIX})
|
70
ports/libalkimia/fix_explicit_shared_lib.diff
Normal file
70
ports/libalkimia/fix_explicit_shared_lib.diff
Normal file
@ -0,0 +1,70 @@
|
||||
diff --git a/qml/CMakeLists.txt b/qml/CMakeLists.txt
|
||||
index f74449b591bafd4ad0c41627139a08e29028ab21..a317307a438542e4cf26d50643057b5e9b649594 100644
|
||||
--- a/qml/CMakeLists.txt
|
||||
+++ b/qml/CMakeLists.txt
|
||||
@@ -22,7 +22,7 @@ else()
|
||||
endif()
|
||||
|
||||
configure_file(qmldir ${IMPORTS_DIR}/qmldir)
|
||||
-add_library(qmlalkimia SHARED qmlalkimiaplugin.cpp)
|
||||
+add_library(qmlalkimia qmlalkimiaplugin.cpp)
|
||||
target_link_libraries(qmlalkimia ${LIBS} alkimia)
|
||||
|
||||
install(TARGETS qmlalkimia
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index e57c94adf6c3785e5c646c7c95b586392737d686..b467849c7ff25d2ce424b30591cfe9a1e9357a46 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -103,7 +103,7 @@ endforeach()
|
||||
add_definitions(-DKNSRC_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
|
||||
ki18n_wrap_ui(alkimia_LIB_SRCS ${alkimia_UI} )
|
||||
-add_library(alkimia SHARED ${alkimia_LIB_SRCS} ${alkimia_INTERNAL_SRCS} ${alkimia_LIB_HEADERS} ${alkimia_LIB_PRIVATE_HEADERS})
|
||||
+add_library(alkimia ${alkimia_LIB_SRCS} ${alkimia_INTERNAL_SRCS} ${alkimia_LIB_HEADERS} ${alkimia_LIB_PRIVATE_HEADERS})
|
||||
|
||||
kde_target_enable_exceptions(alkimia PUBLIC)
|
||||
if(BUILD_QT4)
|
||||
@@ -164,7 +164,13 @@ endif()
|
||||
set_target_properties(alkimia PROPERTIES OUTPUT_NAME alkimia${ALKIMIA_LIB_SUFFIX})
|
||||
set(INCLUDE_INSTALL_DIR include/alkimia/${ALKIMIA_INCLUDE_SUFFIX})
|
||||
|
||||
-install(TARGETS alkimia
|
||||
+if(${BUILD_SHARED_LIBS})
|
||||
+ set(alkimia_export_targets alkimia)
|
||||
+else()
|
||||
+ set(alkimia_export_targets alkimia alkimia-internal)
|
||||
+endif()
|
||||
+
|
||||
+install(TARGETS ${alkimia_export_targets}
|
||||
EXPORT alkimiaTargets
|
||||
${INSTALL_TARGETS_DEFAULT_ARGS}
|
||||
)
|
||||
@@ -228,7 +234,7 @@ configure_package_config_file(
|
||||
|
||||
########### install files ###############
|
||||
|
||||
-export(TARGETS alkimia
|
||||
+export(TARGETS ${alkimia_export_targets}
|
||||
FILE "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}Targets.cmake"
|
||||
NAMESPACE Alkimia::
|
||||
)
|
||||
diff --git a/src/LibAlkimiaConfig.cmake.in b/src/LibAlkimiaConfig.cmake.in
|
||||
index a8893c6fe347ce2d2fe1e0a2854a206e0e41901c..8dcfdf8c13f4306a349052d1c4194e65725a50b4 100644
|
||||
--- a/src/LibAlkimiaConfig.cmake.in
|
||||
+++ b/src/LibAlkimiaConfig.cmake.in
|
||||
@@ -12,6 +12,15 @@ else()
|
||||
endif()
|
||||
find_dependency(@MP_CMAKE_MODULE@)
|
||||
|
||||
+if (NOT @BUILD_SHARED_LIBS@)
|
||||
+ find_dependency(KF5Completion)
|
||||
+ find_dependency(KF5I18n)
|
||||
+ find_dependency(KF5NewStuff)
|
||||
+ find_dependency(KF5IconThemes)
|
||||
+ find_dependency(KF5TextWidgets)
|
||||
+ find_dependency(KF5KIO)
|
||||
+endif()
|
||||
+
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/LibAlkimia@ALKIMIA_PATH_SUFFIX@Targets.cmake")
|
||||
|
||||
set_and_check(LIBALKIMIA_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
|
50
ports/libalkimia/portfile.cmake
Normal file
50
ports/libalkimia/portfile.cmake
Normal file
@ -0,0 +1,50 @@
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO KDE/alkimia
|
||||
REF 595186bee8409f30e5db091fffa245fc53ad92e8
|
||||
SHA512 509082e22bc0a2ce0586e1167df14fd42ac85321315c1ee2914f60e695d1e2e8beae4fc93d16d0053edb520fc391a3dbe30777638285b295e761ad70512688ca
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
fix_explicit_shared_lib.diff
|
||||
dll_names.diff # https://invent.kde.org/office/alkimia/-/commit/0ff901025a747ab31ab7efba9f8899b06774f60a
|
||||
)
|
||||
|
||||
# Prevent KDEClangFormat from writing to source effectively blocking parallel configure
|
||||
file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n")
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
webengine BUILD_WITH_WEBENGINE
|
||||
tools BUILD_TOOLS
|
||||
)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-DKDE_INSTALL_QMLDIR=qml
|
||||
-DBUNDLE_INSTALL_DIR=bin
|
||||
-DBUILD_TESTING=OFF
|
||||
-DBUILD_DOXYGEN_DOCS=OFF
|
||||
-DBUILD_WITH_WEBKIT=OFF
|
||||
-DBUILD_APPLETS=OFF
|
||||
${FEATURE_OPTIONS}
|
||||
MAYBE_UNUSED_VARIABLES
|
||||
BUNDLE_INSTALL_DIR
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_cmake_config_fixup(PACKAGE_NAME LibAlkimia5 CONFIG_PATH lib/cmake/LibAlkimia5-8.1)
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
if ("tools" IN_LIST FEATURES)
|
||||
vcpkg_copy_tools(TOOL_NAMES onlinequoteseditor5 AUTO_CLEAN)
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
endif()
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
47
ports/libalkimia/vcpkg.json
Normal file
47
ports/libalkimia/vcpkg.json
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "libalkimia",
|
||||
"version": "8.1.70",
|
||||
"description": "Common functionality for finance applications.",
|
||||
"homepage": "https://community.kde.org/Alkimia/libalkimia",
|
||||
"dependencies": [
|
||||
"ecm",
|
||||
{
|
||||
"name": "gettext",
|
||||
"host": true,
|
||||
"features": [
|
||||
"tools"
|
||||
]
|
||||
},
|
||||
"gmp",
|
||||
"kf5completion",
|
||||
"kf5config",
|
||||
"kf5coreaddons",
|
||||
"kf5i18n",
|
||||
"kf5iconthemes",
|
||||
"kf5kio",
|
||||
"kf5newstuff",
|
||||
"kf5textwidgets",
|
||||
"kf5xmlgui",
|
||||
"qt5-base",
|
||||
"qt5-tools",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
"tools": {
|
||||
"description": "Enables tools, including Online Quotes Editor"
|
||||
},
|
||||
"webengine": {
|
||||
"description": "Enables JavaScript support for parsing feature-rich websites",
|
||||
"dependencies": [
|
||||
"qt5-webengine"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -3292,6 +3292,10 @@
|
||||
"baseline": "5.0",
|
||||
"port-version": 7
|
||||
},
|
||||
"libalkimia": {
|
||||
"baseline": "8.1.70",
|
||||
"port-version": 0
|
||||
},
|
||||
"libarchive": {
|
||||
"baseline": "3.5.2",
|
||||
"port-version": 2
|
||||
|
9
versions/l-/libalkimia.json
Normal file
9
versions/l-/libalkimia.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "6cf107a0e18ea3b0238500ece6257e212a6ddd2b",
|
||||
"version": "8.1.70",
|
||||
"port-version": 0
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user