[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