Ver Fonte

CMake Module to patch ithe check unit test library

There is an issue with the CMake build of check that produces a false
negative for clock_t, clockid_t and timer_t when using MinGW on Windows

This patches the project until the upstream patch is accepted:

     https://sourceforge.net/p/check/patches/53
Matt Clarkson há 10 anos atrás
pai
commit
b6c83a4ebe
1 ficheiros alterados com 12 adições e 0 exclusões
  1. 12 0
      cmake/check/patch.cmake

+ 12 - 0
cmake/check/patch.cmake

@@ -0,0 +1,12 @@
+message(STATUS "Patching check ${VERSION} ${SOURCE_DIR}")
+
+# Patch checks for MinGW
+# https://sourceforge.net/p/check/patches/53/
+set(CMAKE_LISTS_LOCATION "${SOURCE_DIR}/CMakeLists.txt")
+file(READ ${CMAKE_LISTS_LOCATION} CMAKE_LISTS)
+string(REGEX REPLACE
+  "(check_type_size\\((clock|clockid|timer)_t [A-Z_]+\\)[\r\n]+[^\r\n]+[\r\n]+[^\r\n]+[\r\n]+endif\\(NOT HAVE[A-Z_]+\\))"
+  "set(CMAKE_EXTRA_INCLUDE_FILES time.h)\n\\1\nunset(CMAKE_EXTRA_INCLUDE_FILES)"
+  CMAKE_LISTS "${CMAKE_LISTS}")
+file(WRITE ${CMAKE_LISTS_LOCATION} "${CMAKE_LISTS}")
+message(STATUS "Patched ${CMAKE_LISTS_LOCATION}")