Unverified Commit 3b7b4d27 by Edward Thomson Committed by GitHub

Merge pull request #5523 from libgit2/pks/cmake-sort-reproducible-builds

cmake: Sort source files for reproducible builds
parents b7b872f5 b85eefb4
...@@ -56,4 +56,6 @@ ELSE() ...@@ -56,4 +56,6 @@ ELSE()
MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend: ${USE_SHA1}") MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend: ${USE_SHA1}")
ENDIF() ENDIF()
list(SORT SRC_SHA1)
ADD_FEATURE_INFO(SHA ON "using ${USE_SHA1}") ADD_FEATURE_INFO(SHA ON "using ${USE_SHA1}")
FILE(GLOB SRC_HTTP "*.c" "*.h") file(GLOB SRC_HTTP "*.c" "*.h")
list(SORT SRC_HTTP)
ADD_LIBRARY(http-parser OBJECT ${SRC_HTTP}) add_library(http-parser OBJECT ${SRC_HTTP})
ENABLE_WARNINGS(implicit-fallthrough=1) enable_warnings(implicit-fallthrough=1)
FILE(GLOB SRC_NTLMCLIENT "ntlm.c" "unicode_builtin.c" "util.c") FILE(GLOB SRC_NTLMCLIENT "ntlm.c" "unicode_builtin.c" "util.c")
LIST(SORT SRC_NTLMCLIENT)
ADD_DEFINITIONS(-DNTLM_STATIC=1) ADD_DEFINITIONS(-DNTLM_STATIC=1)
......
DISABLE_WARNINGS(implicit-fallthrough) disable_warnings(implicit-fallthrough)
ADD_DEFINITIONS(-DNO_VIZ -DSTDC -DNO_GZIP) add_definitions(-DNO_VIZ -DSTDC -DNO_GZIP)
FILE(GLOB SRC_ZLIB "*.c" "*.h") file(GLOB SRC_ZLIB "*.c" "*.h")
INCLUDE_DIRECTORIES(".") list(SORT SRC_ZLIB)
ADD_LIBRARY(zlib OBJECT ${SRC_ZLIB}) include_directories(".")
add_library(zlib OBJECT ${SRC_ZLIB})
...@@ -76,12 +76,13 @@ ENDIF() ...@@ -76,12 +76,13 @@ ENDIF()
ADD_FEATURE_INFO(threadsafe THREADSAFE "threadsafe support") ADD_FEATURE_INFO(threadsafe THREADSAFE "threadsafe support")
IF (WIN32 AND EMBED_SSH_PATH) if(WIN32 AND EMBED_SSH_PATH)
FILE(GLOB SRC_SSH "${EMBED_SSH_PATH}/src/*.c") file(GLOB SRC_SSH "${EMBED_SSH_PATH}/src/*.c")
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES "${EMBED_SSH_PATH}/include") list(SORT SRC_SSH)
FILE(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"") list(APPEND LIBGIT2_SYSTEM_INCLUDES "${EMBED_SSH_PATH}/include")
SET(GIT_SSH 1) file(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"")
ENDIF() set(GIT_SSH 1)
endif()
IF (WIN32 AND WINHTTP) IF (WIN32 AND WINHTTP)
SET(GIT_WINHTTP 1) SET(GIT_WINHTTP 1)
...@@ -267,33 +268,38 @@ ENDIF() ...@@ -267,33 +268,38 @@ ENDIF()
ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64) ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64)
# Collect sourcefiles # Collect sourcefiles
FILE(GLOB SRC_H file(GLOB SRC_H
"${libgit2_SOURCE_DIR}/include/git2.h" "${libgit2_SOURCE_DIR}/include/git2.h"
"${libgit2_SOURCE_DIR}/include/git2/*.h" "${libgit2_SOURCE_DIR}/include/git2/*.h"
"${libgit2_SOURCE_DIR}/include/git2/sys/*.h") "${libgit2_SOURCE_DIR}/include/git2/sys/*.h")
list(SORT SRC_H)
# On Windows use specific platform sources # On Windows use specific platform sources
IF (WIN32 AND NOT CYGWIN) if(WIN32 AND NOT CYGWIN)
IF(MSVC) if(MSVC)
SET(WIN_RC "win32/git2.rc") SET(WIN_RC "win32/git2.rc")
ENDIF() endif()
FILE(GLOB SRC_OS win32/*.c win32/*.h) file(GLOB SRC_OS win32/*.c win32/*.h)
ELSEIF (AMIGA) list(SORT SRC_OS)
ADD_DEFINITIONS(-DNO_ADDRINFO -DNO_READDIR_R -DNO_MMAP) elseif(AMIGA)
ELSE() add_definitions(-DNO_ADDRINFO -DNO_READDIR_R -DNO_MMAP)
FILE(GLOB SRC_OS unix/*.c unix/*.h) else()
ENDIF() file(GLOB SRC_OS unix/*.c unix/*.h)
list(SORT SRC_OS)
endif()
IF (USE_LEAK_CHECKER STREQUAL "valgrind") IF (USE_LEAK_CHECKER STREQUAL "valgrind")
ADD_DEFINITIONS(-DVALGRIND) ADD_DEFINITIONS(-DVALGRIND)
ENDIF() ENDIF()
FILE(GLOB SRC_GIT2 *.c *.h file(GLOB SRC_GIT2 *.c *.h
allocators/*.c allocators/*.h allocators/*.c allocators/*.h
streams/*.c streams/*.h streams/*.c streams/*.h
transports/*.c transports/*.h transports/*.c transports/*.h
xdiff/*.c xdiff/*.h) xdiff/*.c xdiff/*.h)
list(SORT SRC_GIT2)
IF(APPLE) IF(APPLE)
# The old Secure Transport API has been deprecated in macOS 10.15. # The old Secure Transport API has been deprecated in macOS 10.15.
SET_SOURCE_FILES_PROPERTIES(streams/stransport.c PROPERTIES COMPILE_FLAGS -Wno-deprecated) SET_SOURCE_FILES_PROPERTIES(streams/stransport.c PROPERTIES COMPILE_FLAGS -Wno-deprecated)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment