Skip to content

Commit 170720a

Browse files
committed
fix: vcpkg installation directory structure and case sensitivity
- Fix INCLUDES DESTINATION case: UniConv -> uniconv (lowercase) - Use plain lib/bin for vcpkg builds (no config suffix) - Detect vcpkg via VCPKG_TARGET_TRIPLET - Keep config suffix for non-vcpkg multi-config builds
1 parent e2a4e7d commit 170720a

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

CMakeLists.txt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -300,14 +300,18 @@ if(NOT UNICONV_IS_SUBPROJECT)
300300
message(STATUS "Install prefix set to: ${CMAKE_INSTALL_PREFIX}")
301301
endif()
302302

303-
# 对于多配置生成器(如 Visual Studio),使用生成器表达式 $<CONFIG>
304-
# 对于单配置生成器(如 Makefile),使用 CMAKE_BUILD_TYPE
305-
if(CMAKE_CONFIGURATION_TYPES)
306-
# 多配置生成器:Visual Studio, Xcode, Ninja Multi-Config
303+
# vcpkg 使用独立的安装前缀处理 debug/release,直接使用 lib 和 bin
304+
# 非 vcpkg 构建时,为多配置生成器添加配置后缀
305+
if(DEFINED VCPKG_TARGET_TRIPLET OR DEFINED ENV{VCPKG_TARGET_TRIPLET})
306+
# vcpkg 构建:使用标准目录结构
307+
set(UNICONV_INSTALL_LIBDIR "lib")
308+
set(UNICONV_INSTALL_BINDIR "bin")
309+
elseif(CMAKE_CONFIGURATION_TYPES)
310+
# 非 vcpkg 多配置生成器:Visual Studio, Xcode, Ninja Multi-Config
307311
set(UNICONV_INSTALL_LIBDIR "lib/$<CONFIG>")
308312
set(UNICONV_INSTALL_BINDIR "bin/$<CONFIG>")
309313
else()
310-
# 单配置生成器:Makefile, Ninja
314+
# 非 vcpkg 单配置生成器:Makefile, Ninja
311315
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
312316
set(UNICONV_INSTALL_CONFIG_SUFFIX "Debug")
313317
else()
@@ -327,7 +331,7 @@ if(NOT UNICONV_IS_SUBPROJECT)
327331
LIBRARY DESTINATION ${UNICONV_INSTALL_LIBDIR}
328332
ARCHIVE DESTINATION ${UNICONV_INSTALL_LIBDIR}
329333
RUNTIME DESTINATION ${UNICONV_INSTALL_BINDIR}
330-
INCLUDES DESTINATION ${UNICONV_INSTALL_INCLUDEDIR}/UniConv
334+
INCLUDES DESTINATION ${UNICONV_INSTALL_INCLUDEDIR}/uniconv
331335
)
332336

333337
# 安装 simdutf 库(如果启用)

vcpkg-port/ports/uniconv/portfile.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ vcpkg_from_github(
22
OUT_SOURCE_PATH SOURCE_PATH
33
REPO hesphoros/UniConv
44
REF "v${VERSION}"
5-
SHA512 81E290B880E30A14DE218797005B0AD7B6D2D3BCF46B6524FC7DE96DDFB1FCF202F13D20E4714D8A8270759D00D3C19B61D1FED133220AFF9394FC4E60DA699D
5+
SHA512 aa76aed82984765a842555ab770f6cfe3ddcf6cdd51bbc7745ae904b85596fce568bf5aadd65919703b7ded8d0ecead472649e0254f77bd9a13d5edfb9fcf1fd
66
HEAD_REF main
77
)
88

@@ -15,9 +15,9 @@ vcpkg_cmake_configure(
1515
-DUNICONV_BUILD_TESTS=OFF
1616
-DUNICONV_LIBICONV_SOURCE=SYSTEM
1717
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
18+
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
1819
)
1920

20-
vcpkg_cmake_build()
2121
vcpkg_cmake_install()
2222

2323
vcpkg_cmake_config_fixup(

vcpkg-port/ports/uniconv/vcpkg.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "uniconv",
3-
"version": "3.2.2",
3+
"version": "3.3.0",
44
"description": "A high-performance C++ character encoding conversion library with modern C++17 interface",
55
"homepage": "https://github.com/hesphoros/UniConv",
66
"documentation": "https://github.com/hesphoros/UniConv/blob/main/README.MD",

0 commit comments

Comments
 (0)