[Insight-developers] IO and CMake

Mark Foskey foskey@cs.unc.edu
Thu, 10 Oct 2002 22:08:23 -0400


There were several issues that I was hoping we would get to at the 
developers' meeting, but we didn't.  It's my fault for not getting them 
on the agenda, but perhaps we can talk about them now.

1. I still don't like the fact that what we call an "IOFactory" is 
really only an InputFactory.  I proposed a straw man a while ago, now at

http://public.kitware.com/mailman/private/insight-developers/2002-August/003273.html

but I wasn't on the tcon the next time and we never discussed it.  I 
still think something like it is a good idea.

2. I don't like those lines in CMakeLists.txt files that go:

IF (USE_ITK_FILE)
   INCLUDE (${USE_ITK_FILE})
ENDIF (USE_ITK_FILE)

The less stuff that has to be copied unchanged into every project, the 
better.  I think I understand the rationale:  You may want the build 
process to do one thing if ITK is found, and another thing if it is not. 
  However, that is very much not the common case.  And why don't you 
have to do it with other libraries?

Basically, I think they're very bad from a marketing point of view. 
Traditional makefiles are often full of mumbo jumbo that people have 
copied from someone else without understanding them.  These lines seem 
to send the message that you still have to do the same thing with 
CMakeLists.txt files.

3. When cmake fails to find a file, it gives you an error message that 
can be a little scary, even though all you have to do is browse for the 
file in ccmake or CMake-Install.  Frequently the file that is not found 
tells the user nothing about what cache variable needs to be fixed.  I 
realize that's clear enough from the NOTFOUND entry, but users are apt 
to assume that the error message must be about something else entirely. 
  I did, the first time.  There should at least be a note in the 
original error message about how the user can fix it.

-- 
Mark Foskey    (919) 843-5436  Computer-Aided Diagnosis and Display Lab
mark_foskey@unc.edu            Department of Radiology, CB 7515, UNC
http://www.cs.unc.edu/~foskey  Chapel Hill, NC  27599-7515