Build System.IO.Compression.Native on WebAssembly as well. (#322)
authorZoltan Varga <vargaz@gmail.com>
Mon, 2 Dec 2019 19:23:19 +0000 (20:23 +0100)
committerSantiago Fernandez Madero <safern@microsoft.com>
Mon, 2 Dec 2019 19:23:19 +0000 (11:23 -0800)
src/libraries/Native/Unix/CMakeLists.txt
src/libraries/Native/Unix/System.IO.Compression.Native/CMakeLists.txt

index 7664cac..9d4db06 100644 (file)
@@ -257,8 +257,9 @@ endfunction()
 
 include(configure.cmake)
 
+add_subdirectory(System.IO.Compression.Native)
+
 if (NOT CLR_CMAKE_PLATFORM_WASM)
-    add_subdirectory(System.IO.Compression.Native)
        add_subdirectory(System.IO.Ports.Native)
 endif()
 
index 913e985..0d5338b 100644 (file)
@@ -1,6 +1,10 @@
 project(System.IO.Compression.Native C)
 
-find_package(ZLIB REQUIRED)
+if (CLR_CMAKE_PLATFORM_WASM)
+    add_definitions(-s USE_ZLIB)
+else ()
+    find_package(ZLIB REQUIRED)
+endif ()
 
 set(NATIVECOMPRESSION_SOURCES
     ../../AnyOS/zlib/pal_zlib.c
@@ -39,11 +43,18 @@ set (NATIVECOMPRESSION_SOURCES
     ../../AnyOS/brotli/enc/utf8_util.c
 )
 
-add_library(System.IO.Compression.Native
-    SHARED
-    ${NATIVECOMPRESSION_SOURCES}
-    ${VERSION_FILE_PATH}
-)
+if (GEN_SHARED_LIB)
+    add_library(System.IO.Compression.Native
+        SHARED
+        ${NATIVECOMPRESSION_SOURCES}
+        ${VERSION_FILE_PATH}
+    )
+
+    target_link_libraries(System.IO.Compression.Native
+        ${ZLIB_LIBRARIES}
+    )
+    install_library_and_symbols (System.IO.Compression.Native)
+endif ()
 
 add_library(System.IO.Compression.Native-Static
     STATIC
@@ -55,9 +66,4 @@ add_library(System.IO.Compression.Native-Static
 set_target_properties(System.IO.Compression.Native-Static PROPERTIES PREFIX "")
 set_target_properties(System.IO.Compression.Native-Static PROPERTIES OUTPUT_NAME System.IO.Compression.Native  CLEAN_DIRECT_OUTPUT 1)
 
-target_link_libraries(System.IO.Compression.Native
-    ${ZLIB_LIBRARIES}
-)
-
-install_library_and_symbols (System.IO.Compression.Native)
 install (TARGETS System.IO.Compression.Native-Static DESTINATION .)