فهرست منبع

ENH: add cache manager class, move all commands into cmCommands.cxx to speed up compile times, share a .lib with the command line and mfc versions.

Bill Hoffman 25 سال پیش
والد
کامیت
d195c01a90

+ 280 - 0
Source/CMakeLib.dsp

@@ -0,0 +1,280 @@
+# Microsoft Developer Studio Project File - Name="CMakeLib" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=CMakeLib - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "CMakeLib.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "CMakeLib.mak" CFG="CMakeLib - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "CMakeLib - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "CMakeLib - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "CMakeLib - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF  "$(CFG)" == "CMakeLib - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ  /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ  /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ENDIF 
+
+# Begin Target
+
+# Name "CMakeLib - Win32 Release"
+# Name "CMakeLib - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\cmCacheManager.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmClassFile.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmCommands.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmDirectory.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmDSPMakefile.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmDSWMakefile.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmMakefile.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmMakefileGenerator.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmMSProjectGenerator.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmRegularExpression.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmSystemTools.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmWindowsConfigure.cxx
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\cmAbstractFilesCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmAddTargetCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmAuxSourceDirectoryCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmCacheManager.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmClassFile.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmDirectory.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmDSPMakefile.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmDSWMakefile.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmExecutablesCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmFindIncludeCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmFindLibraryCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmFindProgramCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmIncludeDirectoryCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmLibraryCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmLinkDirectoriesCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmLinkLibrariesCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmMakeDepend.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmMakefile.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmMakefileGenerator.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmMSProjectGenerator.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmProjectCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmRegularExpression.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmSourceFilesCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmSourceFilesRequireCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmStandardIncludes.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmSubdirCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmSystemTools.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmTestsCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmUnixDefinesCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmUnixLibrariesCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmUnixMakefileGenerator.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmWin32DefinesCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmWin32LibrariesCommand.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\cmWindowsConfigure.h
+# End Source File
+# End Group
+# End Target
+# End Project

+ 12 - 0
Source/CMakeSetup.dsw

@@ -3,6 +3,18 @@ Microsoft Developer Studio Workspace File, Format Version 6.00
 
 ###############################################################################
 
+Project: "CMakeLib"=.\CMakeLib.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
 Project: "CMakeSetup"=.\MFCDialog\CMakeSetup.dsp - Package Owner=<4>
 
 Package=<5>

+ 1 - 1
Source/CMakeSetupCMD.cxx

