[Insight-users] Feature Request: Adding "Debug" filename decorations to installed libraries
Michael Jackson
mike.jackson at bluequartz.net
Wed Sep 9 12:12:36 EDT 2009
Reading the recent thread "Speeding up the evaluation of the
itk::Gaussian?" the original poster is going through some of the same
trials and tribulations that I went through on Windows in the last
month or so. The root of the problem with Visual Studio builds is that
you can not combine a debug build of ITK with Release build of your
own application/library. Doing this will cause all sorts of endless
heartaches.
So what you can do is build ITK twice, once in Debug mode and once
in Release mode. Install each to their own installation prefixes and
now you have both. But the next problem is that with your own project
you will need to have 2 separate CMake Build directories. One that has
ITK_DIR pointing to the Debug ITK installation and the other build
directory where the ITK_DIR points to the release build. This creates
2 VS Solution files and is kind of cumbersome to manage. Instead of
just using the Drop down combo box in Visual Studio, I have to
actually load up a completely separate solution file. This probably
isn't the most efficient use of my time.
What would be AWESOME is if the ITK libraries had some sort of
filename decoration (like boost and Qt) where "d" or "_debug" or
something is added into the filenames. This would allow for an
installation of BOTH Debug and Release builds of ITK in the same
location. The "UseITK.cmake" file that comes with an ITK installation
can have all the appropriate entries to pick up the proper libraries
for each configuration of a project. This works really well for Boost
and Qt and I have adopted it for my own projects.
Now I know it is technically possible to do this with CMake. My
question is: Is there interest from the ITK community to have this
"feature" added with the ability to turn it "off" if it is not wanted
by a programming team. What are the perils of having both the debug
and release builds in the same install prefix. ( I can probably come
up with a contrived case that might break things).
My own experience was that I lost about 2 days of developer time
because I "forgot" my ITK was installed in Debug mode so when I went
to build and package a "Release" build and then tested the installer,
I was treated to the "Your application is broken" error message, went
down the road of the MS Redistributable.exe deal and a bunch of other
stuff until a I finally realized what the true problem was. Just
hoping it would save someone else the time in the future.
Either the above or I have fundamentally setup my development
environment incorrectly....
Comments and thoughts or suggestions are definitely welcomed and
encouraged.
_________________________________________________________
Mike Jackson mike.jackson at bluequartz.net
BlueQuartz Software www.bluequartz.net
Principal Software Engineer Dayton, Ohio
More information about the Insight-users
mailing list