Commit b7c247b3ad4d230277efd4f45b64feea48c84259

Patrick Steinhardt 2019-07-18T13:37:02

cmake: include SHA1 headers into our source files When selecting the SHA1 backend, we only include the respective C implementation of the selected backend. But since commit bd48bf3fb (hash: introduce source files to break include circles, 2019-06-14), we have introduced separate headers and compilation units for all hashes. So by not including the headers, we may not honor them to compute whether a file needs to be recompiled and they also will not be displayed in IDEs. Add the header files to fix this problem.

diff --git a/cmake/Modules/SelectHashes.cmake b/cmake/Modules/SelectHashes.cmake
index e6751ad..5667a9e 100644
--- a/cmake/Modules/SelectHashes.cmake
+++ b/cmake/Modules/SelectHashes.cmake
@@ -30,7 +30,7 @@ IF(SHA1_BACKEND STREQUAL "CollisionDetection")
 	ADD_DEFINITIONS(-DSHA1DC_NO_STANDARD_INCLUDES=1)
 	ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"common.h\")
 	ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"common.h\")
-	FILE(GLOB SRC_SHA1 hash/sha1/collisiondetect.c hash/sha1/sha1dc/*)
+	FILE(GLOB SRC_SHA1 hash/sha1/collisiondetect.* hash/sha1/sha1dc/*)
 ELSEIF(SHA1_BACKEND STREQUAL "OpenSSL")
 	# OPENSSL_FOUND should already be set, we're checking HTTPS_BACKEND
 
@@ -40,13 +40,13 @@ ELSEIF(SHA1_BACKEND STREQUAL "OpenSSL")
 	ELSE()
 		LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
 	ENDIF()
-	FILE(GLOB SRC_SHA1 hash/sha1/openssl.c)
+	FILE(GLOB SRC_SHA1 hash/sha1/openssl.*)
 ELSEIF(SHA1_BACKEND STREQUAL "CommonCrypto")
 	SET(GIT_SHA1_COMMON_CRYPTO 1)
-	FILE(GLOB SRC_SHA1 hash/sha1/common_crypto.c)
+	FILE(GLOB SRC_SHA1 hash/sha1/common_crypto.*)
 ELSEIF(SHA1_BACKEND STREQUAL "mbedTLS")
 	SET(GIT_SHA1_MBEDTLS 1)
-	FILE(GLOB SRC_SHA1 hash/sha1/mbedtls.c)
+	FILE(GLOB SRC_SHA1 hash/sha1/mbedtls.*)
 	LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
 	LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
 	# mbedTLS has no pkgconfig file, hence we can't require it
@@ -55,9 +55,9 @@ ELSEIF(SHA1_BACKEND STREQUAL "mbedTLS")
 	LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
 ELSEIF(SHA1_BACKEND STREQUAL "Win32")
 	SET(GIT_SHA1_WIN32 1)
-	FILE(GLOB SRC_SHA1 hash/sha1/win32.c)
+	FILE(GLOB SRC_SHA1 hash/sha1/win32.*)
 ELSEIF(SHA1_BACKEND STREQUAL "Generic")
-	FILE(GLOB SRC_SHA1 hash/sha1/generic.c)
+	FILE(GLOB SRC_SHA1 hash/sha1/generic.*)
 # ELSEIF(NOT USE_SHA1)
 ELSE()
 	MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend: ${SHA1_BACKEND}")