[Insight-developers] Grouping Libraries and Executables in a common directory

Luis Ibanez luis.ibanez@kitware.com
Fri, 13 Sep 2002 11:17:19 -0400


Hi,

As it has been discussed in the past two Tcons,
the CMakeLists.txt files are being reorganized
in order to generate all ITK libraries in a single
"lib" directory and all the ITK executables in a
single "bin" directory. Currently libraries and
executables  are spread all over the built tree.

Note that due to this reorganization you may want
to *fully erase* your current binary directory in
order to prevent duplicate versions of the libraries
and executbles to exist on the disk. (This could
take up to 2.4 GigaBytes when everything is built :)




Here are some details about the changes:

The following CMake variables define the location
where libraries and executables are going to be
placed:

EXECUTABLE_OUTPUT_PATH -> for the Executables
LIBRARY_OUTPUT_PATH    -> for the libraries

Currently these two variables are left empty.
In the new setting they will be defined by
default as

EXECUTABLE_OUTPUT_PATH = ${ITK_BINARY_DIR} / bin
LIBRARY_OUTPUT_PATH    = ${ITK_BINARY_DIR} / lib


The executables include all the examples programs
and all the tests.  In order for the testing process
to locate the tests executables, the variable

CXX_TEST_PATH is also set equal to EXECUTABLE_OUTPUT_PATH


Then, on each CMakeLists.txt file on the Testing directory,
the name of the test has been put in a CMake variable in
order to append {CXX_TEST_PATH} to the filename



We will have to find a convenient time for checking in
these changes since for the platforms doing continuous
builds some manual intervention may be required.


Probably the simplest way to proceed is the following:

1) Copy the current CMakeCache.txt file to a temporary
    location outside the binary tree.

2) Erase all the content of the binary directory

3) Copy the CMakeCache.txt file back to the binary
    directory

4) Run cmake and double check that the variables
    EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH
    are set correctly

5) rebuild the toolkit




Please let me know what could be the more convinient
time for checking in these changes.


Thanks


   Luis