From 6659a312cf460ba9d54639af75b56775b9abea4c Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Fri, 23 May 2025 17:56:21 +0900 Subject: [PATCH] add a sample to use cmake package (#4291) - add a sample to use cmake package --- .../compilation_on_android_ubuntu.yml | 5 ++++ .github/workflows/compilation_on_macos.yml | 5 ++++ samples/printversion/CMakeLists.txt | 10 ++++++++ samples/printversion/printversion.c | 21 ++++++++++++++++ samples/printversion/test.sh | 24 +++++++++++++++++++ 5 files changed, 65 insertions(+) create mode 100644 samples/printversion/CMakeLists.txt create mode 100644 samples/printversion/printversion.c create mode 100755 samples/printversion/test.sh diff --git a/.github/workflows/compilation_on_android_ubuntu.yml b/.github/workflows/compilation_on_android_ubuntu.yml index 521c2e08f..db0200cac 100644 --- a/.github/workflows/compilation_on_android_ubuntu.yml +++ b/.github/workflows/compilation_on_android_ubuntu.yml @@ -437,6 +437,11 @@ jobs: ctest --test-dir build --output-on-failure working-directory: samples/wasm-c-api + - name: Build Sample [printversion] + run: | + ./test.sh + working-directory: samples/printversion + build_samples_others: needs: [ diff --git a/.github/workflows/compilation_on_macos.yml b/.github/workflows/compilation_on_macos.yml index b59f841c5..44c7973f1 100644 --- a/.github/workflows/compilation_on_macos.yml +++ b/.github/workflows/compilation_on_macos.yml @@ -282,6 +282,11 @@ jobs: ctest --test-dir build --output-on-failure working-directory: samples/wasm-c-api + - name: Build Sample [printversion] + run: | + ./test.sh + working-directory: samples/printversion + build_samples_others: needs: [build_iwasm, build_wamrc, build_llvm_libraries_on_intel_macos, build_llvm_libraries_on_arm_macos] runs-on: ${{ matrix.os }} diff --git a/samples/printversion/CMakeLists.txt b/samples/printversion/CMakeLists.txt new file mode 100644 index 000000000..6e97cb72c --- /dev/null +++ b/samples/printversion/CMakeLists.txt @@ -0,0 +1,10 @@ +# Copyright (C) 2025 Midokura Japan KK. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +cmake_minimum_required(VERSION 3.16) + +project(printversion LANGUAGES C) + +add_executable(printversion printversion.c) +find_package(iwasm REQUIRED) +target_link_libraries(printversion iwasm::vmlib) diff --git a/samples/printversion/printversion.c b/samples/printversion/printversion.c new file mode 100644 index 000000000..91b244fe2 --- /dev/null +++ b/samples/printversion/printversion.c @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2025 Midokura Japan KK. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include +#include + +#include + +int +main(int argc, char **argv) +{ + uint32_t major; + uint32_t minor; + uint32_t patch; + wasm_runtime_get_version(&major, &minor, &patch); + printf("wasm-micro-runtime %" PRIu32 ".%" PRIu32 ".%" PRIu32 "\n", major, + minor, patch); +} diff --git a/samples/printversion/test.sh b/samples/printversion/test.sh new file mode 100755 index 000000000..a51c1849c --- /dev/null +++ b/samples/printversion/test.sh @@ -0,0 +1,24 @@ +#! /bin/sh + +# Copyright (C) 2025 Midokura Japan KK. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +set -e + +DIST=$(mktemp -d) + +# WAMR_BUILD_SIMD=0 to avoid fetching simde, which is +# not relevant to this particular test. +cmake -B build-wamr \ +-D CMAKE_INSTALL_PREFIX=${DIST} \ +-D WAMR_BUILD_SIMD=0 \ +../.. +cmake --build build-wamr -t install + +cmake -B build-app \ +-D CMAKE_PREFIX_PATH=${DIST} \ +-D CMAKE_INSTALL_PREFIX=${DIST} \ +. +cmake --build build-app + +./build-app/printversion