瀏覽代碼

Feat(Depend): win32

viest 6 年之前
父節點
當前提交
c9aa8ebbed
共有 2 個文件被更改,包括 20 次插入14 次删除
  1. 14 1
      .appveyor.yml
  2. 6 13
      config.w32

+ 14 - 1
.appveyor.yml

@@ -23,13 +23,26 @@ install:
                         7z x c:\build-cache\$bname -oc:\build-cache
                         move c:\build-cache\$dname0 c:\build-cache\$dname1
                 }
+                $lname0 = 'libxlsxwriter-' + $env:LIBXLSXWRITER_VER + '-' + $env:VC + '-' + $env:ARCH + '.zip'
+                $lname1 = 'libxlsxwriter'
+                if (-not (Test-Path c:\build-cache\$lname0)) {
+                        # vc14 is fine also for vc15 builds with PHP
+                        $url = "https://windows.php.net/downloads/pecl/deps/" + $lname0
+                        Invoke-WebRequest $url -OutFile "c:\build-cache\$lname0"
+                }
+                if (-not (Test-Path c:\build-cache\$lname1)) {
+                        & 7z x c:\build-cache\$lname0 -oc:\build-cache\$lname1
+                }
+                if (-not (Test-Path c:\build-cache\COPYING_LIBXLSXWRITER)) {
+                        copy "c:\build-cache\$lname1\COPYING" "c:\build-cache\COPYING_LIBXLSXWRITER"
+                }
 
 cache:
         c:\build-cache -> .appveyor.yml
 
 environment:
         BIN_SDK_VER: 2.1.2
-        LIBCMARK_VER: 0.28.3
+        LIBXLSXWRITER_VER: 0.7.7
         matrix:
                 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
                   ARCH: x64

+ 6 - 13
config.w32

@@ -4,21 +4,14 @@ ARG_WITH("xlswriter", "xlswriter support", "no");
 
 if (PHP_XLSWRITER != "no") {
 
-    MESSAGE("Include Path:" + configure_module_dirname + "\\include");
-
-    if (CHECK_LIB("zlib_a.lib;zlib.lib", "zlib", PHP_XLSWRITER) &&
-        CHECK_HEADER_ADD_INCLUDE("zlib.h", "CFLAGS_XLSWRITER", "..\\zlib;" + php_usual_include_suspects) &&
-        CHECK_HEADER_ADD_INCLUDE("xlsxwriter.h", "CFLAGS_XLSWRITER", PHP_XLSWRITER + ";" + configure_module_dirname + "\\include")) {
-        ADD_FLAG("CFLAGS_XLSWRITER", ' /I "' + configure_module_dirname + '" ');
-
-        ADD_SOURCES(configure_module_dirname + "\\library\\third_party\\minizip", "ioapi.c iowin32.c miniunz.c minizip.c mztools.c unzip.c zip.c", "xlswriter");
-        ADD_SOURCES(configure_module_dirname + "\\library\\third_party\\tmpfileplus", "tmpfileplus.c", "xlswriter");
-        ADD_SOURCES(configure_module_dirname + "\\library\\src", "app.c chart.c content_types.c core.c custom.c drawing.c format.c hash_table.c packager.c relationships.c shared_strings.c styles.c theme.c utility.c workbook.c worksheet.c xmlwriter.c", "xlswriter");
-        ADD_SOURCES(configure_module_dirname + "\\kernel", "common.c resource.c exception.c excel.c write.c format.c", "xlswriter");
-
+    if (CHECK_LIB("xlsxwriter.lib;xlsxwriter_a.lib", "xlswriter", PHP_XLSWRITER) &&
+        CHECK_HEADER_ADD_INCLUDE("xlsxwriter.h", "CFLAGS_XLSWRITER", PHP_PHP_BUILD + "\\include;" + PHP_XLSWRITER) &&
+        CHECK_HEADER_ADD_INCLUDE("xlsxwriter/packager.h", "CFLAGS_XLSWRITER", PHP_PHP_BUILD + "\\include;" + PHP_XLSWRITER) &&
+        CHECK_HEADER_ADD_INCLUDE("xlsxwriter/format.h", "CFLAGS_XLSWRITER", PHP_PHP_BUILD + "\\include;" + PHP_XLSWRITER)) {
         EXTENSION("xlswriter", "xls_writer.c")
+        ADD_SOURCES(configure_module_dirname + "\\kernel", "common.c resource.c exception.c excel.c write.c format.c", "xlswriter");
     } else {
-        WARNING("xlswriter not enabled, headers not found");
+        WARNING("xlswriter not enabled, xlsxwriter.lib or headers not found");
     }
 
 }