aboutsummaryrefslogtreecommitdiff
path: root/ports/libiconv
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-03-11 23:41:51 -0700
committerRobert Schumacher <roschuma@microsoft.com>2018-03-11 23:42:54 -0700
commit9f9778ccff48981a691bf34f30ecc4bf2efd5ac1 (patch)
tree10ec609d13836ddc266345f441bae6f9e824056a /ports/libiconv
parentece289b9a6466dca885fd2555ed783d70dcad9bf (diff)
downloadvcpkg-9f9778ccff48981a691bf34f30ecc4bf2efd5ac1.tar.gz
vcpkg-9f9778ccff48981a691bf34f30ecc4bf2efd5ac1.zip
[many ports] Improve behavior on Linux and general cleanup
Diffstat (limited to 'ports/libiconv')
-rw-r--r--ports/libiconv/CMakeLists.txt25
-rw-r--r--ports/libiconv/CONTROL2
-rw-r--r--ports/libiconv/portfile.cmake14
-rw-r--r--ports/libiconv/vcpkg-iconv-config.cmake2
4 files changed, 32 insertions, 11 deletions
diff --git a/ports/libiconv/CMakeLists.txt b/ports/libiconv/CMakeLists.txt
index be42843e3..95071be9d 100644
--- a/ports/libiconv/CMakeLists.txt
+++ b/ports/libiconv/CMakeLists.txt
@@ -30,18 +30,29 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
add_definitions(-DLIBDIR -D_CRT_SECURE_NO_WARNINGS)
add_library(libcharset libcharset/lib/localcharset.c)
+target_include_directories(libcharset PUBLIC $<INSTALL_INTERFACE:include>)
add_library(libiconv lib/iconv.c)
-target_link_libraries(libiconv libcharset)
+target_link_libraries(libiconv PRIVATE libcharset)
+target_include_directories(libiconv PUBLIC $<INSTALL_INTERFACE:include>)
-install(TARGETS libcharset libiconv
+install(TARGETS libcharset libiconv EXPORT unofficial-iconv-targets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
-install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/iconv.h
- ${CMAKE_CURRENT_BINARY_DIR}/localcharset.h
- DESTINATION include
-)
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/iconv.h
+ ${CMAKE_CURRENT_BINARY_DIR}/localcharset.h
+ DESTINATION include
+ )
+endif()
+
+install(
+ EXPORT unofficial-iconv-targets
+ FILE unofficial-iconv-config.cmake
+ NAMESPACE unofficial::iconv::
+ DESTINATION share/unofficial-iconv
+) \ No newline at end of file
diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL
index aabc4a953..8bb9625b9 100644
--- a/ports/libiconv/CONTROL
+++ b/ports/libiconv/CONTROL
@@ -1,3 +1,3 @@
Source: libiconv
-Version: 1.15-1
+Version: 1.15-2
Description: GNU Unicode text conversion
diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake
index 79c30987c..bded180db 100644
--- a/ports/libiconv/portfile.cmake
+++ b/ports/libiconv/portfile.cmake
@@ -1,3 +1,10 @@
+if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/libiconv)
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-iconv-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libiconv)
+ return()
+endif()
+
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libiconv-1.15)
vcpkg_download_distfile(ARCHIVE
@@ -20,14 +27,15 @@ vcpkg_apply_patches(
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
)
vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-iconv TARGET_PATH share/unofficial-iconv)
+
vcpkg_copy_pdbs()
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/libiconv)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libiconv/COPYING.LIB ${CURRENT_PACKAGES_DIR}/share/libiconv/copyright)
-
-# clean out the debug include
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) \ No newline at end of file
diff --git a/ports/libiconv/vcpkg-iconv-config.cmake b/ports/libiconv/vcpkg-iconv-config.cmake
new file mode 100644
index 000000000..4befd4d15
--- /dev/null
+++ b/ports/libiconv/vcpkg-iconv-config.cmake
@@ -0,0 +1,2 @@
+add_library(unofficial::vcpkg::libcharset UNKNOWN IMPORTED)
+add_library(unofficial::vcpkg::libiconv UNKNOWN IMPORTED)