diff options
Diffstat (limited to 'vcpkg/ports/libmodman')
| -rw-r--r-- | vcpkg/ports/libmodman/fix-install-path.patch | 39 | ||||
| -rw-r--r-- | vcpkg/ports/libmodman/fix-undefined-typeid.patch | 12 | ||||
| -rw-r--r-- | vcpkg/ports/libmodman/portfile.cmake | 42 | ||||
| -rw-r--r-- | vcpkg/ports/libmodman/usage | 5 | ||||
| -rw-r--r-- | vcpkg/ports/libmodman/vcpkg-cmake-wrapper.cmake | 6 | ||||
| -rw-r--r-- | vcpkg/ports/libmodman/vcpkg.json | 26 |
6 files changed, 130 insertions, 0 deletions
diff --git a/vcpkg/ports/libmodman/fix-install-path.patch b/vcpkg/ports/libmodman/fix-install-path.patch new file mode 100644 index 0000000..066813b --- /dev/null +++ b/vcpkg/ports/libmodman/fix-install-path.patch @@ -0,0 +1,39 @@ +diff --git a/libmodman/CMakeLists.txt b/libmodman/CMakeLists.txt +index 0aff593..9e419ce 100644 +--- a/libmodman/CMakeLists.txt ++++ b/libmodman/CMakeLists.txt +@@ -30,15 +30,15 @@ if(NOT WIN32 AND NOT APPLE) + configure_file(libmodman-2.0.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/libmodman-2.0.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmodman-2.0.pc +- DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) ++ DESTINATION lib/pkgconfig) + endif() + + # CMake Find helper +-if (NOT WIN32 AND NOT APPLE) ++if (1) + configure_file(Findlibmodman.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/Findlibmodman.cmake @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Findlibmodman.cmake +- DESTINATION ${SHARE_INSTALL_DIR}/cmake/Modules) ++ DESTINATION share/${PROJECT_NAME}) + endif() + + # Define the library itself +@@ -50,8 +50,13 @@ if(NOT WIN32) + target_link_libraries(modman dl) + endif() + set_target_properties(modman PROPERTIES PREFIX "lib" VERSION 1.0.0 SOVERSION 1) +-install(TARGETS modman DESTINATION ${LIB_INSTALL_DIR}) +-install(FILES module_manager.hpp module.hpp DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}) ++install( ++ TARGETS modman ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) ++install(FILES module_manager.hpp module.hpp DESTINATION include/${PROJECT_NAME}) + + ### Tests + add_testdirectory(test) diff --git a/vcpkg/ports/libmodman/fix-undefined-typeid.patch b/vcpkg/ports/libmodman/fix-undefined-typeid.patch new file mode 100644 index 0000000..93db675 --- /dev/null +++ b/vcpkg/ports/libmodman/fix-undefined-typeid.patch @@ -0,0 +1,12 @@ +diff --git a/libmodman/test/main.hpp b/libmodman/test/main.hpp +index 90ca87f..f4f8844 100644 +--- a/libmodman/test/main.hpp ++++ b/libmodman/test/main.hpp +@@ -20,6 +20,7 @@ + #ifndef MAIN_HPP_ + #define MAIN_HPP_ + ++#include <typeinfo> + #include "../module_manager.hpp" + + using namespace std; diff --git a/vcpkg/ports/libmodman/portfile.cmake b/vcpkg/ports/libmodman/portfile.cmake new file mode 100644 index 0000000..82ef06c --- /dev/null +++ b/vcpkg/ports/libmodman/portfile.cmake @@ -0,0 +1,42 @@ +# Enable static build in UNIX +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() + +set(LIBMODMAN_VER 2.0.1) + +vcpkg_download_distfile(ARCHIVE + URLS "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libmodman/libmodman-${LIBMODMAN_VER}.zip" + FILENAME "libmodman-${LIBMODMAN_VER}.zip" + SHA512 1fecc0fa3637c4aa86d114f5bc991605172d39183fa0f39d8c7858ef5d0d894152025bd426de4dd017a41372d800bf73f53b2328c57b77352a508e12792729fa +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + tests BUILD_TESTING +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fix-install-path.patch + fix-undefined-typeid.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/libmodman) +vcpkg_copy_pdbs() + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" + "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/vcpkg/ports/libmodman/usage b/vcpkg/ports/libmodman/usage new file mode 100644 index 0000000..220de42 --- /dev/null +++ b/vcpkg/ports/libmodman/usage @@ -0,0 +1,5 @@ +The package libmodman provides CMake targets:
+
+ find_package(libmodman CONFIG REQUIRED)
+ target_include_directories(main PRIVATE ${LIBMODMAN_INCLUDE_DIR})
+ target_link_libraries(main PRIVATE ${LIBMODMAN_LIBRARIES})
diff --git a/vcpkg/ports/libmodman/vcpkg-cmake-wrapper.cmake b/vcpkg/ports/libmodman/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000..f372257 --- /dev/null +++ b/vcpkg/ports/libmodman/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,6 @@ +set(LIBMODMAN_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +_find_package(${ARGS}) + +set(CMAKE_MODULE_PATH ${LIBMODMAN_PREV_MODULE_PATH}) diff --git a/vcpkg/ports/libmodman/vcpkg.json b/vcpkg/ports/libmodman/vcpkg.json new file mode 100644 index 0000000..8d9ec11 --- /dev/null +++ b/vcpkg/ports/libmodman/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "libmodman", + "version": "2.0.1", + "port-version": 5, + "description": "a simple library for managing modules", + "homepage": "https://code.google.com/p/libmodman", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tests": { + "description": "Build libmodman tests", + "dependencies": [ + "zlib" + ] + } + } +} |