[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