mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 12:06:49 +08:00
[stx] Add new port (#12011)
* Add port STX * stx: improve include files handling, disabled shared library support * [stx] remove CMakeLists.txt, add CMakeLists.patch, fixes * Update ports/stx/CMakeLists.patch to remove comments Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * CMakeLists.txt remove comment for installed region * Update ports/stx/portfile.cmake Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update ports/stx/portfile.cmake Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Use vcpkg_check_linkage(ONLY_STATIC_LIBRARY) instead of custom logic Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update portfile.cmake Co-authored-by: Jean Gautier <jean.gautier@ssi.gouv.fr> Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
This commit is contained in:
parent
565df6ec85
commit
8cfa3e8e31
71
ports/stx/CMakeLists.patch
Normal file
71
ports/stx/CMakeLists.patch
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index e4ed99e..b0d2b15 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -204,12 +204,7 @@ endif()
|
||||||
|
# ===============================================
|
||||||
|
|
||||||
|
if(STX_ENABLE_BACKTRACE)
|
||||||
|
- if(NOT EXISTS third_party/abseil)
|
||||||
|
- execute_process(
|
||||||
|
- COMMAND git submodule update --init --recursive third_party/abseil
|
||||||
|
- WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
- endif()
|
||||||
|
- add_subdirectory(third_party/abseil)
|
||||||
|
+ find_package(absl CONFIG REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# the atomics library doesn't automatically link on my Android phone
|
||||||
|
@@ -246,13 +241,17 @@ else()
|
||||||
|
add_library(stx STATIC ${STX_SRCS})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-target_include_directories(stx PUBLIC include)
|
||||||
|
+target_include_directories(stx PUBLIC
|
||||||
|
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||||
|
+ $<INSTALL_INTERFACE:include>
|
||||||
|
+)
|
||||||
|
+
|
||||||
|
target_compile_options(stx PRIVATE ${STX_FLAGS} ${STX_WARNING_FLAGS})
|
||||||
|
target_compile_definitions(stx PUBLIC ${STX_COMPILER_DEFS})
|
||||||
|
target_link_libraries(stx ${STX_LIB_DEPENDENCIES})
|
||||||
|
|
||||||
|
if(STX_ENABLE_BACKTRACE)
|
||||||
|
- target_link_libraries(stx absl::stacktrace absl::symbolize)
|
||||||
|
+ target_link_libraries(stx PUBLIC absl::stacktrace absl::symbolize)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ANDROID)
|
||||||
|
@@ -288,6 +287,7 @@ endif()
|
||||||
|
#
|
||||||
|
# ===============================================
|
||||||
|
|
||||||
|
+
|
||||||
|
if(STX_BUILD_BENCHMARKS)
|
||||||
|
|
||||||
|
if(NOT EXISTS third_party/benchmark)
|
||||||
|
@@ -433,3 +433,24 @@ if(STX_BUILD_DOCS)
|
||||||
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/docs/html/assets)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
+
|
||||||
|
+install(
|
||||||
|
+ TARGETS stx
|
||||||
|
+ EXPORT stx
|
||||||
|
+ ARCHIVE DESTINATION lib
|
||||||
|
+ LIBRARY DESTINATION lib
|
||||||
|
+ RUNTIME DESTINATION bin
|
||||||
|
+)
|
||||||
|
+
|
||||||
|
+install(
|
||||||
|
+ DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
|
||||||
|
+ DESTINATION include
|
||||||
|
+ FILES_MATCHING PATTERN "*.h*")
|
||||||
|
+
|
||||||
|
+install(
|
||||||
|
+ EXPORT stx
|
||||||
|
+ DESTINATION share/stx
|
||||||
|
+ FILE stxConfig.cmake
|
||||||
|
+ NAMESPACE stx::
|
||||||
|
+)
|
||||||
|
+
|
8
ports/stx/CONTROL
Normal file
8
ports/stx/CONTROL
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
Source: stx
|
||||||
|
Version: 1.0.1
|
||||||
|
Homepage: https://github.com/lamarrr/STX
|
||||||
|
Description: C++17 & C++ 20 error-handling and utility extensions
|
||||||
|
|
||||||
|
Feature: backtrace
|
||||||
|
Description: stacktrace support for STX
|
||||||
|
Build-Depends: abseil
|
35
ports/stx/portfile.cmake
Normal file
35
ports/stx/portfile.cmake
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
vcpkg_from_github(
|
||||||
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
|
REPO lamarrr/STX
|
||||||
|
REF v1.0.1
|
||||||
|
SHA512 544ca32f07cd863082fa9688f5d56e2715b0129ff90d2a8533cc24a92c943e5848c4b2b06a71f54c12668f6e89e9e3c649f595f9eb886f671a5fa18d343f794b
|
||||||
|
HEAD_REF master
|
||||||
|
PATCHES
|
||||||
|
"CMakeLists.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||||
|
backtrace STX_ENABLE_BACKTRACE
|
||||||
|
)
|
||||||
|
|
||||||
|
vcpkg_configure_cmake(
|
||||||
|
SOURCE_PATH ${SOURCE_PATH}
|
||||||
|
PREFER_NINJA
|
||||||
|
OPTIONS
|
||||||
|
${FEATURE_OPTIONS}
|
||||||
|
-DSTX_BUILD_DOCS=OFF
|
||||||
|
-DSTX_BUILD_BENCHMARKS=OFF
|
||||||
|
-DSTX_BUILD_SHARED=OFF
|
||||||
|
)
|
||||||
|
|
||||||
|
vcpkg_install_cmake()
|
||||||
|
vcpkg_fixup_cmake_targets(CONFIG_PATH share/stx)
|
||||||
|
vcpkg_copy_pdbs()
|
||||||
|
|
||||||
|
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||||
|
|
||||||
|
file(REMOVE_RECURSE
|
||||||
|
"${CURRENT_PACKAGES_DIR}/debug/include"
|
||||||
|
)
|
Loading…
Reference in New Issue
Block a user