aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.patch/openssl-cmake/0004-use-shell-wrapper.patch39
-rw-r--r--cpmfile.json3
2 files changed, 41 insertions, 1 deletions
diff --git a/.patch/openssl-cmake/0004-use-shell-wrapper.patch b/.patch/openssl-cmake/0004-use-shell-wrapper.patch
new file mode 100644
index 0000000000..76a19644df
--- /dev/null
+++ b/.patch/openssl-cmake/0004-use-shell-wrapper.patch
@@ -0,0 +1,39 @@
+--- a/CMakeLists.txt 2026-06-01 23:53:16.498043856 -0400
++++ b/CMakeLists.txt 2026-06-01 23:53:23.910543615 -0400
+@@ -312,13 +312,29 @@
+ ${OPENSSL_SHARED_CRYPTO_LIBRARY}
+ ${OPENSSL_SHARED_SSL_LIBRARY}
+ )
+-add_custom_command(
+- OUTPUT ${OPENSSL_BUILD_OUTPUT}
+- COMMAND ${OPENSSL_BUILD_COMMAND}
+- DEPENDS ${OPENSSL_SOURCES}
+- WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}
+- VERBATIM
+-)
++if (WIN32)
++ add_custom_command(
++ OUTPUT ${OPENSSL_BUILD_OUTPUT}
++ COMMAND ${OPENSSL_BUILD_COMMAND}
++ DEPENDS ${OPENSSL_SOURCES}
++ WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}
++ VERBATIM)
++else()
++ set(_openssl_build_script "${CMAKE_CURRENT_BINARY_DIR}/BuildOpenSSL.cmake")
++ file(WRITE ${_openssl_build_script}
++ "execute_process(\n"
++ " COMMAND ${OPENSSL_BUILD_COMMAND}\n"
++ " WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}\n"
++ " RESULT_VARIABLE _r)\n"
++ "if(_r)\n"
++ " message(FATAL_ERROR \"OpenSSL build failed: \${_r}\")\n"
++ "endif()\n")
++ add_custom_command(
++ OUTPUT ${OPENSSL_BUILD_OUTPUT}
++ COMMAND ${CMAKE_COMMAND} -P ${_openssl_build_script}
++ DEPENDS ${OPENSSL_SOURCES}
++ VERBATIM)
++endif()
+
+ if(PROJECT_IS_TOP_LEVEL)
+ add_custom_target(openssl-build ALL DEPENDS ${OPENSSL_BUILD_OUTPUT})
diff --git a/cpmfile.json b/cpmfile.json
index fdcf4b60d5..48201e627d 100644
--- a/cpmfile.json
+++ b/cpmfile.json
@@ -19,7 +19,8 @@
"patches": [
"0001-cpmutil-compat.patch",
"0002-use-ccache.patch",
- "0003-use-cmake-compiler-flags.patch"
+ "0003-use-cmake-compiler-flags.patch",
+ "0004-use-shell-wrapper.patch"
]
},
"openssl": {