fixed some problems

This commit is contained in:
Ken Martin 2001-09-20 12:00:32 -04:00
parent bfe2cdd558
commit 92fd242789
1 changed files with 150 additions and 152 deletions

300
CMake.rtf
View File

@ -1,16 +1,11 @@
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f14\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f23\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt MS ??};}
{\f30\fswiss\fcharset128\fprq2{\*\panose 020b0604020202020204}Arial Unicode MS;}{\f31\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana;}{\f32\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}
{\f33\fswiss\fcharset128\fprq2{\*\panose 00000000000000000000}@Arial Unicode MS;}{\f40\froman\fcharset238\fprq2 Times New Roman CE;}{\f41\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f43\froman\fcharset161\fprq2 Times New Roman Greek;}
{\f44\froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f46\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f47\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f56\fmodern\fcharset238\fprq1 Courier New CE;}{\f57\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f59\fmodern\fcharset161\fprq1 Courier New Greek;}{\f60\fmodern\fcharset162\fprq1 Courier New Tur;}{\f61\fmodern\fcharset177\fprq1 Courier New (Hebrew);}
{\f62\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f63\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f226\fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt MS ??};}{\f224\fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt MS ??};}
{\f225\fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt MS ??};}{\f227\fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt MS ??};}{\f228\fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt MS ??};}
{\f231\fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt MS ??};}{\f282\fswiss\fcharset0\fprq2 Arial Unicode MS Western;}{\f280\fswiss\fcharset238\fprq2 Arial Unicode MS CE;}{\f281\fswiss\fcharset204\fprq2 Arial Unicode MS Cyr;}
{\f283\fswiss\fcharset161\fprq2 Arial Unicode MS Greek;}{\f284\fswiss\fcharset162\fprq2 Arial Unicode MS Tur;}{\f285\fswiss\fcharset177\fprq2 Arial Unicode MS (Hebrew);}{\f286\fswiss\fcharset178\fprq2 Arial Unicode MS (Arabic);}
{\f287\fswiss\fcharset186\fprq2 Arial Unicode MS Baltic;}{\f288\fswiss\fcharset238\fprq2 Verdana CE;}{\f289\fswiss\fcharset204\fprq2 Verdana Cyr;}{\f291\fswiss\fcharset161\fprq2 Verdana Greek;}{\f292\fswiss\fcharset162\fprq2 Verdana Tur;}
{\f295\fswiss\fcharset186\fprq2 Verdana Baltic;}{\f298\fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f296\fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f297\fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f299\fmodern\fcharset161\fprq1 @MS Mincho Greek;}
{\f300\fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f303\fmodern\fcharset186\fprq1 @MS Mincho Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f14\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f23\froman\fcharset128\fprq1{\*\panose 00000000000000000000}MS Mincho{\*\falt MS ??};}
{\f28\fswiss\fcharset128\fprq2{\*\panose 020b0604020202020204}Arial Unicode MS;}{\f29\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana;}{\f30\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}
{\f31\fswiss\fcharset128\fprq2{\*\panose 00000000000000000000}@Arial Unicode MS;}{\f56\froman\fcharset238\fprq2 Times New Roman CE;}{\f57\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f59\froman\fcharset161\fprq2 Times New Roman Greek;}
{\f60\froman\fcharset162\fprq2 Times New Roman Tur;}{\f61\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f62\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f63\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f72\fmodern\fcharset238\fprq1 Courier New CE;}{\f73\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f75\fmodern\fcharset161\fprq1 Courier New Greek;}{\f76\fmodern\fcharset162\fprq1 Courier New Tur;}{\f77\fmodern\fcharset177\fprq1 Courier New (Hebrew);}
{\f78\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f79\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f288\fswiss\fcharset238\fprq2 Verdana CE;}{\f289\fswiss\fcharset204\fprq2 Verdana Cyr;}{\f291\fswiss\fcharset161\fprq2 Verdana Greek;}
{\f292\fswiss\fcharset162\fprq2 Verdana Tur;}{\f295\fswiss\fcharset186\fprq2 Verdana Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
\ql \li1170\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin1170\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\s1\ql \li1170\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin1170\itap0
\b\fs36\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 1;}{\s2\ql \li1170\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin1170\itap0 \b\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
@ -23,7 +18,7 @@
\s20\ql \li1170\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin1170\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext20 Body Text 2;}{
\s21\ql \fi-3240\li3960\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin3960\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext21 Block Text;}{
\s22\ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext22 Body Text 3;}{
\s23\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f31\fs18\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext23 Normal (Web);}{
\s23\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f29\fs18\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext23 Normal (Web);}{
\s24\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext24 Plain Text;}}{\*\listtable{\list\listtemplateid-159072676\listhybrid{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-2019666176\'01\u-3913 ?;}{\levelnumbers;}\f3\fs20\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720\jclisttab\tx720 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid484837676\'01o;}{\levelnumbers;}\f2\fs20\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1440
@ -125,8 +120,8 @@
\listoverridecount0\ls8}{\listoverride\listid908342481\listoverridecount0\ls9}{\listoverride\listid1336492021\listoverridecount0\ls10}{\listoverride\listid1592200748\listoverridecount0\ls11}{\listoverride\listid1724867039\listoverridecount0\ls12}
{\listoverride\listid2012557743\listoverridecount0\ls13}{\listoverride\listid563219625\listoverridecount0\ls14}{\listoverride\listid1023172156\listoverridecount0\ls15}{\listoverride\listid1652054978\listoverridecount0\ls16}{\listoverride\listid1431699610
\listoverridecount0\ls17}{\listoverride\listid330572609\listoverridecount0\ls18}{\listoverride\listid489949201\listoverridecount0\ls19}{\listoverride\listid1987126501\listoverridecount0\ls20}{\listoverride\listid114103099\listoverridecount0\ls21}}{\info
{\title CMake Documentation}{\author Ken Martin}{\operator hoffman}{\creatim\yr2001\mo6\dy7\hr15\min36}{\revtim\yr2001\mo9\dy17\hr17\min32}{\printim\yr2000\mo11\dy2\hr9\min34}{\version11}{\edmins148}{\nofpages14}{\nofwords4251}{\nofchars24231}
{\*\company Kitware Inc.}{\nofcharsws0}{\vern8269}}\widowctrl\ftnbj\aendnotes\aftnstart0\hyphhotz0\aftnnar\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\lytprtmet\hyphcaps0\horzdoc\dghspace180\dgvspace180\dghorigin1701\dgvorigin1984\dghshow0
{\title CMake Documentation}{\author Ken Martin}{\operator Ken Martin}{\creatim\yr2001\mo6\dy7\hr15\min36}{\revtim\yr2001\mo9\dy20\hr11\min51}{\printim\yr2000\mo11\dy2\hr9\min34}{\version14}{\edmins152}{\nofpages14}{\nofwords4251}{\nofchars24231}
{\*\company Kitware Inc.}{\nofcharsws0}{\vern8247}}\widowctrl\ftnbj\aendnotes\aftnstart0\hyphhotz0\aftnnar\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\lytprtmet\hyphcaps0\horzdoc\dghspace180\dgvspace180\dghorigin1701\dgvorigin1984\dghshow0
\dgvshow0\jexpand\viewkind1\viewscale75\pgbrdrhead\pgbrdrfoot\bdrrlswsix\nolnhtadjtbl \fet0\sectd \linex0\endnhere\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}
{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}
{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain
@ -4801,40 +4796,40 @@ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
\par }\pard \s1\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin-720\lin0\itap0 {Introduction
\par }\pard\plain \ql \li1170\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin1170\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par }\pard \qj \li0\ri-720\nowidctlpar\faauto\rin-720\lin0\itap0 {The Cross-Platform Make facility (CMake) manages the build process\emdash in a portable manner\emdash
across Windows and Unix platforms (hopefully Mac as well in the near future). CMake can be used to compile source code, create libraries, and build executables in arbitrary comb
inations. On Unix platforms, CMake produces makefiles that may be used with the standard make facility. In the Microsoft Visual C++ environment, CMake creates projects and workspaces that can be imported into MSVC.
across Windows and Unix platforms (hopefully Mac as well in the near future). CMake can be used to compile source code, create libraries, and build executables in arbitrary combinations. On Unix platforms, CMake produces makefiles that may be used with th
e standard make facility. In the Microsoft Visual C++ environment, CMake creates projects and workspaces that can be imported into MSVC.
\par
\par CMake is designed to support complex dir
ectory hierarchies and applications dependent on several libraries. For example, CMake supports projects consisting of multiple toolkits (i.e., libraries), where each toolkit might contain several directories, and the application depends on the toolkits p
lus additional code. CMake can also handle situations where executables must be built in order to generate code that is then compiled and linked into a final application.
\par CMake is designed to support complex directory hierarchies and applications dependent on several libraries. For example
, CMake supports projects consisting of multiple toolkits (i.e., libraries), where each toolkit might contain several directories, and the application depends on the toolkits plus additional code. CMake can also handle situations where executables must be
built in order to generate code that is then compiled and linked into a final application.
\par
\par Using CMake is simple. The build process is controlled by creating a CMakeLists.txt file in each directory (including subdirectories) of a project. Each CMakeLists.txt file consists of one or more commands. Each command has the form COMMAND (args\'85
) where COMMAND is the name of the command, and args is a white-space separated list of argume
nts. CMake provides many pre-defined commands, but if you need to, you can add your own commands. In addition, the advanced user can add other makefile generators for particular compiler/OS combinations.
) where COMMAND is the name of the command, and args is a white-space separated list of arguments. CMake provides many pre-defined commands, but if you need to, you can add
your own commands. In addition, the advanced user can add other makefile generators for particular compiler/OS combinations.
\par }\pard \ql \li1170\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin1170\itap0 {\fs28
\par }\pard\plain \s1\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin-720\lin0\itap0 \b\fs36\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Installing CMake
\par }\pard\plain \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par }\pard \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {You can download and install precompiled binaries of CMake for Windows and UNIX from }{\field\flddirty{\*\fldinst { HYPERLINK "http://public.kitware.com/CMake" }{
{\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000170000002000000068007400740070003a002f002f007000750062006c00690063002e006b006900740077006100720065002e0063006f006d002f0043004d0061006b0065000000e0c9ea79f9bace118c8200aa004ba90b4000000068007400740070003a002f002f00
7000750062006c00690063002e006b006900740077006100720065002e0063006f006d002f0043004d0061006b00650000000000000000}}}{\fldrslt {\cs16\ul\cf2 http://public.kitware.com/CMake}}}{
7000750062006c00690063002e006b006900740077006100720065002e0063006f006d002f0043004d0061006b0065000000000000000000}}}{\fldrslt {\cs16\ul\cf2 http://public.kitware.com/CMake}}}{
. If you want to build CMake yourself, you can download the source code using CVS (available at }{\field\flddirty{\*\fldinst { HYPERLINK "http://cvshome.org" }{{\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000170000001300000068007400740070003a002f002f0063007600730068006f006d0065002e006f00720067000000e0c9ea79f9bace118c8200aa004ba90b2800000068007400740070003a002f002f0063007600730068006f006d0065002e006f00720067002f000000
0000000000}}}{\fldrslt {\cs16\ul\cf2 http://cvshome.org}}}{) and typing:
\par }\pard\plain \s23\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f31\fs18\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b cvs -d :pserver:anonymous@public.kitware.com:/CMake/cvsroot login}{
000000000000}}}{\fldrslt {\cs16\ul\cf2 http://cvshome.org}}}{) and typing:
\par }\pard\plain \s23\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f29\fs18\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b cvs -d :pserver:anonymous@public.kitware.com:/CMake/cvsroot login}{
\line (respond with password cmake)
\par Follow this command by checking out the source code:\line }{\b cvs -d :pserver:anonymous@public.kitware.com:/CMake/cvsroot co CMake}{
\par }\pard\plain \s22\ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par }\pard\plain \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Then you can build CMake on Windows by loading the CMake.Source/CMake.dsp file into Microsoft Visual Studio or on UNIX by running:
\par }\pard\plain \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Then you can build CMake on Windows by loading the CMake/Source/CMakeSetup.dsw fil
e into Microsoft Visual Studio, then selecting CMakeSetup and the active project and building. On UNIX you can build and install CMake by running:
\par }\pard \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
\par cd CMake
\par ./configure
\par make
\par make install
\par
\par On UNIX, if you are not using the GNU C++ compiler, you need to tell configure whi
ch compiler you want to use. This is done by setting the environment variable CXX before running configure. If you need to use any special flags with your compiler use the CXXFLAGS variable.
\par On UNIX, if you are not using the GNU C++ compiler, you need to tell configure which compiler you want to use. This is done by setting the environment variable
CXX before running configure. If you need to use any special flags with your compiler use the CXXFLAGS variable.
\par
\par For example on the SGI with the 7.3X compiler, you build like this:
\par cd CMake
@ -4850,17 +4845,18 @@ ch compiler you want to use. This is done by setting the environment variable C
\par }\pard \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
\par }\pard\plain \s3\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin-720\lin0\itap0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Running CMake for Windows / Microsoft Visual C++ (MSVC)
\par }\pard\plain \ql \li0\ri-720\widctlpar\tx0\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par }\pard \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
Run CMakeSetup.exe which should be in your Start menu under Program Files, there may also be a shortcut on your desktop. A GUI will appear similar to what is shown below (but possibly different as CM
ake is still being developed). The top two entries are the source code and binary directories. They allow you to specify where the source code is for what you want to compile and where the resulting binaries should be placed. You should set these two valu
es first. If the binary directory you specify does not exist, it will be created for you. The Build for option, allows you to select which type of build files are generated. Currently, on windows, visual studio 6 and Borland makefiles are supported.
\par }\pard \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {Run CMakeSetup.exe which shoul
d be in your Start menu under Program Files, there may also be a shortcut on your desktop. A GUI will appear similar to what is shown below (but possibly different as CMake is still being developed). The top two entries are the source code and binary dire
c
tories. They allow you to specify where the source code is for what you want to compile and where the resulting binaries should be placed. You should set these two values first. If the binary directory you specify does not exist, it will be created for yo
u. The Build for option, allows you to select which type of build files are generated. Currently, on windows, visual studio 6 and Borland makefiles are supported.
\par
\par
\par
\par
\par }{{\*\shppict{\pict{\*\picprop\shplid1026{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}}\picscalex102\picscaley102\piccropl0\piccropr0\piccropt0\piccropb0
\picw15663\pich10372\picwgoal8880\pichgoal5880\pngblip\bliptag1255356176{\*\blipuid 4ad33710a975e1034cd493a17c5a2c0f}89504e470d0a1a0a0000000d4948445200000250000001880802000000010549cd000000017352474200aece1ce900003c2d49444154785eed9d4db4aec955d7
\par }{{\*\shppict{\pict{\*\picprop\shplid1025{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}
\picscalex102\picscaley102\piccropl0\piccropr0\piccropt0\piccropb0\picw15663\pich10372\picwgoal8880\pichgoal5880\pngblip\bliptag1255356176{\*\blipuid 4ad33710a975e1034cd493a17c5a2c0f}
89504e470d0a1a0a0000000d4948445200000250000001880802000000010549cd000000017352474200aece1ce900003c2d49444154785eed9d4db4aec955d7
731d38301a74f9012a6b89a123099d45372874af8591be4b810c33c8c479960369b1970ab601727231902b9f17b9387031729c410f8328e7aa801d3fa003ddf9
06115081004210a6d73aa7eedd779ffa7aaaeaa9aae7a37e67bde9bcf779ab76edfdab7a9fffd955cfa9baf5fa6baf3efdcc736fe20702108000042070520277
eedc79f0e0c12d2b786f7cfc63270d93b020000108406076021f79e5a346f0fed8ec18881f0210800004e6207023c3fbbaf7fe9b9551dfba75cb5ab8feffebff
@ -15983,11 +15979,13 @@ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80808040404005000000070101000000030000000000}}}{
\par }\pard \qj \li810\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin810\itap0 {
\par }\pard \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {The cache values area is where you can specify different options for the build process. The example shown below is for VTK which
has a large number of options. Once you have specified the source code and binary directories you should click the Configure button. This will cause CMake to read in the CMakeLists.txt files from the source code directory and the cache area to be updated
t
o display any new options for the project. Adjust your cache settings if desired and click the Configure button again. New values that were caused by the configure process will be colored red. To be sure you have seen all possible values you should clic
k Configure until no values are red and your are happy with all the settings. Once you are done configuring, click the OK button, this will produce Microsoft Visual C++ workspaces and exit CMakeSetup.exe.
\par }\pard \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {The cache values area is where you can specify differe
nt options for the build process. The example shown below is for VTK which has a large number of options. Once you have specified the source code and binary directories you should click the Configure button. This will cause CMake to read in the CMakeLists
.
txt files from the source code directory and the cache area to be updated to display any new options for the project. Adjust your cache settings if desired and click the Configure button again. New values that were caused by the configure process will be
c
olored red. To be sure you have seen all possible values you should click Configure until no values are red and your are happy with all the settings. Once you are done configuring, click the OK button, this will produce Microsoft Visual C++ workspaces
and exit CMakeSetup.exe.
\par
\par CMakeSetup.exe generates a MSVC workspace file in the binary directory you specified. Typically this file has the same name as what you are compiling (e.g. VTK.dsp, ITK.dsw etc).
\par The next step in this process is to open the workspace with MSVC. Once open, the project can be built in the normal manner of Microsoft Visual C++. The ALL_BUILD target can be used to build all of the libraries and executables in the package.
@ -15995,29 +15993,28 @@ k Configure until no values are red and your are happy with all the settings.
\par }\pard\plain \s22\qc \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par }\pard\plain \s3\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin-720\lin0\itap0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Running CMake on Unix
\par }\pard\plain \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par If you have FLTK installed on your machine, a UNIX GUI wil
l be produced for cmake. It is called CMakeSetup and is similar to the Windows GUI described above. The only difference is that it produces makefiles and not Microsoft project files. If you do not have FLTK, see the instructions for running CMake from
the command line.
\par If
you have FLTK installed on your machine, a UNIX GUI will be produced for cmake. It is called CMakeSetup and is similar to the Windows GUI described above. The only difference is that it produces makefiles and not Microsoft project files. If you do no
t have FLTK, see the instructions for running CMake from the command line.
\par
\par }\pard\plain \s3\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin-720\lin0\itap0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Running CMake from the command line
\par }\pard\plain \s22\ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par }\pard \s22\qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
Using CMake to build a project from the command line is a simple process. Change directory into where you want the binaries to be placed. This can be the same directory as the source code for what we
call in-place builds (the binaries are in the same place as the source code) or it can be a new directory you create. For an in-place build you then run cmake and it will produce a CMakeCache.txt file that contains build options that you can adjust using
a
ny text editor. For non in-place builds the process is the same except you run cmake and provide the path to the source code as its argument. Once you have edited the CMakeCache.txt file you rerun cmake, repeat this process until you are happy with the ca
che settings. The type make and your project should compile. Some projects will have install targets as well so you can type make install to install them.
\par }\pard \s22\qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {Using CMake to build a project from the command line is a simple process. Change directory into where you want the binaries to be placed. This c
an be the same directory as the source code for what we call in-place builds (the binaries are in the same place as the source code) or it can be a new directory you create. For an in-place build you then run cmake and it will produce a CMakeCache.txt fil
e
that contains build options that you can adjust using any text editor. For non in-place builds the process is the same except you run cmake and provide the path to the source code as its argument. Once you have edited the CMakeCache.txt file you rerun cm
ake, repeat this process until you are happy with the cache settings. The type make and your project should compile. Some projects will have install targets as well so you can type make install to install them.
\par }\pard \s22\ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
\par }\pard \s22\qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {Two examples of CMake usage on the Unix platform follow for a hello world project called Hello. In th
e first example, and in-place build is performed, i.e., the binaries are placed in the same directory as the source code.
\par }\pard \s22\qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {Two examples of CMake usage on the Unix platf
orm follow for a hello world project called Hello. In the first example, and in-place build is performed, i.e., the binaries are placed in the same directory as the source code.
\par }\pard \s22\ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
\par }\pard\plain \ql \li720\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin720\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {cd Hello
\par }\pard \ql \fi720\li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {cmake
\par (optionally edit CMakeCache.txt and rerun cmake)
\par }\pard\plain \s22\ql \fi720\li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {make
\par }\pard \s22\qj \fi720\li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
\par }\pard \s22\qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {In the second example, an out-of-place build is performed, i.e.
, the source code, libraries, and executables are produced in a directory separate from the source code directory(ies).
\par }\pard \s22\qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {In the
second example, an out-of-place build is performed, i.e., the source code, libraries, and executables are produced in a directory separate from the source code directory(ies).
\par }\pard\plain \ql \li360\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin360\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par }\pard \ql \li720\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin720\itap0 {mkdir Hello-Linux
\par cd Hello-Linux
@ -16027,38 +16024,36 @@ e first example, and in-place build is performed, i.e., the binaries are placed
\par
\par
\par }\pard\plain \s3\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin-720\lin0\itap0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {What is the CMake cache?
\par }\pard\plain \ql \li1170\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin1170\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\dbch\af30
\par }\pard \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
The cache is better thought of as a configuration file. Indeed Unix users could consider the cache as equivalent to the set of flags passed to the configure command. The first time CMake is run, it produces a CMakeCache.txt file.\~
This file contains things like the existence and location of native JPEG library.\~ The entries are added in response to certain CMake commands (e.g. FIND_LIBRARY) as they are processed anywhere in CMakeLists files anywhere in the source tree.
\par }\pard\plain \ql \li1170\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin1170\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\dbch\af28
\par }\pard \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {The cache is better thought of as a configuration file. Indeed Unix users could consider the cache as equivalent to the set of flags passed to the configure command.
The first time CMake is run, it produces a CMakeCache.txt file.\~ This file contains things like the existence and location of native JPEG library.\~
The entries are added in response to certain CMake commands (e.g. FIND_LIBRARY) as they are processed anywhere in CMakeLists files anywhere in the source tree.
\par
\par After CMak
e has been run, and created a CMakeCache.txt file - you may edit it. The CMake GUI, will allow you to edit the options easily, or you can edit the file directly. The main reason for editing the cache would be to give CMake the location of a native library
such as JPEG, or to stop it from using a native library and use a version of the library in your source tree.
\par After CMake has been run, and created a CMakeCache.txt file - you may edit it. The CMake GUI, will allow you to edit the options easily, or you can edit the file directly. The main reason for editing t
he cache would be to give CMake the location of a native library such as JPEG, or to stop it from using a native library and use a version of the library in your source tree.
\par }\pard \ql \li1170\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin1170\itap0 {
\par }\pard \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {CMake will not alter an existing entry in the cache file itself. If your CMakeLists.txt files change significantly, you will need to remove the r
elevant entries from the cache file. If you have not already hand-edited the cache file, you could just delete it before re-running CMake.
\par }\pard \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {CMake will not alter an existing entry in the cache file itself. If your CMakeLi
sts.txt files change significantly, you will need to remove the relevant entries from the cache file. If you have not already hand-edited the cache file, you could just delete it before re-running CMake.
\par
\par }\pard\plain \s3\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin-720\lin0\itap0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Why do I have to edit the cache more than once for some projects?
\par }\pard\plain \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par Some projects are very complex and setting one
value in the cache may cause new options to appear the next time the cache is built. For example, VTK supports the use of MPI for performing distributed computing. This requires the build process to determine where the MPI libraries and header files are a
nd to let the user adjust their values. But MPI is only available if another option VTK_USE_PARALLEL is first turned on in VTK. So to avoid confusion for people who don\rquote
t know what MPI is, we hide those options until VTK_USE_PARALLEL is turned on. So CMake
shows the VTK_USE_PARALLEL option in the cache area, if the user turns that on and rebuilds the cache, new options will appear for MPI that they can then set. The rule is to keep building the cache until it doesn\rquote
t change. For most projects this will be just once. For some complicated ones it will be twice.
\par Some projects are very complex and setting one value in the cache may cause new options to appear the next time the cache is built. For example, VTK supports the use of MPI for performing distributed computing. This requires the build pro
cess to determine where the MPI libraries and header files are and to let the user adjust their values. But MPI is only available if another option VTK_USE_PARALLEL is first turned on in VTK. So to avoid confusion for people who don\rquote
t know what MPI is, we
hide those options until VTK_USE_PARALLEL is turned on. So CMake shows the VTK_USE_PARALLEL option in the cache area, if the user turns that on and rebuilds the cache, new options will appear for MPI that they can then set. The rule is to keep building th
e cache until it doesn\rquote t change. For most projects this will be just once. For some complicated ones it will be twice.
\par
\par }\pard\plain \s1\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin-720\lin0\itap0 \b\fs36\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par Developer's Guide
\par }\pard\plain \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par This section describes how to use CMake from the software developer\rquote s point of view. That is, if your aim is to use CMake to manage your build process, read this section first. An Ex
tension Guide follows later in this document to explain the internals of CMake, and how to setup the CMake environment. Read that section only if you plan to install, extend, or enhance the features of CMake. This section of the User\rquote
s Guide begins with a description of the CMake inputs. Examples then follow to clarify these descriptions.
\par This section describes how to use CMake from the software developer\rquote s point of view. That is, if your aim is to use C
Make to manage your build process, read this section first. An Extension Guide follows later in this document to explain the internals of CMake, and how to setup the CMake environment. Read that section only if you plan to install, extend, or enhance the
features of CMake. This section of the User\rquote s Guide begins with a description of the CMake inputs. Examples then follow to clarify these descriptions.
\par }\pard \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
\par }\pard\plain \s2\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin-720\lin0\itap0 \b\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Input to CMake
\par }\pard\plain \ql \li1170\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin1170\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\par }\pard \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {CMake\rquote s input is the text file CMakeLists.txt in your source directory. This input file specifies the things that need to be built in the current director
y. The CMakeLists.txt consists of one or more commands. Each command is of the form:
\par }\pard \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {CMake\rquote s input is the text file CMakeLists.txt in your source directory. This input file s
pecifies the things that need to be built in the current directory. The CMakeLists.txt consists of one or more commands. Each command is of the form:
\par }\pard \ql \li720\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin720\itap0 {
\par COMMAND(args\'85)
\par
@ -16171,34 +16166,36 @@ Create a CMakeLists.txt in the new directory with the appropriate commands
ADD_CUSTOM_TARGET(Name [ALL] command arg arg arg ...) The ALL option is optional. If it is specified it indicates that this target should be added to the Build all target.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ADD_DEFINITIONS}{ - Add -D define flags to command line for environments. \line }{\i Usage:}{ ADD_DEFINITIONS(-DFOO -DBAR ...) Add -D define flags to command line for environments.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ADD_DEPENDENCIES}{ - Add an dependency to a target \line }{\i Usage:}{ ADD_DEPENDENCIES(target-name depend-target depend-target) Add a dependency
to a target. This is only used to add dependecies between one executable and another. Regular build dependencies are handled automatically.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ADD_EXECUTABLE}{ - Add an executable to the project that uses the specified srclists \line }{\i Usage:}{ ADD_EXECUTABLE(exename s
rclist srclist srclist ...) ADD_EXECUTABLE(exename WIN32 srclist srclist srclist ...)This command adds an executable target to the current directory. The executable will be built from the source files / source lists specified. The second argument to this
command can be WIN32 which indicates that the executable (when compiled on windows) is a windows app (using WinMain)not a console app (using main).
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ADD_LIBRARY}{ - Add an library to the project that uses the specified srclists \line }{\i Usage:}{ ADD_LIBRARY(libname [SHA
RED | STATIC | MODULE] srclist srclist ...) Adds a library target. SHARED, STATIC or MODULE keywords are used to set the library type. If the keywork MODULE appears, the library type is set to MH_BUNDLE on systems which use dyld. Systems without dyld MODU
LE is treated like SHARED. If no keywords appear as the second argument, the type defaults to the current value of BUILD_SHARED_LIBS. If this variable is not set, the type defaults to STATIC.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ADD_DEPENDENCIES}{ - Add an dependency to a target \line }{\i Usage:}{ ADD_DEPEN
DENCIES(target-name depend-target depend-target) Add a dependency to a target. This is only used to add dependecies between one executable and another. Regular build dependencies are handled automatically.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ADD_EXECUTABLE}{ - Add an executable to the project that uses the specified srclists \line }{\i Usage:}{
ADD_EXECUTABLE(exename srclist srclist srclist ...) ADD_EXECUTABLE(exename WIN32 srclist srclist srclist ...)This command adds an executable target to the current directory. The executable will be built from the s
ource files / source lists specified. The second argument to this command can be WIN32 which indicates that the executable (when compiled on windows) is a windows app (using WinMain)not a console app (using main).
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ADD_LIBRARY}{ - Add an library to the project that uses the specified srclists \line }{\i Usage:}{
ADD_LIBRARY(libname [SHARED | STATIC | MODULE] srclist srclist ...) Adds a library target. SHARED, STATIC or MODULE keywords are used to set the library type. If the keywork MODULE appears, the library type is s
et to MH_BUNDLE on systems which use dyld. Systems without dyld MODULE is treated like SHARED. If no keywords appear as the second argument, the type defaults to the current value of BUILD_SHARED_LIBS. If this variable is not set, the type defaults to STA
TIC.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ADD_TEST}{ - Add a test to the project with the specified arguments. \line }{\i Usage:}{
ADD_TEST(testname exename arg1 arg2 arg3 ...) If the ENABLE_TESTING command has been run, this command adds atest target to the current directory. If ENABLE_TESTING has notbeen run, this command does nothing. The tests are run by the testing subs
ystem by executing exename with the specified arguments. exename can be either an executable built by built by this project or an arbitrary executable on the system (like tclsh).
ADD_TEST(testname exename arg1 arg2 arg3 ...) If the ENABLE_TESTING command has been run, this command adds atest target to the current directory. If ENABLE_TESTING has notbee
n run, this command does nothing. The tests are run by the testing subsystem by executing exename with the specified arguments. exename can be either an executable built by built by this project or an arbitrary executable on the system (like tclsh).
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b AUX_SOURCE_DIRECTORY}{ - Add all the source files found in the specified directory to the build as source list NAME. \line }{\i Usage:}{ AUX_SOURCE_DIRECTORY(dir srcListName)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b BUILD_COMMAND}{ - Determine the command line that will build this project. \line }{\i Usage:}{
BUILD_COMMAND(NAME) Within CMAKE set NAME to the command that will build this project from the command line.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b BUILD_NAME}{ - Set a CMAKE variable to the build type. \line }{\i Usage:}{ BUILD_NAME(NAME) Within CMAKE sets NAME to the build type.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b CABLE_CLASS_SET}{ - Define a set of classes for use in other CABLE commands. \line }{\i Usage:}{
CABLE_CLASS_SET(set_name class1 class2 ...) Defines a set with the given name containing classes and their associated header files. The set can later be used by other CABLE commands.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b CABLE_WRAP_TCL}{ - Wrap a set of classes in Tcl. \line }{\i Usage:}{ CABLE_WRAP_TCL(tar
get class1 class2 ...) Wrap the given set of classes in Tcl using the CABLE tool. The set of source files produced for the given package name will be added to a source list with the given name.
CABLE_CLASS_SET(set_name class1 class2 ...) Defines a set with the given name containing classes and their associated header files. The set can later be used by other CABLE commands.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b CABLE_WRAP_TCL}{ - Wrap a set of classes in Tcl. \line }{\i Usage:}{
CABLE_WRAP_TCL(target class1 class2 ...) Wrap the given set of classes in Tcl using the CABLE tool. The set of source files produced for the given package name will be added to a source list with the given name.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b CONFIGURE_FILE}{ - Create a file from an autoconf style file.in file. \line }{\i Usage:}{
CONFIGURE_FILE(InputFile OutputFile [COPYONLY] [ESCAPE_QUOTES] [IMMEDIATE]) The Input and Ouput files have to have full paths. They can also use variables like CMAKE_BINARY_DIR,CMAKE_SOURCE_DIR. This command replaces any variables in the inpu
t file with their values as determined by CMake. If a variables in not defined, it will be replaced with nothing. If COPYONLY is passed in, then then no varible expansion will take place. If ESCAPE_QUOTES is passed in then any substitued quotes will be C
style escaped. If IMMEDIATE is specified, then the file will be configured with the current values of CMake variables instead of waiting until the end of CMakeLists processing.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b CONFIGURE_GCCXML}{ - Configure the flags needed for GCC-XML to run. \line }{\i Usage:}{ CONFIG
URE_GCCXML(exe_location flags_def) Configures the flags GCC-XML needs to parse source code just as the current compiler would. This includes using the compiler's standard header files. First argument is input of the full path to the GCC-XML executable. Th
e second argument should be the name of a cache entry to set with the flags chosen.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ELSE}{ - starts the else portion of an if block \line }{\i Usage:}{
ELSE(args), Note that the args for the ELSE clause must match those of the IF clause. See the IF command for more information.
CONFIGURE_FILE(InputFile OutputFile [COPYONLY] [ESCAPE_QUOTES] [IMMEDIATE]) The Input and Ouput files have to have full paths. They can also use variables like CMAKE_BINARY_DIR,
CMAKE_SOURCE_DIR. This command replaces any variables in the input file with their values as determined by CMake. If a variables in not defined, it will be replaced with nothing. If COPYONLY is passed in, then then no varible expansion will take place. If
ESCAPE_QUOTES is passed in then any substitued quotes will be C style escaped. If IMMEDIATE is specified, then the file will be configured with the current values of CMake variables instead of waiting until the end of CMakeLists processing.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b CONFIGURE_GCCXML}{ - Configure the flags needed for GCC-XML to run. \line }{\i Usage:}{
CONFIGURE_GCCXML(exe_location flags_def) Configures the flags GCC-XML needs to parse source code just as the current compiler would. This includes using the compiler's standard header files. Firs
t argument is input of the full path to the GCC-XML executable. The second argument should be the name of a cache entry to set with the flags chosen.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ELSE}{ - starts the else portion of an if block \line }{\i Usage:}{ ELSE(args), Note that the args for the ELSE claus
e must match those of the IF clause. See the IF command for more information.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ENABLE_TESTING}{ - Enable testing for this directory and below. \line }{\i Usage:}{ ENABLE_TESTING() Enables testing for this directory and below. See also the ADD_TEST command.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ENDFOREACH}{ - ends a foreach block \line }{\i Usage:}{ ENDFOREACH(define)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b ENDIF}{ - ends an if block \line }{\i Usage:}{ ENDIF(define)
@ -16206,72 +16203,73 @@ e second argument should be the name of a cache entry to set with the flags chos
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b FIND_FILE}{ - Find a file. \line }{\i Usage:}{ FIND_FILE(NAME file extrapath extrapath ...)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b FIND_LIBRARY}{ - Find a library. \line }{\i Usage:}{
FIND_LIBRARY(DEFINE_PATH libraryName [NAMES] name1 name2 name3 [PATHS path1 path2 path3...]) If the library is found, then DEFINE_PATH is set to the full path where it was found
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b FIND_PATH}{ - Find a path for a file. \line }{\i Usage:}{ FIND_PATH(PATH_DEFINE fi
leName path1 path2 path3...) If the file is found, then PATH_DEFINE is set to the path where it was found
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b FIND_PATH}{ - Find a path for a file. \line }{\i Usage:}{
FIND_PATH(PATH_DEFINE fileName path1 path2 path3...) If the file is found, then PATH_DEFINE is set to the path where it was found
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b FIND_PROGRAM}{ - Find an executable program. \line }{\i Usage:}{ FIND_PROGRAM(NAME executable1 extrapath extrapath ...)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b FOREACH}{ - start a foreach loop \line }{\i Usage:}{ FOREACH (define arg1 arg2 arg2) Starts a foreach block.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b GET_FILENAME_COMPONENT}{ - Get a specific component of a full filename. \line }{\i Usage:}{
GET_FILENAME_COMPONENT(VarName FileName PATH|NAME|EXT|NAME_WE) Set VarName to be the path (PATH), file name (NAME), file e
xtension (EXT) or file name without extension (NAME_WE) of FileName. Note that the path is converted to Unix slashes format and has no trailing slashes. The longest file extension is always considered.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b IF}{ - start an if block \line }{\i Usage:}{ IF (define) Starts an i
f block. Optionally it can be invoked using (NOT define) (def AND def2) (def OR def2) (def MATCHES def2) MATCHES checks if def matches the regular expression def2
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b INCLUDE}{ - Basically identical to a C #include "somthing" command. \line }{\i Usage:}{ INCLUDE(file1 [OPT
IONAL]) If OPTIONAL is present, then do not complain if the file does not exist.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b GET_FILENAME_COMPONENT}{ - Get a specific component of a full filename. \line }{\i Usage:}{ GET_FILENAME_COMPONENT(VarName FileN
ame PATH|NAME|EXT|NAME_WE) Set VarName to be the path (PATH), file name (NAME), file extension (EXT) or file name without extension (NAME_WE) of FileName. Note that the path is converted to Unix slashes format and has no trailing slashes. The longest file
extension is always considered.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b IF}{ - start an if block \line }{\i Usage:}{
IF (define) Starts an if block. Optionally it can be invoked using (NOT define) (def AND def2) (def OR def2) (def MATCHES def2) MATCHES checks if def matches the regular expression def2
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b INCLUDE}{ - Basically identical to a C #include "somthing" command. \line }{\i Usage:}{
INCLUDE(file1 [OPTIONAL]) If OPTIONAL is present, then do not complain if the file does not exist.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b INCLUDE_DIRECTORIES}{ - Add include directories to the build. \line }{\i Usage:}{ INCLUDE_DIRECTORIES(dir1 dir2 ...)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b INCLUDE_REGULAR_EXPRESSION}{ - Set the regular expression used for dependency checking. \line }{\i Usage:}{
INCLUDE_REGULAR_EXPRESSION(regex_match [regex_complain]) Set the regular expressions used in dependency checking. Only files matching regex_match will be traced as dependencies. Only files matching regex_complain will generate warning
s if they cannot be found (standard header paths are not searched). The defaults are: regex_match = "^.*$" (match everything) regex_complain = "^$" (match empty string only)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b INSTALL_FILES}{ - Create install rules for files \line }{\i Usage:}{ INSTALL_FILES(path extensi
on srclist file file srclist ...) INSTALL_FILES(path regexp) Create rules to install the listed files into the path. Path is relative to the variable CMAKE_INSTALL_PREFIX. There are two forms for this command. In the first the files can be specified expli
c
itly or by referenceing source lists. All files must either have the extension specified or exist with the extension appended. A typical extension is .h etc... In the second form any files in the current directory that match the regular expression will be
installed.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b INSTALL_PROGRAMS}{ - Create install rules for programs \line }{\i Usage:}{
INSTALL_PROGRAMS(path file file ...) INSTALL_PROGRAMS(path regexp) Create rules to install the listed programs into the path. Path is relative to the variable CMAKE_INSTALL_PREFIX. The
re are two forms for this command. In the first the programs can be specified explicitly. In the second form any program in the current directory that match the regular expression will be installed.
INCLUDE_REGULAR_EXPRESSION(regex_match [regex_complain]) Set the regular expressions used in dependency checking. Only files matching
regex_match will be traced as dependencies. Only files matching regex_complain will generate warnings if they cannot be found (standard header paths are not searched). The defaults are: regex_match = "^.*$" (match everything) regex_complain = "^$" (match
empty string only)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b INSTALL_FILES}{ - Create install rules for files \line }{\i Usage:}{
INSTALL_FILES(path extension srclist file file srclist ...) INSTALL_FILES(path regexp) Create rules to install the listed files into the path. Path is relative to the variable CMA
KE_INSTALL_PREFIX. There are two forms for this command. In the first the files can be specified explicitly or by referenceing source lists. All files must either have the extension specified or exist with the extension appended. A typical extension is .h
etc... In the second form any files in the current directory that match the regular expression will be installed.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b INSTALL_PROGRAMS}{ - Create install rules for programs \line }{\i Usage:}{ INSTALL_PROGRAMS(path file file ...) INSTALL_PROGRAMS(path regexp) Create rules
to install the listed programs into the path. Path is relative to the variable CMAKE_INSTALL_PREFIX. There are two forms for this command. In the first the programs can be specified explicitly. In the second form any program in the current directory that
match the regular expression will be installed.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b INSTALL_TARGETS}{ - Create install rules for targets \line }{\i Usage:}{
INSTALL_TARGETS(path target target) Create rules to install the listed targets into the path. Path is relative to the variable PREFIX
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b LINK_DIRECTORIES}{ - Specify link directories. \line }{\i Usage:}{ LINK_DIRECTORIES(directory1 directory2 ...) Specify the paths to th
e libraries that will be linked in. The directories can use built in definitions like CMAKE_BINARY_DIR and CMAKE_SOURCE_DIR.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b LINK_LIBRARIES}{ - Specify a list of libraries to be linked into executables or shared objects. \line }{\i Usage:}{ LINK_LIBRARIES(library1}{ }{
library2 ...) Specify a list of libraries to be linked into executables or shared objects. This command is passed down to all other commands. The debug and optimized strings may be used to indicate that the next library listed is to be used only for that
specific type of build
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b LOAD_CACHE}{ - load in the values from another cache. \line }{\i Usage:}{
LOAD_CACHE(pathToCacheFile [EXCLUDE entry1...] [INCLUDE_INTERNALS entry1...]) Load in the values from another cache. This is useful for a project that depends on another proj
ect built in a different tree.EXCLUDE option can be used to provide a list of entries to be included.INCLUDE_INTERNALS can be used to provide a list of internal entriesto be included. Normally, no internal entries are brougt in.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b LINK_DIRECTORIES}{ - Specify link directories. \line }{\i Usage:}{
LINK_DIRECTORIES(directory1 directory2 ...) Specify the paths to the libraries that will be linked in. The directories can use built in definitions like CMAKE_BINARY_DIR and CMAKE_SOURCE_DIR.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b LINK_LIBRARIES}{ - Specify a list of libraries to be linked into executables or shared objects. \line }{\i Usage:}{
LINK_LIBRARIES(library1 library2 ...) Specify a list of libraries to be linked into executables or shared objects. This command is passed down to all other commands. The debu
g and optimized strings may be used to indicate that the next library listed is to be used only for that specific type of build
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b LOAD_CACHE}{ - load in the values from another cache. \line }{\i Usage:}{ LOAD_CACHE(pathToCacheFile [EXCLUDE entry1...] [INCLUDE_INTERNALS
entry1...]) Load in the values from another cache. This is useful for a project that depends on another project built in a different tree.EXCLUDE option can be used to provide a list of entries to be included.INCLUDE_INTERNALS can be used to provide a lis
t of internal entriesto be included. Normally, no internal entries are brougt in.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b MAKE_DIRECTORY}{ - Create a directory in the build tree if it does not exist. Parent directories will be created if the do not exist.. \line }{\i Usage:}{ MAKE_DIRECTORY(directory)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b MESSAGE}{ - Display a message to the user. \line }{\i Usage:}{ MESSAGE("the message to display" "Title for dialog") The first argu
ment is the message to display. The second argument is optional and is the title for the dialog box on windows.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b OPTION}{ - Provides an option that the user can optionally select \line }{\i Usage:}{ OPTION(USE_MPI "help string decribing the option" [initial value]) Provi
de an option for the user to select
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b OUTPUT_REQUIRED_FILES}{ - Output a list of required source files for a specified source file. \line }{\i Usage:}{
OUTPUT_REQUIRED_FILES(srcfile outputfile) Outputs a list of all the source files that are required by the specified srcf
ile. This list is written into outputfile. This is similar to writing out the dependencies for srcfile except that it jumps from .h files into .cxx, .c and .cpp files if possible.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b PROJECT}{ - Set a name for the entire project. One argument. \line }{\i Usage:}{ PROJECT(p
rojectname) Sets the name of the Microsoft workspace .dsw file. Does nothing on UNIX currently
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b SET}{ - Set a CMAKE variable to a value \line }{\i Usage:}{ SET(VAR [VALUE] [CACHE TYPE DOCSTRING]) Within CMAKE sets VAR to the value VALUE. VALUE is expanded before VAR is
set to it. If CACHE is present, then the VAR is put in the cache. TYPE and DOCSTRING are required. If TYPE is INTERNAL, then the VALUE is Always written into the cache, replacing any values existing in the cache. If it is not a CACHE VAR, then this always
writes into the current makefile.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b MESSAGE}{ - Display a message to the user. \line }{\i Usage:}{
MESSAGE("the message to display" "Title for dialog") The first argument is the message to display. The second argument is optional and is the title for the dialog box on windows.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b OPTION}{ - Provides an option that the user can optionally select \line }{\i Usage:}{
OPTION(USE_MPI "help string decribing the option" [initial value]) Provide an option for the user to select
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b OUTPUT_REQUIRED_FILES}{ - Output a list of required source files for a specified source file. \line }{\i Usage:}{ OUTP
UT_REQUIRED_FILES(srcfile outputfile) Outputs a list of all the source files that are required by the specified srcfile. This list is written into outputfile. This is similar to writing out the dependencies for srcfile except that it jumps from .h files i
nto .cxx, .c and .cpp files if possible.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b PROJECT}{ - Set a name for the entire project. One argument. \line }{\i Usage:}{
PROJECT(projectname) Sets the name of the Microsoft workspace .dsw file. Does nothing on UNIX currently
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b SET}{ - Set a CMAKE variable to a value \line }{\i Usage:}{
SET(VAR [VALUE] [CACHE TYPE DOCSTRING]) Within CMAKE sets VAR to the value VALUE. VALUE is expanded before VAR is set to it. If CACHE is present, then the VAR is put in the cache. TYPE and DOCSTRING are required. If TYPE is INTERNAL, then the VALUE i
s Always written into the cache, replacing any values existing in the cache. If it is not a CACHE VAR, then this always writes into the current makefile.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b SITE_NAME}{ - Set a CMAKE variable to the name of this computer. \line }{\i Usage:}{ SITE_NAME(NAME) Within CMAKE sets NAME to the host name of the computer.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b SOURCE_FILES}{ - Add a list of source files, associate them with a NAME. \line }{\i Usage:}{ SOURCE_FILES(NAME file1 file2 ...)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b SOURCE_FILES_REMOVE}{ - Remove a list of source files - associated with NAME. \line }{\i Usage:}{ SOURCE_FILES_REMOVE(NAME file1 file2 ...)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b SOURCE_GROUP}{ - Define a grouping for sources in the makefile. \line }{\i Usage:}{ SOURCE_GROUP(name regex)
Defines a new source group. Any file whose name matches the regular expression will be placed in this group. The LAST regular expression of all defined SOURCE_GROUPs that matches the file will be selected.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b SOURCE_GROUP}{ - Define a grouping for sources in the makefile. \line }{\i Usage:}{
SOURCE_GROUP(name regex) Defines a new source group. Any file whose name matches the regular expression will be placed in this group. The LAST regular expression of all defined SOURCE_GROUPs that matches the file will be selected.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b SUBDIRS}{ - Add a list of subdirectories to the build. \line }{\i Usage:}{
SUBDIRS(dir1 dir2 ...) Add a list of subdirectories to the build. This will cause any CMakeLists.txt files in the sub directories to be processed by CMake.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b SUBDIR_DEPENDS}{ - Add a set of subdirectories on which another subdirectory depends. \line }{\i Usage:}{
SUBDIR_DEPENDS(subdir dep1 dep2 ...) Add a set of subdirectories on which "subdir" depends. This sets up the generated makefiles to build the subdirectries dep1, dep2, ... before "subdir" itself.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b TARGET_LINK_LIBRARIES}{ - Specify a list of libraries to be linked into executables or shared objects. \line }{\i Usage:}{ TARGET_LINK_LIBRARIES(target library1}{ }{
library2 ...) Specify a list of libraries to be linked into the specified target The debug and optimized strings may be used to indicate that the next library listed is to be used only for that specific type of build
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b TARGET_LINK_LIBRARIES}{ - Specify a list of libraries to be linked into executables or shared objects. \line }{\i Usage:}{
TARGET_LINK_LIBRARIES(target library1 library2 ...) Specify a list of libraries to be linked into the specified target The debug and optimized strings may be used to indicate that the next library listed is to be used only for that specific type of build
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b USE_MANGLED_MESA}{ - Create copies of mesa headers for use in combination with system gl. \line }{\i Usage:}{ USE_MANGLED_MESA("path to gl_mangle.h" "directory for output" )
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b UTILITY_SOURCE}{ - Specify the source tree of a third-party utility. \line }{\i Usage:}{
UTILITY_SOURCE(cache_entry executable_name path_to_source [file1 file2 ...]) When a third-party utility's source is included in the distribution, this command specifies its location and name. The cache entry will not be set u
nless the path_to_source and all listed files exist. It is assumed that the source tree of the utility will have been built before it is needed.
UTILITY_SOURCE(cache_entry executable_name path_to_source [file1 file2 ...]) When a third-party utility's source is included in the distribution, this command specifies its location and name. The cache entry will not be se
t unless the path_to_source and all listed files exist. It is assumed that the source tree of the utility will have been built before it is needed.
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b VTK_WRAP_JAVA}{ - Create Java Wrappers. \line }{\i Usage:}{ VTK_WRAP_JAVA(resultingLibraryName SourceListName SourceLists ...)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b VTK_WRAP_PYTHON}{ - Create Python Wrappers. \line }{\i Usage:}{ VTK_WRAP_PYTHON(resultingLibraryName SourceListName SourceLists ...)
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b VTK_WRAP_TCL}{ - Create Tcl Wrappers for VTK classes. \line }{\i Usage:}{ VTK_WRAP_T
CL(resultingLibraryName [SOURCES] SourceListName SourceLists ... [COMMANDS CommandName1 CommandName2 ...])
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b VTK_WRAP_TCL}{ - Create Tcl Wrappers for VTK classes. \line }{\i Usage:}{ VTK_WRAP_TCL(resultingLibraryName [SOURCES] SourceListName SourceL
ists ... [COMMANDS CommandName1 CommandName2 ...])
\par {\listtext\pard\plain\f3\fs20 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b WRAP_EXCLUDE_FILES}{ - A list of classes, to exclude from wrapping. \line }{\i Usage:}{ WRAP_EXCLUDE_FILES(file1 file2 ..)
\par }\pard \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
\par }\pard\plain \s24\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\dbch\af23
@ -16282,25 +16280,25 @@ CL(resultingLibraryName [SOURCES] SourceListName SourceLists ... [COMMANDS Comma
}{ section.
\par }\pard \ql \li720\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin720\itap0 {
\par }\pard\plain \s3\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin-720\lin0\itap0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Adding a New Command
\par }\pard\plain \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Commands can be added to CMake by deriving new commands from the class cmCommand (defined in CMake/Source/cmCommand.h/.cxx). Typically each command is implemen
ted in a class called cmRuleNameCommand stored in cmRuleNameCommand.h and cmRuleNameCommand.cxx. If you want to create a rule the best bet is to take a look at some of the existing rules in CMake. They tend to be fairly short.
\par }\pard\plain \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Commands can be added to CMake by deriving
new commands from the class cmCommand (defined in CMake/Source/cmCommand.h/.cxx). Typically each command is implemented in a class called cmRuleNameCommand stored in cmRuleNameCommand.h and cmRuleNameCommand.cxx. If you want to create a rule the best bet
is to take a look at some of the existing rules in CMake. They tend to be fairly short.
\par
\par }\pard\plain \s3\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin-720\lin0\itap0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Adding a New Makefile Generator
\par }\pard\plain \qj \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Different types of makefiles (corresponding to a different compiler and/or operating system) can be added by subclassing from cmMakefileGenerator (defined in cmMakefileGenerator.h/.cxx). Makefile generators process the information defined by the comman
ds in CMakeLists.txt to generate the appropriate makefile(s). Again, the best bet is to work from one of the existing generators.
Different types of makefiles (corresponding to a different compiler and/or operating system) can be added by subclassing from cmMakefil
eGenerator (defined in cmMakefileGenerator.h/.cxx). Makefile generators process the information defined by the commands in CMakeLists.txt to generate the appropriate makefile(s). Again, the best bet is to work from one of the existing generators.
\par }\pard \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 {
\par }\pard\plain \s1\ql \li0\ri-720\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin-720\lin0\itap0 \b\fs36\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Further Information
\par }\pard\plain \ql \li0\ri-720\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-720\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Much of the development of CMake was performed at Kitware }{\field{\*\fldinst {
HYPERLINK "http://www.kitware.com/" }{{\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3000000068007400740070003a002f002f007700770077002e006b006900740077006100720065002e0063006f006d002f0000000000000000}}
HYPERLINK "http://www.kitware.com/" }{{\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3000000068007400740070003a002f002f007700770077002e006b006900740077006100720065002e0063006f006d002f000000000000000000}}
}{\fldrslt {\cs16\ul\cf2 http://www.kitware.com/}}}{. The developers can be reached at }{\field{\*\fldinst { HYPERLINK "mailto:kitware@kitware.com" }{{\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b360000006d00610069006c0074006f003a006b0069007400770061007200650040006b006900740077006100720065002e0063006f006d0000000000000000}}}{\fldrslt {\cs16\ul\cf2
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b360000006d00610069006c0074006f003a006b0069007400770061007200650040006b006900740077006100720065002e0063006f006d000000000000000000}}}{\fldrslt {\cs16\ul\cf2
mailto:kitware@kitware.com}}}{. CMake was initially developed for the NIH/NLM Insight Segmentation and Registration Toolkit, see the Web site at }{\field{\*\fldinst {HYPERLINK "http://public.kitware.com/Insight.html"}{{\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b4e00000068007400740070003a002f002f007000750062006c00690063002e006b006900740077006100720065002e0063006f006d002f0049006e00730069006700680074002e00680074006d006c00000000000000
00}}}{\fldrslt {\cs16\ul\cf2 http://public.kitware.com/Insight.html}}}{. Cmake\rquote s web page can be found at }{\field{\*\fldinst { HYPERLINK "http://public.kitware.com/CMake" }{{\*\datafield
0000}}}{\fldrslt {\cs16\ul\cf2 http://public.kitware.com/Insight.html}}}{. Cmake\rquote s web page can be found at }{\field{\*\fldinst { HYPERLINK "http://public.kitware.com/CMake" }{{\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000170000002000000068007400740070003a002f002f007000750062006c00690063002e006b006900740077006100720065002e0063006f006d002f0043004d0061006b0065000000e0c9ea79f9bace118c8200aa004ba90b4000000068007400740070003a002f002f00
7000750062006c00690063002e006b006900740077006100720065002e0063006f006d002f0043004d0061006b00650000000000}}}{\fldrslt {\cs16\ul\cf2 http://public.kitware.com/CMake}}}{.
7000750062006c00690063002e006b006900740077006100720065002e0063006f006d002f0043004d0061006b0065000000000000}}}{\fldrslt {\cs16\ul\cf2 http://public.kitware.com/CMake}}}{.
\par
\par
\par }}