Bladeren bron

librhash: Build the library within CMake

Update `ustd.h` to include KWSys Large File Support configuration so
that consistent stream libraries are used (on AIX with XL).

Add a `cm_rhash.h` header to include the CMake-provided copy of the
`rhash.h` header from CMake sources.
Brad King 9 jaren geleden
bovenliggende
commit
31bb727f3b
5 gewijzigde bestanden met toevoegingen van 44 en 0 verwijderingen
  1. 4 0
      CMakeLists.txt
  2. 1 0
      Source/CMakeLists.txt
  3. 8 0
      Utilities/cm_rhash.h
  4. 28 0
      Utilities/cmlibrhash/CMakeLists.txt
  5. 3 0
      Utilities/cmlibrhash/librhash/ustd.h

+ 4 - 0
CMakeLists.txt

@@ -298,6 +298,10 @@ macro (CMAKE_BUILD_UTILITIES)
     add_subdirectory(Utilities/KWIML)
   endif()
 
+  set(CMAKE_LIBRHASH_LIBRARIES cmlibrhash)
+  add_subdirectory(Utilities/cmlibrhash)
+  CMAKE_SET_TARGET_FOLDER(cmlibrhash "Utilities/3rdParty")
+
   #---------------------------------------------------------------------
   # Build zlib library for Curl, CMake, and CTest.
   set(CMAKE_ZLIB_HEADER "cm_zlib.h")

+ 1 - 0
Source/CMakeLists.txt

@@ -788,6 +788,7 @@ target_link_libraries(CMakeLib cmsys
   ${CMAKE_CURL_LIBRARIES}
   ${CMAKE_JSONCPP_LIBRARIES}
   ${CMAKE_LIBUV_LIBRARIES}
+  ${CMAKE_LIBRHASH_LIBRARIES}
   ${CMake_KWIML_LIBRARIES}
   )
 

+ 8 - 0
Utilities/cm_rhash.h

@@ -0,0 +1,8 @@
+/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+   file Copyright.txt or https://cmake.org/licensing for details.  */
+#ifndef cm_rhash_h
+#define cm_rhash_h
+
+#include <cmlibrhash/librhash/rhash.h>
+
+#endif

+ 28 - 0
Utilities/cmlibrhash/CMakeLists.txt

@@ -0,0 +1,28 @@
+project(librhash C)
+
+set(librhash_sources
+  librhash/algorithms.c
+  librhash/algorithms.h
+  librhash/byte_order.c
+  librhash/byte_order.h
+  librhash/hex.c
+  librhash/hex.h
+  librhash/md5.c
+  librhash/md5.h
+  librhash/rhash.c
+  librhash/rhash.h
+  librhash/sha1.c
+  librhash/sha1.h
+  librhash/sha256.c
+  librhash/sha256.h
+  librhash/sha512.c
+  librhash/sha512.h
+  librhash/ustd.h
+  librhash/util.h
+  )
+
+include_directories(
+  ${KWSYS_HEADER_ROOT}
+  )
+
+add_library(cmlibrhash ${librhash_sources})

+ 3 - 0
Utilities/cmlibrhash/librhash/ustd.h

@@ -2,6 +2,9 @@
 #ifndef LIBRHASH_USTD_H
 #define LIBRHASH_USTD_H
 
+/* Include KWSys Large File Support configuration. */
+#include <cmsys/Configure.h>
+
 #if _MSC_VER >= 1300
 
 # define int64_t __int64