@@ -69,7 +69,7 @@ int main(int ac, char** av)
   cmMSProjectGenerator* pg = new cmMSProjectGenerator;
   if(arg.find("-DSP", 0) != std::string::npos)
     {
-    pg->BuildDSPOff();
+    pg->BuildDSWOff();
     }
   else
     {

+ 106 - 362
Source/CMakeSetupCMD.dsp

@@ -1,362 +1,106 @@
-# Microsoft Developer Studio Project File - Name="CMakeSetupCMD" - Package Owner=<4>

-# Microsoft Developer Studio Generated Build File, Format Version 6.00

-# ** DO NOT EDIT **

-

-# TARGTYPE "Win32 (x86) Application" 0x0101

-

-CFG=CMakeSetupCMD - Win32 Debug

-!MESSAGE This is not a valid makefile. To build this project using NMAKE,

-!MESSAGE use the Export Makefile command and run

-!MESSAGE 

-!MESSAGE NMAKE /f "CMakeSetupCMD.mak".

-!MESSAGE 

-!MESSAGE You can specify a configuration when running NMAKE

-!MESSAGE by defining the macro CFG on the command line. For example:

-!MESSAGE 

-!MESSAGE NMAKE /f "CMakeSetupCMD.mak" CFG="CMakeSetupCMD - Win32 Debug"

-!MESSAGE 

-!MESSAGE Possible choices for configuration are:

-!MESSAGE 

-!MESSAGE "CMakeSetupCMD - Win32 Release" (based on "Win32 (x86) Application")

-!MESSAGE "CMakeSetupCMD - Win32 Debug" (based on "Win32 (x86) Application")

-!MESSAGE 

-

-# Begin Project

-# PROP AllowPerConfigDependencies 0

-# PROP Scc_ProjName ""

-# PROP Scc_LocalPath ""

-CPP=cl.exe

-MTL=midl.exe

-RSC=rc.exe

-

-!IF  "$(CFG)" == "CMakeSetupCMD - Win32 Release"

-

-# PROP BASE Use_MFC 0

-# PROP BASE Use_Debug_Libraries 0

-# PROP BASE Output_Dir "Release"

-# PROP BASE Intermediate_Dir "Release"

-# PROP BASE Target_Dir ""

-# PROP Use_MFC 0

-# PROP Use_Debug_Libraries 0

-# PROP Output_Dir ""

-# PROP Intermediate_Dir "Release"

-# PROP Target_Dir ""

-# ADD BASE CPP /nologo /W3 /GR /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c

-# ADD CPP /nologo /W3 /GR /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c

-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32

-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32

-# ADD BASE RSC /l 0x409 /d "NDEBUG"

-# ADD RSC /l 0x409 /d "NDEBUG"

-BSC32=bscmake.exe

-# ADD BASE BSC32 /nologo

-# ADD BSC32 /nologo

-LINK32=link.exe

-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386

-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386

-

-!ELSEIF  "$(CFG)" == "CMakeSetupCMD - Win32 Debug"

-

-# PROP BASE Use_MFC 0

-# PROP BASE Use_Debug_Libraries 1

-# PROP BASE Output_Dir "Debug"

-# PROP BASE Intermediate_Dir "Debug"

-# PROP BASE Target_Dir ""

-# PROP Use_MFC 0

-# PROP Use_Debug_Libraries 1

-# PROP Output_Dir ""

-# PROP Intermediate_Dir "Debug"

-# PROP Ignore_Export_Lib 0

-# PROP Target_Dir ""

-# ADD BASE CPP /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c

-# ADD CPP /nologo /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c

-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32

-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32

-# ADD BASE RSC /l 0x409 /d "_DEBUG"

-# ADD RSC /l 0x409 /d "_DEBUG"

-BSC32=bscmake.exe

-# ADD BASE BSC32 /nologo

-# ADD BSC32 /nologo

-LINK32=link.exe

-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept

-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept

-

-!ENDIF 

-

-# Begin Target

-

-# Name "CMakeSetupCMD - Win32 Release"

-# Name "CMakeSetupCMD - Win32 Debug"

-# Begin Group "Source Files"

-

-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"

-# Begin Source File

-

-SOURCE=.\cmAbstractFilesCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmAddTargetCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\CMakeSetupCMD.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmAuxSourceDirectoryCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmClassFile.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmDirectory.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmDSPMakefile.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmDSWMakefile.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmExecutablesCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmFindIncludeCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmFindLibraryCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmFindProgramCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmIncludeDirectoryCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmLibraryCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmLinkDirectoriesCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmLinkLibrariesCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmMakeDepend.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmMakefile.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmMakefileGenerator.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmMSProjectGenerator.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmProjectCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmRegularExpression.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmSourceFilesRequireCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmSourceFilesCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmSubdirCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmSystemTools.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmTestsCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmUnixDefinesCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmUnixLibrariesCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmWin32DefinesCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmWin32LibrariesCommand.cxx

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmWindowsConfigure.cxx

-# End Source File

-# End Group

-# Begin Group "Header Files"

-

-# PROP Default_Filter "h;hpp;hxx;hm;inl"

-# Begin Source File

-

-SOURCE=.\cmAbstractFilesCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmAddTargetCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmAuxSourceDirectoryCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmClassFile.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmDirectory.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmDSPMakefile.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmDSWMakefile.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmExecutablesCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmFindIncludeCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmFindLibraryCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmFindProgramCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmIncludeDirectoryCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmLibraryCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmLinkDirectoriesCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmLinkLibrariesCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmMakeDepend.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmMakefile.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmMakefile2.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmMakefileGenerator.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmMSProjectGenerator.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmProjectCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmRegularExpression.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmSourceFilesCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmStandardIncludes.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmSubdirCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmSystemTools.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmTestsCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmUnixDefinesCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmUnixLibrariesCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmWin32DefinesCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmWin32LibrariesCommand.h

-# End Source File

-# Begin Source File

-

-SOURCE=.\cmWindowsConfigure.h

-# End Source File

-# End Group

-# Begin Group "Resource Files"

-

-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"

-# End Group

-# End Target

-# End Project

+# Microsoft Developer Studio Project File - Name="CMakeSetupCMD" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=CMakeSetupCMD - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "CMakeSetupCMD.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "CMakeSetupCMD.mak" CFG="CMakeSetupCMD - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "CMakeSetupCMD - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "CMakeSetupCMD - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "CMakeSetupCMD - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GR /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GR /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF  "$(CFG)" == "CMakeSetupCMD - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF 
+
+# Begin Target
+
+# Name "CMakeSetupCMD - Win32 Release"
+# Name "CMakeSetupCMD - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\CMakeSetupCMD.cxx
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project

+ 3 - 278
Source/MFCDialog/CMakeSetup.dsp

@@ -53,7 +53,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 /nologo /subsystem:windows /machine:I386
-# ADD LINK32 /nologo /subsystem:windows /machine:I386
+# ADD LINK32 Release/CMakeLib.lib /nologo /subsystem:windows /machine:I386
 
 !ELSEIF  "$(CFG)" == "CMakeSetup - Win32 Debug"
 
@@ -66,6 +66,7 @@ LINK32=link.exe
 # PROP Use_Debug_Libraries 1
 # PROP Output_Dir ".."
 # PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c
 # ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /FD /GZ /c
@@ -79,7 +80,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 Debug/CMakeLib.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
 
 !ENDIF 
 
@@ -92,14 +93,6 @@ LINK32=link.exe
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
 # Begin Source File
 
-SOURCE=..\cmAbstractFilesCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmAddTargetCommand.cxx
-# End Source File
-# Begin Source File
-
 SOURCE=.\CMakeSetup.cpp
 # End Source File
 # Begin Source File
@@ -108,130 +101,10 @@ SOURCE=.\CMakeSetup.rc
 # End Source File
 # Begin Source File
 
-SOURCE=..\CMakeSetupCMD.cxx
-# End Source File
-# Begin Source File
-
 SOURCE=.\CMakeSetupDialog.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\cmAuxSourceDirectoryCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmClassFile.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmDirectory.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmDSPMakefile.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmDSWMakefile.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmExecutablesCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmFindIncludeCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmFindLibraryCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmFindProgramCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmIncludeDirectoryCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmLibraryCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmLinkDirectoriesCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmLinkLibrariesCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmMakeDepend.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmMakefile.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmMakefileGenerator.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmMSProjectGenerator.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmProjectCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmRegularExpression.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmSourceFilesRequireCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmSourceFilesCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmSubdirCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmSystemTools.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmTestsCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmUnixDefinesCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmUnixLibrariesCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmWin32DefinesCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmWin32LibrariesCommand.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmWindowsConfigure.cxx
-# End Source File
-# Begin Source File
-
 SOURCE=.\StdAfx.cpp
 # ADD CPP /Yc"stdafx.h"
 # End Source File
@@ -241,18 +114,6 @@ SOURCE=.\StdAfx.cpp
 # PROP Default_Filter "h;hpp;hxx;hm;inl"
 # Begin Source File
 
-SOURCE=..\cmAbstractFilesCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmAddTargetCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\CMakeSetup.h
-# End Source File
-# Begin Source File
-
 SOURCE=.\CMakeSetup.h
 # End Source File
 # Begin Source File
@@ -261,142 +122,6 @@ SOURCE=.\CMakeSetupDialog.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\cmAuxSourceDirectoryCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmClassFile.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmDirectory.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmDSPBuilder.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmDSPMakefile.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmDSWBuilder.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmDSWMakefile.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmExecutablesCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmFindIncludeCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmFindLibraryCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmFindProgramCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmIncludeDirectoryCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmLibraryCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmLinkDirectoriesCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmLinkLibrariesCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmMakeDepend.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmMakefile.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmMakefile2.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmMakefileGenerator.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmMSProjectGenerator.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmProjectCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmRegularExpression.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmCommandMaker.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmSourceFilesRequireCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmSourceFilesCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmStandardIncludes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmSubdirCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmSystemTools.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmTestsCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmUnixDefinesCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmUnixLibrariesCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmWin32DefinesCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmWin32LibrariesCommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\cmWindowsConfigure.h
-# End Source File
-# Begin Source File
-
 SOURCE=.\Resource.h
 # End Source File
 # Begin Source File

+ 1 - 2
Source/MFCDialog/CMakeSetupDialog.cpp

@@ -265,8 +265,7 @@ void CMakeSetupDialog::OnOK()
     error += configSrc;
     ::MessageBox(0, error.c_str(), "config ERROR", MB_OK);
     }
