aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/smf
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/smf')
-rw-r--r--vcpkg/ports/smf/portfile.cmake27
-rw-r--r--vcpkg/ports/smf/usage4
-rw-r--r--vcpkg/ports/smf/vcpkg.json33
3 files changed, 64 insertions, 0 deletions
diff --git a/vcpkg/ports/smf/portfile.cmake b/vcpkg/ports/smf/portfile.cmake
new file mode 100644
index 0000000..0aa19db
--- /dev/null
+++ b/vcpkg/ports/smf/portfile.cmake
@@ -0,0 +1,27 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO vpetrigo/smf
+ REF "v${VERSION}"
+ SHA512 bed114b54142e6fbcbb5eec9dc202c61f73e7592559eaaeb0ed3c62231ed1e4bd5eedf4ac5b5bfa2b4cf64095f432d09a8644c37b47cdba8c367b14ad080bba0
+ HEAD_REF main
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ hierarchical SMF_ANCESTOR_SUPPORT
+ init-transition SMF_INITIAL_TRANSITION
+)
+
+vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ "${FEATURE_OPTIONS}"
+)
+vcpkg_cmake_install()
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md")
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/smf)
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+)
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
diff --git a/vcpkg/ports/smf/usage b/vcpkg/ports/smf/usage
new file mode 100644
index 0000000..b5e2d46
--- /dev/null
+++ b/vcpkg/ports/smf/usage
@@ -0,0 +1,4 @@
+The package smf provides CMake targets:
+
+ find_package(smf CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE smf::smf)
diff --git a/vcpkg/ports/smf/vcpkg.json b/vcpkg/ports/smf/vcpkg.json
new file mode 100644
index 0000000..2b1aefb
--- /dev/null
+++ b/vcpkg/ports/smf/vcpkg.json
@@ -0,0 +1,33 @@
+{
+ "name": "smf",
+ "version": "0.2.3",
+ "description": "State machine framework",
+ "homepage": "https://github.com/vpetrigo/smf",
+ "license": "Apache-2.0",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "hierarchical": {
+ "description": "Enable hierarchical state machine support"
+ },
+ "init-transition": {
+ "description": "Enable state machine initial transition feature",
+ "dependencies": [
+ {
+ "name": "smf",
+ "features": [
+ "hierarchical"
+ ]
+ }
+ ]
+ }
+ }
+}