From 410222311e6e5b5e439672242d2742ffa22becf9 Mon Sep 17 00:00:00 2001 From: xavi92 Date: Sun, 27 Oct 2024 07:46:09 +0000 Subject: [PATCH] 3rdParty-devel/CMakeLists.txt: Use CMake for rhash Upstream rhash relies on a configure script, which is not portable to non-POSIX platforms such as Windows. Note: CMake support in rhash is only experimental [1] and currently relies on in-house patches introduced by previous commits. [1]: https://github.com/rhash/RHash/pull/103 git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9570 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: f0888f552555ee6338877097ad5d98f2903886be Former-commit-id: 0ff2548c35a6e833d74873cf8f34ab7fb61ff9fb --- packaging/3rdParty-devel/CMakeLists.txt | 38 +++++++++++++++---------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/packaging/3rdParty-devel/CMakeLists.txt b/packaging/3rdParty-devel/CMakeLists.txt index c1ebd1d7..926ee0c0 100644 --- a/packaging/3rdParty-devel/CMakeLists.txt +++ b/packaging/3rdParty-devel/CMakeLists.txt @@ -588,24 +588,32 @@ else() endif() if(OPTION_RHASH) - set(RHASH_ARGS ${EXTERNALS_CMAKE_ARGS} -D CMAKE_DEBUG_POSTFIX='') + set(RHASH_ARGS ${EXTERNALS_CMAKE_ARGS} -D USE_GETTEXT=OFF) ExternalProject_Add(${RHASH_PROJECT} URL ${RHASH_URL} URL_HASH ${RHASH_HASH} - BINARY_DIR - # rhash does not support out-of-tree builds. - ${EXTERNALS_PREFIX}/Source/${RHASH_PROJECT} - CONFIGURE_COMMAND - ./configure - --prefix=${EXTERNALS_INSTALL_DIR} - --cc=${CMAKE_C_COMPILER} - --enable-lib-shared - --disable-lib-static - BUILD_COMMAND - make lib-shared LIBRHASH_SHARED=librhash.dll - INSTALL_COMMAND - make install-lib-shared LIBRHASH_SHARED=librhash.dll - ) + CMAKE_ARGS ${RHASH_ARGS}) + + ExternalProject_Add_Step(${RHASH_PROJECT} rhash_add_cmake + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/patches/rhash/CMakeLists.txt" + "/CMakeLists.txt" + DEPENDEES update # do after update + DEPENDERS patch) # do before patch + + ExternalProject_Add_Step(${RHASH_PROJECT} rhash_add_rhash_tohex + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/patches/rhash/rhash-tohex.cmake" + "/rhash-tohex.cmake" + DEPENDEES update # do after update + DEPENDERS patch) # do before patch + + ExternalProject_Add_Step(${RHASH_PROJECT} rhash_add_lib_cmake + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/patches/rhash/librhash/CMakeLists.txt" + "/librhash/CMakeLists.txt" + DEPENDEES update # do after update + DEPENDERS patch) # do before patch else() set(RHASH_PROJECT ) endif()