-  
-  
+
   cmMakefile mf;
   mf.SetMakefileGenerator(new cmMSProjectGenerator);
   mf.SetHomeDirectory(m_WhereSource);

+ 3 - 40
Source/Makefile.in

@@ -13,64 +13,27 @@ OBJS = \
 CMakeBuildTargets.o  \
 cmMakeDepend.o \
 cmMakefile.o \
-cmAbstractFilesCommand.o \
 cmMakefileGenerator.o \
-cmAddTargetCommand.o  \
-cmProjectCommand.o \
-cmAuxSourceDirectoryCommand.o \
 cmRegularExpression.o \
 cmClassFile.o \
-cmSourceFilesCommand.o \
-cmSourceFilesRequireCommand.o \
-cmSubdirCommand.o \
 cmSystemTools.o \
 cmDirectory.o \
-cmUnixDefinesCommand.o \
-cmExecutablesCommand.o \
-cmTestsCommand.o \
-cmUnixLibrariesCommand.o \
-cmFindIncludeCommand.o \
-cmFindLibraryCommand.o \
 cmUnixMakefileGenerator.o \
-cmFindProgramCommand.o \
-cmIncludeDirectoryCommand.o \
-cmWin32DefinesCommand.o \
-cmLibraryCommand.o \
-cmWin32LibrariesCommand.o \
-cmLinkDirectoriesCommand.o \
-cmLinkLibrariesCommand.o 
+cmCommands.o
 
 
 cmCollectFlags.o : $(srcdir)/*.h 
 CMakeBuildTargets.o  : $(srcdir)/*.h
 cmMakeDepend.o : $(srcdir)/*.h
 cmMakefile.o : $(srcdir)/*.h
-cmAbstractFilesCommand.o : $(srcdir)/*.h
 cmMakefileGenerator.o : $(srcdir)/*.h
-cmAddTargetCommand.o  : $(srcdir)/*.h
-cmProjectCommand.o : $(srcdir)/*.h
 cmAuxSourceDirectoryCommand.o : $(srcdir)/*.h
 cmRegularExpression.o : $(srcdir)/*.h
 cmClassFile.o : $(srcdir)/*.h
-cmSourceFilesCommand.o : $(srcdir)/*.h
-cmSourceFilesRequireCommand.o : $(srcdir)/*.h
-cmSubdirCommand.o : $(srcdir)/*.h
-cmSystemTools.o : $(srcdir)/*.h
 cmDirectory.o : $(srcdir)/*.h
-cmUnixDefinesCommand.o : $(srcdir)/*.h
-cmExecutablesCommand.o : $(srcdir)/*.h
-cmTestsCommand.o : $(srcdir)/*.h
-cmUnixLibrariesCommand.o : $(srcdir)/*.h
-cmFindIncludeCommand.o : $(srcdir)/*.h
-cmFindLibraryCommand.o : $(srcdir)/*.h
 cmUnixMakefileGenerator.o : $(srcdir)/*.h
-cmFindProgramCommand.o : $(srcdir)/*.h
-cmIncludeDirectoryCommand.o : $(srcdir)/*.h
-cmWin32DefinesCommand.o : $(srcdir)/*.h
-cmLibraryCommand.o : $(srcdir)/*.h
-cmWin32LibrariesCommand.o : $(srcdir)/*.h
-cmLinkDirectoriesCommand.o : $(srcdir)/*.h 
-cmLinkLibrariesCommand.o  : $(srcdir)/*.h 
+cmCommands.o : $(srcdir)/*.h
+
 
 
 CMakeBuildTargets: ${OBJS}

+ 117 - 0
Source/cmCacheManager.cxx

@@ -0,0 +1,117 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile$
+  Language:  C++
+  Date:      $Date$
+  Version:   $Revision$
+
+
+  Copyright (c) 2000 National Library of Medicine
+  All rights reserved.
+
+  See COPYRIGHT.txt for copyright details.
+
+=========================================================================*/
+
+#include "cmCacheManager.h"
+#include "cmSystemTools.h"
+
+const char* cmCacheManagerTypes[] = 
+{ "BOOL",
+  "PATH",
+  "STRING",
+  0
+};
+
+cmCacheManager::CacheEntryType cmCacheManager::StringToType(const char* s)
+{
+  int i = 0;
+  while(cmCacheManagerTypes[i])
+    {
+    if(strcmp(s, cmCacheManagerTypes[i]) == 0)
+      {
+      return static_cast<CacheEntryType>(i);
+      }
+    }
+  return STRING;
+}
+
+    
+cmCacheManager* cmCacheManager::s_Instance = 0;
+
+cmCacheManager* cmCacheManager::GetInstance()
+{
+  if(!cmCacheManager::s_Instance)
+    {
+    cmCacheManager::s_Instance = new cmCacheManager;
+    }
+  return cmCacheManager::s_Instance;
+}
+
+
+
+bool cmCacheManager::LoadCache(const char* path)
+{
+  std::ifstream fin(path);
+  if(!fin)
+    {
+    cmSystemTools::Error("Unable to open cache file for load. ", path);
+    return false;
+    }
+  const int bsize = 4096;
+  char buffer[bsize];
+  std::string inputLine;
+  while(fin)
+    {
+    CacheEntry e;
+    std::string key;
+    fin.getline(buffer, bsize, '|');
+    key = buffer;
+    fin.getline(buffer, bsize, '|');
+    e.m_Value = buffer;
+    fin.getline(buffer, bsize); // last token is separated by a newline
+    e.m_Type = cmCacheManager::StringToType(buffer);
+    if(fin)
+      {
+      m_Cache[key] = e;
+      }
+    }
+}
+
+bool cmCacheManager::SaveCache(const char* path)
+{
+  std::ofstream fout(path);
+  if(!fout)
+    {
+    cmSystemTools::Error("Unable to open cache file for save. ", path);
+    return false;
+    }
+  for( std::map<std::string, CacheEntry>::iterator i = m_Cache.begin();
+       i != m_Cache.end(); ++i)
+    {
+    fout << (*i).first.c_str() << " | " << (*i).second.m_Value << " | ";
+    CacheEntryType t = (*i).second.m_Type;
+    fout << cmCacheManagerTypes[t];
+    }
+  fout << "\n";
+}
+
+void cmCacheManager::AddCacheEntry(const char* key, 
+				   const char* value, 
+				   CacheEntryType type)
+{
+  CacheEntry e;
+  e.m_Value = value;
+  e.m_Type = type;
+  m_Cache[key] = e;
+}
+
+const char* cmCacheManager::GetCacheValue(const char* key)
+{
+  if(m_Cache.count(key))
+    {
+    return m_Cache[key].m_Value.c_str();
+    }
+  return 0;
+}

