aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormyd7349 <myd7349@gmail.com>2018-12-02 12:04:15 +0800
committerRobert Schumacher <roschuma@microsoft.com>2018-12-01 20:04:15 -0800
commitcc0a70e4bbc7b12e6c0df7f9daaa76d1076ee993 (patch)
tree416cab50ccc580248ef29fe700b61a5da8a3b3ec
parent8dd8bc10df85c2f0e72e9bad3a9245cafd0b93fe (diff)
downloadvcpkg-cc0a70e4bbc7b12e6c0df7f9daaa76d1076ee993.tar.gz
vcpkg-cc0a70e4bbc7b12e6c0df7f9daaa76d1076ee993.zip
[libui] Add new port (#4810)
* [libui] Add new port * [libui] Rename package to be unofficial-libui
-rw-r--r--ports/libui/CONTROL3
-rw-r--r--ports/libui/fix-cmake.patch46
-rw-r--r--ports/libui/portfile.cmake27
3 files changed, 76 insertions, 0 deletions
diff --git a/ports/libui/CONTROL b/ports/libui/CONTROL
new file mode 100644
index 000000000..d1a70f0d5
--- /dev/null
+++ b/ports/libui/CONTROL
@@ -0,0 +1,3 @@
+Source: libui
+Version: 2018-11-03
+Description: Simple and portable (but not inflexible) native GUI library in C.
diff --git a/ports/libui/fix-cmake.patch b/ports/libui/fix-cmake.patch
new file mode 100644
index 000000000..3d206584b
--- /dev/null
+++ b/ports/libui/fix-cmake.patch
@@ -0,0 +1,46 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c7193fbb..50c997f8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -152,8 +152,7 @@ add_subdirectory("common")
+ add_subdirectory("${_OSNAME}")
+ add_library(libui ${_LIBUI_SOURCES})
+ target_include_directories(libui
+- PUBLIC .
+- PRIVATE ${_LIBUI_INCLUEDIRS})
++ PUBLIC $<INSTALL_INTERFACE:include>)
+ target_compile_definitions(libui
+ PRIVATE ${_LIBUI_DEFS})
+ # cmake produces this for us by default but only for shared libraries
+@@ -229,10 +228,30 @@ macro(_add_exec _name)
+ # TODOfor some reason these don't propagate
+ if(NOT WIN32)
+ target_include_directories(${_name}
+- PUBLIC .)
++ PUBLIC $<INSTALL_INTERFACE:include>)
+ target_compile_options(${_name}
+ PUBLIC ${_COMMON_CFLAGS})
+ endif()
+ endmacro()
+ add_subdirectory("test")
+ add_subdirectory("examples")
++
++if(BUILD_SHARED_LIBS)
++ install(TARGETS ${PROJECT_NAME}
++ EXPORT ${PROJECT_NAME}-config
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++else()
++ install(TARGETS ${PROJECT_NAME}
++ EXPORT ${PROJECT_NAME}-config
++ DESTINATION ${CMAKE_INSTALL_LIBDIR})
++endif()
++
++install(EXPORT ${PROJECT_NAME}-config
++ FILE unofficial-${PROJECT_NAME}-config.cmake
++ NAMESPACE unofficial::libui::
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
++)
++
++install(FILES ui.h DESTINATION include)
diff --git a/ports/libui/portfile.cmake b/ports/libui/portfile.cmake
new file mode 100644
index 000000000..4f543a89b
--- /dev/null
+++ b/ports/libui/portfile.cmake
@@ -0,0 +1,27 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO andlabs/libui
+ REF 7138276ccfbde94873cb6e2db65642adcbd2ee19
+ SHA512 3a9fb27d0c376479f58ba2fc5be3579efa5f462776a7e725313b92413ce78f3ca60897e63b580c419eeaee2cd2101de2be1ee5af80a547ef433c6284a3053d45
+ HEAD_REF master
+ PATCHES
+ fix-cmake.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libui TARGET_PATH share/unofficial-libui)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/libui/copyright COPYONLY)
+
+vcpkg_copy_pdbs()