changeset 3:e1f25cbeeb9b

libz: add MinGW support
author David Demelier <markand@malikania.fr>
date Fri, 23 Sep 2016 07:27:36 +0200
parents a957e9f03335
children 71ca7ab9226b
files libz/CMakeLists.txt
diffstat 1 files changed, 25 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/libz/CMakeLists.txt	Wed Sep 21 12:38:41 2016 +0200
+++ b/libz/CMakeLists.txt	Fri Sep 23 07:27:36 2016 +0200
@@ -7,13 +7,30 @@
 include(ExternalProject)
 
 if (MSVC)
-    ExternalProject_Add(
+    set(GENERATOR "NMake Makefiles")
+elseif (MINGW)
+    set(GENERATOR "MinGW Makefiles")
+endif ()
+
+ExternalProject_Add(
+    libz
+    URL http://zlib.net/zlib128.zip
+    URL_HASH SHA1=5782f3539015ead310234fd8637a7fe78af3d16c
+    CMAKE_GENERATOR ${GENERATOR}
+    CMAKE_ARGS
+        -DCMAKE_BUILD_TYPE=$<CONFIG>
+        -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
+)
+
+if (MINGW)
+    # Lots of packages search for "libz.dll.a", so copy the libzlib.dll.a.
+    ExternalProject_Add_Step(
         libz
-        URL http://zlib.net/zlib128.zip
-        URL_HASH SHA1=5782f3539015ead310234fd8637a7fe78af3d16c
-        CMAKE_GENERATOR "NMake Makefiles"
-        CMAKE_ARGS
-            -DCMAKE_BUILD_TYPE=$<CONFIG>
-            -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
+        postinstall
+        DEPENDEES install
+        COMMAND
+        ${CMAKE_COMMAND} -E copy
+            ${CMAKE_INSTALL_PREFIX}/lib/libzlib.dll.a
+            ${CMAKE_INSTALL_PREFIX}/lib/libz.dll.a
     )
-endif ()
+endif ()
\ No newline at end of file