+ 72 - 0
Source/cmCacheManager.h

@@ -0,0 +1,72 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile$
+  Language:  C++
+  Date:      $Date$
+  Version:   $Revision$
+
+
+  Copyright (c) 2000 National Library of Medicine
+  All rights reserved.
+
+  See COPYRIGHT.txt for copyright details.
+
+=========================================================================*/
+#ifndef cmCacheManager_h
+#define cmCacheManager_h
+
+#include "cmStandardIncludes.h"
+
+/** \class cmCacheManager
+ * \brief Control class for cmake's cache
+ *
+ * Load and Save CMake cache files.
+ * 
+ */
+class cmCacheManager
+{
+public:
+  /**
+   * Types for the cache entries.  These are useful as
+   * hints for a cache editor program.  Path should bring
+   * up a file chooser, BOOL a check box, and STRING a 
+   * text entry box.
+   */
+  enum CacheEntryType{ BOOL=0, PATH, STRING  };
+  static CacheEntryType StringToType(const char*);
+  /**
+   * Singleton pattern get instance of the cmCacheManager.
+   */
+  static cmCacheManager* GetInstance();
+  /**
+   * Load a cache from file
+   */
+  bool LoadCache(const char* path);
+  
+  /**
+   * Save the cache to a file
+   */
+  bool SaveCache(const char* path);
+  
+  /**
+   * Add an entry into the cache
+   */
+  void AddCacheEntry(const char* key, const char* value, CacheEntryType type);
+  
+  /**
+   * Get a value from the cache given a key
+   */
+  const char* GetCacheValue(const char* key);
+private:
+  static cmCacheManager* s_Instance;
+  class CacheEntry
+  {
+  public:
+    std::string m_Value;
+    CacheEntryType m_Type;
+  };
+  std::map<std::string, CacheEntry> m_Cache;
+};
+
+#endif

