From a4d0df875be30431d094a5b3b394fe3bd916a67d Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Sun, 20 Oct 2024 21:34:40 +0000 Subject: [PATCH 1/3] chore: Build wasi and emscripten workflows in release --- CMakePresets.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index f4de3fe0..6916a90e 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -31,7 +31,7 @@ "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "YES", "CMAKE_TOOLCHAIN_FILE": "$env{EMSCRIPTEN_ROOT}/cmake/Modules/Platform/Emscripten.cmake", - "CMAKE_BUILD_TYPE": "Debug", + "CMAKE_BUILD_TYPE": "Release", "CMAKE_INSTALL_PREFIX": "${sourceDir}/build.em/install/usr", "CMAKE_INTERPROCEDURAL_OPTIMIZATION": "YES", "CXX_ENABLE_FLATBUFFERS": "NO", @@ -51,7 +51,7 @@ "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "YES", "CMAKE_TOOLCHAIN_FILE": "$env{WASI_SDK_ROOT}/share/cmake/wasi-sdk.cmake", - "CMAKE_BUILD_TYPE": "Debug", + "CMAKE_BUILD_TYPE": "Release", "CMAKE_INSTALL_PREFIX": "${sourceDir}/build.wasi/install/usr", "CMAKE_INTERPROCEDURAL_OPTIMIZATION": "YES", "CXX_ENABLE_FLATBUFFERS": "NO", From 79ec6f2c11028cca84701757d2164b90c6e27dbc Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Wed, 23 Oct 2024 20:08:08 +0200 Subject: [PATCH 2/3] chore: Disable scan for C++ modules in CMake It seems to break the wasi build in certain cases, so we'll disable it for now. --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b8ad9a7a..2e42e7d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,6 +53,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "WASI") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") endif() +set(CMAKE_CXX_SCAN_FOR_MODULES OFF) + FetchContent_Declare( utfcpp URL https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.5.tar.gz From dc81ab8f74d95bd76155024784f7266d4d86b515 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Wed, 23 Oct 2024 20:22:18 +0200 Subject: [PATCH 3/3] chore: Rename WASI_SDK_ROOT to WASI_SDK_PATH WASI_SDK_PATH shows up a lot more in projects using the WASI SDK. --- .../wasi-sdk/devcontainer-feature.json | 2 +- CMakePresets.json | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.devcontainer/features/wasi-sdk/devcontainer-feature.json b/.devcontainer/features/wasi-sdk/devcontainer-feature.json index 07977b1e..ae33679d 100644 --- a/.devcontainer/features/wasi-sdk/devcontainer-feature.json +++ b/.devcontainer/features/wasi-sdk/devcontainer-feature.json @@ -6,6 +6,6 @@ "ghcr.io/devcontainers/features/common-utils": {} }, "containerEnv": { - "WASI_SDK_ROOT": "/opt/wasi-sdk" + "WASI_SDK_PATH": "/opt/wasi-sdk" } } diff --git a/CMakePresets.json b/CMakePresets.json index 6916a90e..fc025bb1 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -50,7 +50,7 @@ "binaryDir": "${sourceDir}/build.wasi", "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "YES", - "CMAKE_TOOLCHAIN_FILE": "$env{WASI_SDK_ROOT}/share/cmake/wasi-sdk.cmake", + "CMAKE_TOOLCHAIN_FILE": "$env{WASI_SDK_PATH}/share/cmake/wasi-sdk.cmake", "CMAKE_BUILD_TYPE": "Release", "CMAKE_INSTALL_PREFIX": "${sourceDir}/build.wasi/install/usr", "CMAKE_INTERPROCEDURAL_OPTIMIZATION": "YES", @@ -59,7 +59,7 @@ }, "condition": { "type": "notEquals", - "lhs": "$env{WASI_SDK_ROOT}", + "lhs": "$env{WASI_SDK_PATH}", "rhs": "" } } @@ -76,7 +76,9 @@ { "name": "install", "configurePreset": "default", - "targets": ["install"] + "targets": [ + "install" + ] }, { "name": "build-emscripten", @@ -85,7 +87,9 @@ { "name": "install-emscripten", "configurePreset": "emscripten", - "targets": ["install"] + "targets": [ + "install" + ] }, { "name": "build-wasi", @@ -94,7 +98,9 @@ { "name": "install-wasi", "configurePreset": "wasi", - "targets": ["install"] + "targets": [ + "install" + ] } ], "testPresets": [ @@ -168,4 +174,4 @@ ] } ] -} +} \ No newline at end of file