aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-11-09 21:01:15 +0100
committerJay Berkenbilt <ejb@ql.org>2019-11-10 00:50:42 +0100
commit07da0039d3f496871d746305fbbf76ee9bde9862 (patch)
tree2bd79ba09951f77ba2d2866c339b2f73313a25c2 /TODO
parenta58918bb8756c7c8efb12a6a283cc7f879565141 (diff)
downloadqpdf-07da0039d3f496871d746305fbbf76ee9bde9862.tar.zst
Link with setargv or wsetargv with MSVC (fixes #224)
For wildcard expansion to work properly with the msvc binary, it is necessary to link with setargv.obj or wsetargv.obj, depending on whether wmain is in use.
Diffstat (limited to 'TODO')
-rw-r--r--TODO27
1 files changed, 27 insertions, 0 deletions
diff --git a/TODO b/TODO
index ebd6103e..44f4599e 100644
--- a/TODO
+++ b/TODO
@@ -132,6 +132,33 @@ Page splitting/merging
* Form fields: should be similar to outlines.
+MSVC Wildcard Expansion
+=======================
+
+(This section is referenced in azure_pipelines.yml.)
+
+The qpdf executable built with msvc is linked with setargv.obj or
+wsetargv.obj so that wildcard expansion works. It doesn't work exactly
+the way a UNIX system would work in that the program itself does the
+expansion (rather than the shell), which means that invoking qpdf.exe
+as built by msvc will expand "*.pdf" just as it will expand *.pdf. In
+some earlier versions, wildcard expansion didn't work with the msvc
+executable. The way to make this work appears to be different in some
+versions of MSVC than in others. As such, if upgrading MSVC or
+changing the build environment, the wildcard expansion behavior of the
+qpdf executable in Windows should be retested manually.
+
+Unfortunately, there is no automated test for wildcard expansion with
+MSVC because I can't figure out how to prevent qtest from expanding
+the wildcards before passing them in, and explicitly running "cmd /c
+..." from qtest doesn't seem to work in Azure Pipelines, though I can
+make it work locally.
+
+Ideally, we should figure out a way to test this in CI by having a
+test that fails if wildcard expansion is broken. In the absence of
+this, it will be necessary to test the behavior manually in both mingw
+and msvc when run from cmd and from msys bash.
+
General
=======