From d195c01a900c24df9b4ff262cd4dbb9fd901592b Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Mon, 12 Feb 2001 14:26:25 -0500 Subject: [PATCH] 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. --- Source/CMakeLib.dsp | 280 +++++++++++++++ Source/CMakeSetup.dsw | 12 + Source/CMakeSetupCMD.cxx | 2 +- Source/CMakeSetupCMD.dsp | 468 ++++++-------------------- Source/MFCDialog/CMakeSetup.dsp | 281 +--------------- Source/MFCDialog/CMakeSetupDialog.cpp | 3 +- Source/Makefile.in | 43 +-- Source/cmCacheManager.cxx | 117 +++++++ Source/cmCacheManager.h | 72 ++++ Source/cmCommands.cxx | 20 ++ Source/cmConfigureHeaderCommand.cxx | 34 ++ Source/cmConfigureHeaderCommand.h | 69 ++++ Source/cmDSWMakefile.cxx | 2 +- Source/cmDSWWriter.cxx | 2 +- Source/cmMSProjectGenerator.h | 7 +- 15 files changed, 725 insertions(+), 687 deletions(-) create mode 100644 Source/CMakeLib.dsp create mode 100644 Source/cmCacheManager.cxx create mode 100644 Source/cmCacheManager.h create mode 100644 Source/cmCommands.cxx create mode 100644 Source/cmConfigureHeaderCommand.cxx create mode 100644 Source/cmConfigureHeaderCommand.h diff --git a/Source/CMakeLib.dsp b/Source/CMakeLib.dsp new file mode 100644 index 000000000..56a982ee2 --- /dev/null +++ b/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 diff --git a/Source/CMakeSetup.dsw b/Source/CMakeSetup.dsw index 353ff4693..9dc92397a 100644 --- a/Source/CMakeSetup.dsw +++ b/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> diff --git a/Source/CMakeSetupCMD.cxx b/Source/CMakeSetupCMD.cxx index cfcf690c9..81db43981 100644 --- a/Source/CMakeSetupCMD.cxx +++ b/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 { diff --git a/Source/CMakeSetupCMD.dsp b/Source/CMakeSetupCMD.dsp index f10dedd10..3078318f3 100644 --- a/Source/CMakeSetupCMD.dsp +++ b/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 diff --git a/Source/MFCDialog/CMakeSetup.dsp b/Source/MFCDialog/CMakeSetup.dsp index 7a2dea124..ec0423451 100644 --- a/Source/MFCDialog/CMakeSetup.dsp +++ b/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 diff --git a/Source/MFCDialog/CMakeSetupDialog.cpp b/Source/MFCDialog/CMakeSetupDialog.cpp index cf53d500c..2a739c72d 100644 --- a/Source/MFCDialog/CMakeSetupDialog.cpp +++ b/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); diff --git a/Source/Makefile.in b/Source/Makefile.in index 2d5c15ec4..d28afdaee 100644 --- a/Source/Makefile.in +++ b/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} diff --git a/Source/cmCacheManager.cxx b/Source/cmCacheManager.cxx new file mode 100644 index 000000000..79d63662b --- /dev/null +++ b/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(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::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; +} diff --git a/Source/cmCacheManager.h b/Source/cmCacheManager.h new file mode 100644 index 000000000..580f40fd8 --- /dev/null +++ b/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 m_Cache; +}; + +#endif diff --git a/Source/cmCommands.cxx b/Source/cmCommands.cxx new file mode 100644 index 000000000..e6cf4b7a2 --- /dev/null +++ b/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" diff --git a/Source/cmConfigureHeaderCommand.cxx b/Source/cmConfigureHeaderCommand.cxx new file mode 100644 index 000000000..28f6cb8cb --- /dev/null +++ b/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& 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() +{ + +} diff --git a/Source/cmConfigureHeaderCommand.h b/Source/cmConfigureHeaderCommand.h new file mode 100644 index 000000000..0680db523 --- /dev/null +++ b/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& 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 diff --git a/Source/cmDSWMakefile.cxx b/Source/cmDSWMakefile.cxx index 1b643a9f6..e8db5d4e6 100644 --- a/Source/cmDSWMakefile.cxx +++ b/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 diff --git a/Source/cmDSWWriter.cxx b/Source/cmDSWWriter.cxx index 1b643a9f6..e8db5d4e6 100644 --- a/Source/cmDSWWriter.cxx +++ b/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 diff --git a/Source/cmMSProjectGenerator.h b/Source/cmMSProjectGenerator.h index e572db7e0..6bdf51145 100644 --- a/Source/cmMSProjectGenerator.h +++ b/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;} /**