+ 20 - 0
Source/cmCommands.cxx

@@ -0,0 +1,20 @@
+#include "cmAbstractFilesCommand.cxx"
+#include "cmAddTargetCommand.cxx"
+#include "cmAuxSourceDirectoryCommand.cxx"
+#include "cmExecutablesCommand.cxx"
+#include "cmFindIncludeCommand.cxx"
+#include "cmFindLibraryCommand.cxx"
+#include "cmFindProgramCommand.cxx"
+#include "cmIncludeDirectoryCommand.cxx"
+#include "cmLibraryCommand.cxx"
+#include "cmLinkDirectoriesCommand.cxx"
+#include "cmLinkLibrariesCommand.cxx"
+#include "cmProjectCommand.cxx"
+#include "cmSourceFilesCommand.cxx"
+#include "cmSourceFilesRequireCommand.cxx"
+#include "cmSubdirCommand.cxx"
+#include "cmTestsCommand.cxx"
+#include "cmUnixDefinesCommand.cxx"
+#include "cmUnixLibrariesCommand.cxx"
+#include "cmWin32DefinesCommand.cxx"
+#include "cmWin32LibrariesCommand.cxx"

+ 34 - 0
Source/cmConfigureHeaderCommand.cxx

@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile$
+  Language:  C++
+  Date:      $Date$
+  Version:   $Revision$
+
+
+  Copyright (c) 2000 National Library of Medicine
+  All rights reserved.
+
+  See COPYRIGHT.txt for copyright details.
+
+=========================================================================*/
+#include "cmConfigureHeaderCommand.h"
+
+// cmConfigureHeaderCommand
+bool cmConfigureHeaderCommand::Invoke(std::vector<std::string>& args)
+{
+  if(args.size() != 2 )
+    {
+    this->SetError("called with incorrect number of arguments, expected 2");
+    return false;
+    }
+  m_InputFile = args[0];
+  m_OuputFile = args[1];
+  return true;
+}
+
+void cmConfigureHeaderCommand::FinalPass()
+{
+  
+}

