On 13.11.2016 00:24 Greg Ercolano wrote:
> On 11/12/16 15:13, Ian MacArthur wrote:
>> >From your log, it looks like this is the step that fails:
>> error MSB3073: The command "copy /Y H:\Google Drive\Visual Studio 2015\XXXXX\abi-version.ide H:\Google Drive\Visual Studio 2015\XXXXXX
>
>
> I wonder if it's the spaces in the filenames ("Google<space>Drive") that's causing
> the problem. That is a copy command, and I don't see quotes around the pathname,
> so how would 'copy' know the difference between the source and destination filenames
> if there's no quotes protecting the spaces?
Yep, verified.
(1) extracting the tarball in a path with spaces and building
ide/VisualC2010/fltk.sln with Visual Studio 2015 (Community) fails.
(2) The same works after patching ide/VisualC2010/fltk.lib.vcxproj to
use quotes in the copy command.
> Try locating your fltk files in a directory that doesn't have spaces in the
> pathname to see if that's the problem.
That would certainly help to build FLTK.
Another workaround would be to edit abi-version.h _after_ copying it to
FL/abi-version.h manually in place. This would prevent the copy command
from being issued, but that's not a real solution.
FWIW: Here's my working patch for ide/VisualC2010:
diff --git a/ide/VisualC2010/fltk.lib.vcxproj
b/ide/VisualC2010/fltk.lib.vcxproj
index d0a40e1..e8384eb 100644
--- a/ide/VisualC2010/fltk.lib.vcxproj
+++ b/ide/VisualC2010/fltk.lib.vcxproj
@@ -94,7 +94,7 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<PreBuildEvent>
- <Command>copy /Y $(SolutionDir)..\..\abi-version.ide
$(SolutionDir)..\..\FL\abi-version.h</Command>
+ <Command>copy /Y "$(SolutionDir)..\..\abi-version.ide"
"$(SolutionDir)..\..\FL\abi-version.h"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -121,7 +121,7 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<PreBuildEvent>
- <Command>copy /Y $(SolutionDir)..\..\abi-version.ide
$(SolutionDir)..\..\FL\abi-version.h</Command>
+ <Command>copy /Y "$(SolutionDir)..\..\abi-version.ide"
"$(SolutionDir)..\..\FL\abi-version.h"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition="'$(Configuration)|$(Platform)'=='Debug Cairo|Win32'">
@@ -149,7 +149,7 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<PreBuildEvent>
- <Command>copy /Y $(SolutionDir)..\..\abi-version.ide
$(SolutionDir)..\..\FL\abi-version.h</Command>
+ <Command>copy /Y "$(SolutionDir)..\..\abi-version.ide"
"$(SolutionDir)..\..\FL\abi-version.h"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition="'$(Configuration)|$(Platform)'=='Release Cairo|Win32'">
@@ -177,7 +177,7 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<PreBuildEvent>
- <Command>copy /Y $(SolutionDir)..\..\abi-version.ide
$(SolutionDir)..\..\FL\abi-version.h</Command>
+ <Command>copy /Y "$(SolutionDir)..\..\abi-version.ide"
"$(SolutionDir)..\..\FL\abi-version.h"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
Questions: do we need this patch? If yes, then also for the other ide
projects, maybe including Xcode. If no: can we ask Windows IDE users to
move their projects to another directory? Or is this a reason to think
about a patch release (1.3.4-1 or 1.3.5)?
Note: obviously we never tested paths with spaces, however I assume that
the previous versions worked (with spaces in paths) because they all
worked with relative paths (w/o explicitly copying a file).