On 2014-08-28 10:06-0700 phil rosenberg wrote:
Given what you said I did a quick google for cmake paths spaces and immediately found this post http://stackoverflow.com/questions/9964775/using-cmakes-include-directories-command-with-white-spaces. Seems the issue is the same there and is a result of the find modules assuming no whitespace. I'll see if I can work out where the quotes should go and if not then I'll uninstall and reinstall tcl I guess.
> Hi Alan
> I have done my best to look at this, but I am struggling. Looking at the various tcl related variables they all appear at first glance to be fine. I have just tried literally outputting every variable at the end of the top level cmakelists.txt. Looking through I notices that the ntk_COMPILE_FLAGS variable, and in fact all the tcl related paths are surrounded by single quotes, whereas the wxwidgets_COMPILE_FLAGS variable is not:
> -- wxwidgets_COMPILE_FLAGS = -ID:/SourceCode/Libraries/wxWidgets-3.0.0/lib/vc_lib/mswud -ID:/SourceCode/Libraries/wxWidgets-3.0.0/include -DUNICODE -D_UNICODE
> -- ntk_COMPILE_FLAGS='-IC:/Program Files/Tcl/include -IC:/Program Files/Tcl/include'
> Would this make any difference to how CMake deals with them?
The above information is incomplete because it simply states how CMake
views these variables. That is important information, but to see the
exact effect of those variables you should be invoking nmake like
nmake VERBOSE=1 <target_name>
and capturing the resulting output as well for the case where
something is built with the relevant -I option.
> Beyond that I am well out of my depth
Frankly, I am out of my depth as well with regard to how blanks in
path names affect our build system because we so rarely test that
case. Years ago I tried to pursue this issue on Linux by deliberately
using some paths with blanks in them. The result was I could get a
very limited PLplot build to work, but anything larger (such as adding
Tcl) always failed for reasons I didn't completely understand.
My advice (which echos the advice of most free software projects about
this issue) is simply avoid the issue. That is always use a
source tree, build tree, and install tree without blanks in the path,
and similarly for all packages that PLplot depends on. Of course,
that means when you install Tcl, you have to be careful about
specifying the install prefix without a blank in the name of that path
because the default path (e.g.,
above) does have a blank in it which is the source of your present
difficulties. For example, I would suggest using C:/Program_Files
instead for the installation prefix, and then set the appropriate
environment variables (such as CMAKE_INCLUDE_PATH and
CMAKE_LIBRARY_PATH) so that cmake always finds that non-blank named
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).