+ 69 - 0
Source/cmConfigureHeaderCommand.h

@@ -0,0 +1,69 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile$
+  Language:  C++
+  Date:      $Date$
+  Version:   $Revision$
+
+
+  Copyright (c) 2000 National Library of Medicine
+  All rights reserved.
+
+  See COPYRIGHT.txt for copyright details.
+
+=========================================================================*/
+#ifndef cmConfigureHeaderCommand_h
+#define cmConfigureHeaderCommand_h
+
+#include "cmStandardIncludes.h"
+#include "cmCommand.h"
+
+class cmConfigureHeaderCommand : public cmCommand
+{
+public:
+  virtual cmCommand* Clone() 
+    {
+      return new cmConfigureHeaderCommand;
+    }
+
+  /**
+   * This is called when the command is first encountered in
+   * the input file.
+   */
+  virtual bool Invoke(std::vector<std::string>& args);
+
+  /**
+   * The name of the command as specified in CMakeList.txt.
+   */
+  virtual const char* GetName() { return "CONFIGURE_HEADER";}
+
+  /**
+   * Succinct documentation.
+   */
+  virtual const char* GetTerseDocumentation() 
+    {
+    return "Create a header file from an autoconf style header.h.in file.";
+    }
+  
+  /**
+   * Longer documentation.
+   */
+  virtual const char* GetFullDocumentation()
+    {
+      return
+        "CONFIGURE_HEADER(InputFile OutputFile)\n"
+	"The Input and Ouput files have to have full paths.\n"
+	"They can also use variables like CMAKE_BINARY_DIR, CMAKE_SOURCE_DIR\n";
+    }
+
+  /**
+   * Create the header files in this pass.  This is so
+   * all varibles can be expaned.
+   */
+  virtual void FinalPass();
+};
+
+
+
+#endif

