My patches to CMake
Go to file
Bill Hoffman 283d3a0b73 ENH: added a config setup file for CMakeSetup. Cleaned up the names of the source and binary directories 2000-09-18 09:19:38 -04:00
Source ENH: added a config setup file for CMakeSetup. Cleaned up the names of the source and binary directories 2000-09-18 09:19:38 -04:00
.gitattributes *** empty log message *** 2000-08-29 10:56:51 -04:00
CMakeMaster.make.in ENH: CMake and configure now use SUBDIRS in CMakeLists.txt to find all the directories of the system. 2000-09-12 05:30:35 -04:00
CMakeRules.make.in ENH: added a config setup file for CMakeSetup. Cleaned up the names of the source and binary directories 2000-09-18 09:19:38 -04:00
CMakeSimpleRules.make.in BUG: fix for out of source build 2000-08-31 13:54:53 -04:00
CMakeTargets.make.in ENH: CMake and configure now use SUBDIRS in CMakeLists.txt to find all the directories of the system. 2000-09-12 05:30:35 -04:00
CMakeVariables.make.in ENH: added a config setup file for CMakeSetup. Cleaned up the names of the source and binary directories 2000-09-18 09:19:38 -04:00
MakefileTemplate.in ENH: CMake and configure now use SUBDIRS in CMakeLists.txt to find all the directories of the system. 2000-09-12 05:30:35 -04:00
README ENH: added a config setup file for CMakeSetup. Cleaned up the names of the source and binary directories 2000-09-18 09:19:38 -04:00
dummy.in *** empty log message *** 2000-08-29 10:56:51 -04:00

README

CMakeLists.txt        -> File in each directory that contains classes, exe, etc
CMakeLists.txt contains the following:
# build targets
WIN32_CLASSES =
UNIX_CLASSES  = 
ABSTRACT_CLASSES =
SUBDIRS =
EXECUTABLES =
# make flags
# make flags can use these varibles:
# ${CMAKE_BINARY_DIR}  The root of the build tree where the binaries are
# ${CMAKE_SOURCE_ROOT} The root of the source tree where configure is
INCLUDE_DIRECTORIES = 
LINK_DIRECTORIES =
LINK_LIBRARIES = # use the same name as ME =
WIN32_LIBRARIES =
UNIX_LIBRARIES =

# name of the library to build
ME =

# add make commands 
BEGIN MAKE VERBATIM
... # copy stuff into CMakeTargets.make directly
LOCAL_BUILD_TARGETS = // These are done first before anything else
END MAKE VERBATIM
TEMPLATE_INSTANCE_DIR = 

Windows / Visual Studio 6.0 programs
CMakeSetup.exe      -> window MFC based GUI for configure on windows
CMakeSetupCMD.exe   -> windows command line version of CMakeConfigure
To Build on Windows:
load CMake/Source/CMakeSetup.dsw
Build it
Run it
Specify paths

Load ITK.dsw
Build Common, Numerics, then any of the many executables, or do a Batch build 
with debug only.


Unix scripts and programs:
configure             -> run on unix to configure for build
CMakeBuildTargets     -> Unix program to read CMakeLists.txt and generate CMakeTargets.make
makefile fragments:
CMakeMaster.make      -> main file to be included by makefiles
CMakeVariables.make   -> all make varibles are set in this file
CMakeRules.make       -> All build rules are here (except Simple Rules)
CMakeSimpleRules.make -> simple build rules for .o to .cxx, this is separate to be able
to build CMakeBuildTargets itself.
CMakeLocal.make       -> Place for hand configuration
CMakeTargets.make     -> generated rules for make style build in each directory
MakefileTemplate.make -> master makefile template used by configure to generate Makefiles

Unix install:
In place:
./configure
make

Other directory:
mkdir Insight-build
cd Insight-build
../Insight/configure
make


TODO:
configure stuff for windows should be a copy configure file
read in depend regular expression from a file