From 58a62ceb00cfef62136a74b922bf142ba5fc2661 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Mon, 20 Jul 2026 17:26:44 +1200 Subject: [PATCH 1/4] New version. --- VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.txt b/VERSION.txt index 64a898231..e41bfd725 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -1.20260716.3 +1.20260720.0 From 6d69ecdc838e7e687d5017130756e66acaa76180 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Mon, 20 Jul 2026 21:49:43 +1200 Subject: [PATCH 2/4] CMake: some minor cleaning up. --- cmake/packages.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/packages.cmake b/cmake/packages.cmake index 806de4c14..790d8be72 100644 --- a/cmake/packages.cmake +++ b/cmake/packages.cmake @@ -298,7 +298,7 @@ endfunction() # Determine the platform on which we are and the architecture on which we want to build. if(EMSCRIPTEN) - set(TARGET_PLATFORM_ARCHITECTURE wasm-threaded) #---GRY--- This should eventually be renamed to just "wasm" once we are done with running simulations in their own thread. + set(TARGET_PLATFORM_ARCHITECTURE wasm) else() if(WIN32) if(RELEASE_MODE) From c763b571a035d2d9677e177e2d63607ab853418b Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Mon, 20 Jul 2026 18:05:23 +1200 Subject: [PATCH 3/4] LLVM+Clang: some minor cleaning up. --- src/3rdparty/LLVMClang/CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index 16b0084b6..761c829b7 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -86,8 +86,11 @@ elseif(NOT ONLY_BUILD_JAVASCRIPT_THIRD_PARTY_LIBRARIES) message(FATAL_ERROR "llvm-tblgen and clang-tblgen executables are required to build ${PACKAGE_NAME} with Emscripten.") endif() - set(TABLEGENS + set(LLVM_TABLEGEN -DLLVM_TABLEGEN=${LLVM_TBLGEN_EXE} + ) + + set(CLANG_TABLEGEN -DCLANG_TABLEGEN=${CLANG_TBLGEN_EXE} ) else() @@ -129,6 +132,7 @@ elseif(NOT ONLY_BUILD_JAVASCRIPT_THIRD_PARTY_LIBRARIES) -DCLANG_INCLUDE_DOCS=OFF -DCLANG_INCLUDE_TESTS=OFF -DCLANG_PLUGIN_SUPPORT=OFF + ${CLANG_TABLEGEN} -DCLANG_TOOL_DICTIONARY_BUILD=OFF -DCLANG_TOOL_HANDLE_CXX_BUILD=OFF -DCLANG_TOOL_HANDLE_LLVM_BUILD=OFF @@ -168,8 +172,8 @@ elseif(NOT ONLY_BUILD_JAVASCRIPT_THIRD_PARTY_LIBRARIES) -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=ON -DLLVM_INCLUDE_UTILS=OFF + ${LLVM_TABLEGEN} -DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS_TO_BUILD} - ${TABLEGENS} ) # Create our package. From 0cc9c3db292e23b1ce9dde14496212e942c69da9 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Mon, 20 Jul 2026 17:33:00 +1200 Subject: [PATCH 4/4] LLVM+Clang: avoid host-specific CPU tuning. Indeed, Xcode's Clang uses host-specific CPU tuning while Homebrew's Clang doesn't. LLVM+Clang is built on GitHub Actions using Xcode's Clang which means that when we want to use the static version of libOpenCOR using Homebrew's Clang then we will get told about `zcm`/`zcz` not being recognised. Normally, we wouldn't want to use `-mcpu=generic` since it would affect runtime performance, but it's negligible for libOpenCOR's use case, so the current "fix" is fine. --- src/3rdparty/LLVMClang/CMakeLists.txt | 32 +++++++++++++++++++-------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index 761c829b7..5cacc4a0f 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -24,49 +24,49 @@ if(LIBOPENCOR_PREBUILT_LLVMCLANG) if(EMSCRIPTEN) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 4f2906d4b6df1b0be5a636a88f7582425b30df49) + 05cd2766a9164a86fefeed6c54af6ff177024a70) else() if(WIN32) if(RELEASE_MODE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 7eca038345d2bb5354d469da999fe38ac7a51e96) + 9b4c654acab324912b28f30765697477312a83cf) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 38178c9f5550499a796c24ecebe5d45325e34e66) + 974ec78f371bf89ce5a475a0855fb428f5724cd6) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 0a77b2f65286f89a4175cc52ceaf07909a7cec4e) + f57bcc2c99a3cddc423e09d06870ad4243e514bd) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - b394f358e96039d5d844547b2cafda678a824776) + bd417f60cd0182a33ef4c4c20fc23c03ece70a58) endif() endif() elseif(APPLE) if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - da706ed5933abedcee5e9f8c6006b71b061c5ebf) + 4dc2ce69c478e89cfd905154f2de5824a44caf03) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 30642e4e208a800e60b8ada95e15425c89a4b4f9) + 48ec6912ab47446fb6bfd6c15017ba8680f26518) endif() else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 540878be30175da91557ab1a9f546383b458a06e) + 7cf85ece2ac15636c82e42d285fa4ab49420a8b3) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 2a68f667a7c571561416451a543024fff9096012) + a439ad9559ea909f42c192ba1c2033bd0f564877) endif() endif() endif() @@ -79,6 +79,10 @@ elseif(NOT ONLY_BUILD_JAVASCRIPT_THIRD_PARTY_LIBRARIES) set(LLVM_TARGETS_TO_BUILD WebAssembly) set(LLVM_HOST_TRIPLE wasm32-unknown-emscripten) + set(LLVM_ENABLE_LIBCXX + -DLLVM_ENABLE_LIBCXX=ON + ) + find_program(LLVM_TBLGEN_EXE NAMES llvm-tblgen) find_program(CLANG_TBLGEN_EXE NAMES clang-tblgen) @@ -94,6 +98,13 @@ elseif(NOT ONLY_BUILD_JAVASCRIPT_THIRD_PARTY_LIBRARIES) -DCLANG_TABLEGEN=${CLANG_TBLGEN_EXE} ) else() + if(APPLE AND NOT INTEL_MODE AND NOT EMSCRIPTEN) + set(CMAKE_CACHE_ARGS + -DCMAKE_C_FLAGS:STRING=-mcpu=generic + -DCMAKE_CXX_FLAGS:STRING=-mcpu=generic + ) + endif() + set(LIBCLANG_BUILD_STATIC ON) if(INTEL_MODE) @@ -125,6 +136,8 @@ elseif(NOT ONLY_BUILD_JAVASCRIPT_THIRD_PARTY_LIBRARIES) DOWNLOAD_NO_PROGRESS ON SOURCE_SUBDIR llvm + CMAKE_CACHE_ARGS + ${CMAKE_CACHE_ARGS} CMAKE_ARGS -DCLANG_BUILD_TOOLS=OFF -DCLANG_ENABLE_LIBXML2=OFF @@ -152,6 +165,7 @@ elseif(NOT ONLY_BUILD_JAVASCRIPT_THIRD_PARTY_LIBRARIES) -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_LIBPFM=OFF -DLLVM_ENABLE_LIBXML2=OFF + ${LLVM_ENABLE_LIBCXX} -DLLVM_ENABLE_MODULE_DEBUGGING=OFF -DLLVM_ENABLE_OCAMLDOC=OFF -DLLVM_ENABLE_ONDISK_CAS=OFF