summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Johnson <srj@google.com>2024-07-31 09:52:28 -0700
committerGitHub <noreply@github.com>2024-07-31 09:52:28 -0700
commit97b9086e728765f2f956fe9263736b0cf933219e (patch)
tree48166ee0fe8a4d93f1e6d2f7ac5942c854176fec
parented1ce97eef41c598befa962aa97624f5c5b034cf (diff)
downloadwabt-97b9086e728765f2f956fe9263736b0cf933219e.tar.gz
wabt-97b9086e728765f2f956fe9263736b0cf933219e.tar.bz2
wabt-97b9086e728765f2f956fe9263736b0cf933219e.zip
Fix OpenSSL dependency in CMake (#2447)
-rw-r--r--.github/workflows/build.yml31
-rw-r--r--scripts/example-project/CMakeLists.txt11
-rw-r--r--scripts/example-project/example.cpp3
-rw-r--r--scripts/wabt-config.cmake.in5
4 files changed, 47 insertions, 3 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 5932a2c4..3a4442b3 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -80,7 +80,7 @@ jobs:
docker exec emscripten emcc -v
docker exec emscripten emcmake cmake -B emscripten -DWERROR=ON
docker exec -w /src/emscripten emscripten make -j $(nproc)
-
+
wasi:
name: wasi
runs-on: ubuntu-latest
@@ -162,10 +162,35 @@ jobs:
python -m pip install -U setuptools wheel pip
python -m pip install "cmake==${WABT_CMAKE_VER}.*"
cmake --version
- - name: Configure WABT
+
+ - name: configure (OpenSSL)
run: cmake -G Ninja -S . -B out -DCMAKE_BUILD_TYPE=Release
- - name: build
+ - name: build (OpenSSL)
run: cmake --build out
+ - name: install (OpenSSL)
+ run: cmake --install out --prefix install
+
+ - name: configure (PicoSHA2)
+ run: cmake -G Ninja -S . -B out-picosha -DCMAKE_BUILD_TYPE=Release -DUSE_INTERNAL_SHA256=ON
+ - name: build (PicoSHA2)
+ run: cmake --build out-picosha
+ - name: install (PicoSHA2)
+ run: cmake --install out-picosha --prefix install-picosha
+
+ - name: test CMake package (OpenSSL)
+ run: >
+ ctest --build-and-test scripts/example-project example-openssl
+ --build-generator Ninja
+ --build-options -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$PWD/install
+ --test-command ctest
+
+ - name: test CMake package (PicoSHA2)
+ run: >
+ ctest --build-and-test scripts/example-project example-picosha
+ --build-generator Ninja
+ --build-options -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$PWD/install-picosha
+ --test-command ctest
+
- name: unittests
run: cmake --build out --target run-unittests
- name: c-api-tests
diff --git a/scripts/example-project/CMakeLists.txt b/scripts/example-project/CMakeLists.txt
new file mode 100644
index 00000000..0ff3bb32
--- /dev/null
+++ b/scripts/example-project/CMakeLists.txt
@@ -0,0 +1,11 @@
+cmake_minimum_required(VERSION 3.16)
+project(example CXX)
+
+enable_testing()
+
+find_package(wabt REQUIRED)
+
+add_executable(example example.cpp)
+target_link_libraries(example PRIVATE wabt::wabt)
+
+add_test(NAME example COMMAND example)
diff --git a/scripts/example-project/example.cpp b/scripts/example-project/example.cpp
new file mode 100644
index 00000000..680b99e3
--- /dev/null
+++ b/scripts/example-project/example.cpp
@@ -0,0 +1,3 @@
+#include <wabt/ir.h>
+
+int main () {}
diff --git a/scripts/wabt-config.cmake.in b/scripts/wabt-config.cmake.in
index 56e8bf8e..d66ff676 100644
--- a/scripts/wabt-config.cmake.in
+++ b/scripts/wabt-config.cmake.in
@@ -1,5 +1,10 @@
cmake_minimum_required(VERSION 3.8)
@PACKAGE_INIT@
+if ("@HAVE_OPENSSL_SHA_H@")
+ include(CMakeFindDependencyMacro)
+ find_dependency(OpenSSL)
+endif ()
+
include("${CMAKE_CURRENT_LIST_DIR}/wabt-targets.cmake")
check_required_components(wabt)