+ 1 - 1
Source/cmDSWMakefile.cxx

@@ -85,7 +85,7 @@ cmDSWMakefile
     {
     // Create a new cmDSPMakefile to read the currentDir CMakeLists.txt file
     cmMSProjectGenerator* pg = new cmMSProjectGenerator;
-    pg->BuildDSPOff();
+    pg->BuildDSWOff();
     cmMakefile* mf = new cmMakefile;
     mf->SetMakefileGenerator(pg);
     // add it to the vector

+ 1 - 1
Source/cmDSWWriter.cxx

@@ -85,7 +85,7 @@ cmDSWMakefile
     {
     // Create a new cmDSPMakefile to read the currentDir CMakeLists.txt file
     cmMSProjectGenerator* pg = new cmMSProjectGenerator;
-    pg->BuildDSPOff();
+    pg->BuildDSWOff();
     cmMakefile* mf = new cmMakefile;
     mf->SetMakefileGenerator(pg);
     // add it to the vector

+ 5 - 2
Source/cmMSProjectGenerator.h

@@ -46,9 +46,12 @@ public:
   virtual void GenerateMakefile();
 
   /**
-   * Turn off the generation of a Microsoft Visual C++ DSP file.
+   * Turn off the generation of a Microsoft Visual C++ DSW file.
+   * This causes only the dsp file to be created.  This
+   * is used to run as a command line program from inside visual
+   * studio.
    */
-  void BuildDSPOff() 
+  void BuildDSWOff() 
     {m_BuildDSW = false;}
 
   /**