diff options
Diffstat (limited to 'vcpkg/ports/eipscanner')
| -rw-r--r-- | vcpkg/ports/eipscanner/package.patch | 82 | ||||
| -rw-r--r-- | vcpkg/ports/eipscanner/portfile.cmake | 23 | ||||
| -rw-r--r-- | vcpkg/ports/eipscanner/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/eipscanner/vcpkg.json | 18 |
4 files changed, 127 insertions, 0 deletions
diff --git a/vcpkg/ports/eipscanner/package.patch b/vcpkg/ports/eipscanner/package.patch new file mode 100644 index 0000000..0df080a --- /dev/null +++ b/vcpkg/ports/eipscanner/package.patch @@ -0,0 +1,82 @@ +diff --git a/cmake/EIPScannerConfig.cmake.in b/cmake/EIPScannerConfig.cmake.in +new file mode 100644 +index 0000000..3e16bd1 +--- /dev/null ++++ b/cmake/EIPScannerConfig.cmake.in +@@ -0,0 +1,6 @@ ++@PACKAGE_INIT@ ++ ++include("${CMAKE_CURRENT_LIST_DIR}/EIPScannerTargets.cmake") ++ ++check_required_components(EIPScanner) ++ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 68a291e..d2562a8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,6 +13,7 @@ option(TEST_ENABLED "Enable unit test" OFF) + option(EXAMPLE_ENABLED "Build examples" OFF) + + add_subdirectory(src) ++ + if (EXAMPLE_ENABLED) + add_subdirectory(examples) + endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index dc2bbb9..d8d3cfa 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -64,7 +64,18 @@ set_target_properties( + VERSION ${EIPSCANNER_FULL_VERSION} + SOVERSION ${EIPSCANNER_MAJOR_VERSION}) + +-install(TARGETS EIPScanner EIPScannerS ++if(BUILD_SHARED_LIBS) ++ set(install_target EIPScanner) ++ set_target_properties(EIPScanner PROPERTIES EXPORT_NAME eipscanner) ++ set_target_properties(EIPScannerS PROPERTIES EXCLUDE_FROM_ALL 1) ++else() ++ set(install_target EIPScannerS) ++ set_target_properties(EIPScannerS PROPERTIES EXPORT_NAME eipscanner) ++ set_target_properties(EIPScanner PROPERTIES EXCLUDE_FROM_ALL 1) ++endif() ++ ++install(TARGETS ${install_target} ++ EXPORT ${install_target} + LIBRARY + DESTINATION lib + ARCHIVE +@@ -73,3 +84,33 @@ install(TARGETS EIPScanner EIPScannerS + install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/ + DESTINATION include/EIPScanner + FILES_MATCHING PATTERN "*.h*") ++ ++target_include_directories(${install_target} ++ INTERFACE ++ $<INSTALL_INTERFACE:include/EIPScanner> ++) ++ ++include(CMakePackageConfigHelpers) ++configure_package_config_file( ++ ../cmake/EIPScannerConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/EIPScannerConfig.cmake ++ INSTALL_DESTINATION lib/cmake/eipscanner ++) ++ ++write_basic_package_version_file( ++ ${CMAKE_CURRENT_BINARY_DIR}/EIPScannerConfigVersion.cmake ++ VERSION ${PROJECT_VERSION} ++ COMPATIBILITY SameMajorVersion ++) ++ ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/EIPScannerConfig.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/EIPScannerConfigVersion.cmake ++ DESTINATION lib/cmake/eipscanner ++) ++ ++install(EXPORT ${install_target} ++ FILE EIPScannerTargets.cmake ++ NAMESPACE unofficial::eipscanner:: ++ DESTINATION lib/cmake/eipscanner ++) diff --git a/vcpkg/ports/eipscanner/portfile.cmake b/vcpkg/ports/eipscanner/portfile.cmake new file mode 100644 index 0000000..27ce524 --- /dev/null +++ b/vcpkg/ports/eipscanner/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nimbuscontrols/EIPScanner + REF ${VERSION} + SHA512 24612e6eec97aa67dfd83ec90d3f1a961c69a63a17cb09679b9eb453750049628def8d488b9debbf1f322a800f9f54933dedca9b37fb1c5703e95460b89f2f43 + HEAD_REF master + PATCHES + package.patch +) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/eipscanner) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/vcpkg/ports/eipscanner/usage b/vcpkg/ports/eipscanner/usage new file mode 100644 index 0000000..8842510 --- /dev/null +++ b/vcpkg/ports/eipscanner/usage @@ -0,0 +1,4 @@ +The package EIPScanner provides CMake targets:
+
+ find_package(EIPScanner CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE unofficial::eipscanner::eipscanner)
diff --git a/vcpkg/ports/eipscanner/vcpkg.json b/vcpkg/ports/eipscanner/vcpkg.json new file mode 100644 index 0000000..ea1698b --- /dev/null +++ b/vcpkg/ports/eipscanner/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "eipscanner", + "version": "1.3.0", + "description": "Free implementation of EtherNet/IP in C++ ", + "homepage": "https://eipscanner.readthedocs.io", + "license": "MIT", + "supports": "!windows", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |