@@ -6,6 +6,7 @@ set(exec_name "test_${PROJECT_NAME}")
66
77set (GREATEST_CRC32C "f83d6ce5" )
88set (GREATEST_SHA256 "b3f89ecad2301c64c580f328cc03a74d92f4cd4bf42ab18d3d4bfb7b8be5b948" )
9+ set (GREATEST_ARCHIVE_SHA256 "67bad60cd59fffc6b5bc65934deb338b61e8399703807458539c82afbba87d31" )
910
1011set (DOWNLOAD_DIR "${PROJECT_BINARY_DIR} /test_downloads" )
1112
@@ -17,16 +18,19 @@ endif (CMAKE_SYSTEM_NAME STREQUAL "Windows" AND NOT MSYS AND NOT CYGWIN)
1718file (MAKE_DIRECTORY "${DOWNLOAD_DIR} " )
1819
1920set (GREATEST_BASEFILENAME "greatest.h" )
20- set (GREATEST_FILE "${DOWNLOAD_DIR} /${GREATEST_BASEFILENAME} " )
21- file (TO_NATIVE_PATH "${GREATEST_FILE} " GREATEST_FILE)
22- if (CMAKE_SYSTEM_NAME STREQUAL "Windows" AND NOT MSYS AND NOT CYGWIN )
23- string (REPLACE "\\ " "\\\\ " GREATEST_FILE "${GREATEST_FILE} " )
24- endif (CMAKE_SYSTEM_NAME STREQUAL "Windows" AND NOT MSYS AND NOT CYGWIN )
2521
22+ set (GREATEST_ARCHIVE "${DOWNLOAD_DIR} /greatest.zip" )
23+ set (GREATEST_ARCHIVE_URL "https://github.com/SamuelMarks/greatest/archive/refs/heads/cmake-and-msvc.zip" )
2624set (GREATEST_URL "https://raw.githubusercontent.com/SamuelMarks/greatest/cmake-and-msvc/greatest.h" )
2725
28- file (DOWNLOAD "${GREATEST_URL} " "${GREATEST_FILE} "
29- EXPECTED_HASH "SHA256=${GREATEST_SHA256} " )
26+ if (NOT IS_DIRECTORY "${DOWNLOAD_DIR} /greatest" )
27+ file (DOWNLOAD "${GREATEST_ARCHIVE_URL} " "${GREATEST_ARCHIVE} "
28+ EXPECTED_HASH "SHA256=${GREATEST_ARCHIVE_SHA256} " )
29+
30+ file (ARCHIVE_EXTRACT INPUT "${GREATEST_ARCHIVE} " DESTINATION "${DOWNLOAD_DIR} " )
31+ file (RENAME "${DOWNLOAD_DIR} /greatest-cmake-and-msvc" "${DOWNLOAD_DIR} /greatest" )
32+ endif (NOT IS_DIRECTORY "${DOWNLOAD_DIR} /greatest" )
33+ set (GREATEST_FILE "${DOWNLOAD_DIR} /greatest/greatest.h" )
3034
3135################################
3236# Configure file (interpolate) #
@@ -38,7 +42,6 @@ file(TO_NATIVE_PATH "${GREATEST_FILE}" GREATEST_FILE)
3842if (CMAKE_SYSTEM_NAME STREQUAL "Windows" AND NOT MSYS AND NOT CYGWIN )
3943 string (REPLACE "\\ " "\\\\ " _CMAKE_CURRENT_SOURCE_DIR "${_CMAKE_CURRENT_SOURCE_DIR} " )
4044 string (REPLACE "\\ " "\\\\ " _CMAKE_CURRENT_LIST_FILE "${_CMAKE_CURRENT_LIST_FILE} " )
41- string (REPLACE "\\ " "\\\\ " GREATEST_FILE "${GREATEST_FILE} " )
4245endif (CMAKE_SYSTEM_NAME STREQUAL "Windows" AND NOT MSYS AND NOT CYGWIN )
4346
4447###############################
@@ -93,7 +96,7 @@ macro(test_wrapper)
9396 "$<BUILD_INTERFACE:${CMAKE_BINARY_DIR} /src>"
9497 "$<BUILD_INTERFACE:${CMAKE_BINARY_DIR} /acquire>"
9598 "$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR} /acquire>"
96- "$<BUILD_INTERFACE:${DOWNLOAD_DIR} >"
99+ "$<BUILD_INTERFACE:${DOWNLOAD_DIR} /greatest >"
97100 )
98101
99102 add_test (NAME "${EXEC_NAME} " COMMAND "${EXEC_NAME} " )
0 commit comments