updates to gui to delete cache

This commit is contained in:
Ken Martin 2004-05-20 15:08:18 -04:00
parent 6665adc3ff
commit d7c6f51d00
6 changed files with 111 additions and 67 deletions

View File

@ -1,4 +1,4 @@
//Microsoft Developer Studio generated resource script. // Microsoft Visual C++ generated resource script.
// //
#include "resource.h" #include "resource.h"
@ -27,18 +27,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE // TEXTINCLUDE
// //
1 TEXTINCLUDE MOVEABLE PURE 1 TEXTINCLUDE
BEGIN BEGIN
"resource.h\0" "resource.h\0"
END END
2 TEXTINCLUDE MOVEABLE PURE 2 TEXTINCLUDE
BEGIN BEGIN
"#include ""afxres.h""\r\n" "#include ""afxres.h""\r\n"
"\0" "\0"
END END
3 TEXTINCLUDE MOVEABLE PURE 3 TEXTINCLUDE
BEGIN BEGIN
"#define _AFX_NO_SPLITTER_RESOURCES\r\n" "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
"#define _AFX_NO_OLE_RESOURCES\r\n" "#define _AFX_NO_OLE_RESOURCES\r\n"
@ -66,7 +66,7 @@ END
// Icon with lowest ID value placed first to ensure application icon // Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems. // remains consistent on all systems.
IDR_MAINFRAME ICON DISCARDABLE "res\\CMakeSetupDialog.ico" IDR_MAINFRAME ICON "res\\CMakeSetupDialog.ico"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
@ -74,7 +74,7 @@ IDR_MAINFRAME ICON DISCARDABLE "res\\CMakeSetupDialog.ico"
// //
IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55 IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About CMakeSetup" CAPTION "About CMakeSetup"
FONT 8, "MS Sans Serif", 0, 0, 0x1 FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN BEGIN
@ -84,11 +84,11 @@ BEGIN
END END
IDD_CMakeSetupDialog_DIALOG DIALOGEX 0, 0, 447, 255 IDD_CMakeSetupDialog_DIALOG DIALOGEX 0, 0, 447, 255
STYLE WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | STYLE DS_SETFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE |
WS_SYSMENU | WS_THICKFRAME WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
EXSTYLE WS_EX_APPWINDOW EXSTYLE WS_EX_APPWINDOW
CAPTION "CMakeSetupDialog" CAPTION "CMakeSetupDialog"
FONT 8, "MS Sans Serif" FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN BEGIN
RTEXT "Where is the source code:",IDC_STATIC,6,7,86,9 RTEXT "Where is the source code:",IDC_STATIC,6,7,86,9
COMBOBOX IDC_WhereSource,96,6,169,12,CBS_SIMPLE | CBS_AUTOHSCROLL | COMBOBOX IDC_WhereSource,96,6,169,12,CBS_SIMPLE | CBS_AUTOHSCROLL |
@ -104,10 +104,10 @@ BEGIN
WS_VSCROLL | WS_TABSTOP WS_VSCROLL | WS_TABSTOP
CONTROL "Show Advanced Values",IDC_AdvancedValues,"Button", CONTROL "Show Advanced Values",IDC_AdvancedValues,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,305,28,98,9 BS_AUTOCHECKBOX | WS_TABSTOP,305,28,98,9
DEFPUSHBUTTON "Configure",IDC_BuildProjects,110,219,51,15 DEFPUSHBUTTON "Configure",IDC_BuildProjects,84,221,51,15
PUSHBUTTON "OK",IDC_OK,166,219,51,15 PUSHBUTTON "OK",IDC_OK,141,221,51,15
PUSHBUTTON "Cancel",IDCANCEL,222,219,51,15 PUSHBUTTON "Cancel",IDCANCEL,198,221,51,15
PUSHBUTTON "Help",IDC_HELP_BUTTON,278,219,51,15 PUSHBUTTON "Help",IDC_HELP_BUTTON,312,221,51,15
LISTBOX IDC_LIST2,15,53,419,126,LBS_SORT | LBS_OWNERDRAWVARIABLE | LISTBOX IDC_LIST2,15,53,419,126,LBS_SORT | LBS_OWNERDRAWVARIABLE |
LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL |
WS_HSCROLL WS_HSCROLL
@ -116,10 +116,11 @@ BEGIN
IDC_MouseHelpCaption,0,191,442,27 IDC_MouseHelpCaption,0,191,442,27
LTEXT "Static",IDC_PROGRESS,2,240,442,12,SS_CENTERIMAGE | LTEXT "Static",IDC_PROGRESS,2,240,442,12,SS_CENTERIMAGE |
SS_SUNKEN SS_SUNKEN
PUSHBUTTON "Delete Cache",IDC_DELETE_BUTTON,255,221,51,15
END END
IDD_CMAKE_HELP_DIALOG DIALOG DISCARDABLE 0, 0, 365, 183 IDD_CMAKE_HELP_DIALOG DIALOG 0, 0, 365, 183
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "CMake Help" CAPTION "CMake Help"
FONT 8, "MS Sans Serif" FONT 8, "MS Sans Serif"
BEGIN BEGIN
@ -129,7 +130,6 @@ BEGIN
END END
#ifndef _MAC
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Version // Version
@ -152,13 +152,13 @@ BEGIN
BEGIN BEGIN
BLOCK "040904B0" BLOCK "040904B0"
BEGIN BEGIN
VALUE "FileDescription", "CMakeSetup MFC Application\0" VALUE "FileDescription", "CMakeSetup MFC Application"
VALUE "FileVersion", "1, 0, 0, 1\0" VALUE "FileVersion", "1, 0, 0, 1"
VALUE "InternalName", "CMakeSetup\0" VALUE "InternalName", "CMakeSetup"
VALUE "LegalCopyright", "Copyright (C) 2000\0" VALUE "LegalCopyright", "Copyright (C) 2000"
VALUE "OriginalFilename", "CMakeSetup.EXE\0" VALUE "OriginalFilename", "CMakeSetup.EXE"
VALUE "ProductName", "CMakeSetup Application\0" VALUE "ProductName", "CMakeSetup Application"
VALUE "ProductVersion", "1, 0, 0, 1\0" VALUE "ProductVersion", "1, 0, 0, 1"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"
@ -167,8 +167,6 @@ BEGIN
END END
END END
#endif // !_MAC
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
@ -176,7 +174,7 @@ END
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO MOVEABLE PURE GUIDELINES DESIGNINFO
BEGIN BEGIN
IDD_ABOUTBOX, DIALOG IDD_ABOUTBOX, DIALOG
BEGIN BEGIN
@ -208,7 +206,7 @@ END
// String Table // String Table
// //
STRINGTABLE DISCARDABLE STRINGTABLE
BEGIN BEGIN
IDS_ABOUTBOX "&About CMakeSetup..." IDS_ABOUTBOX "&About CMakeSetup..."
IDS_CREATESHORTCUT "&Create shortcut" IDS_CREATESHORTCUT "&Create shortcut"

View File

@ -164,7 +164,7 @@ CMakeSetupDialog::CMakeSetupDialog(const CMakeCommandLineInfo& cmdInfo,
m_CMakeInstance->SetProgressCallback(updateProgress, (void *)this); m_CMakeInstance->SetProgressCallback(updateProgress, (void *)this);
//{{AFX_DATA_INIT(CMakeSetupDialog) //{{AFX_DATA_INIT(CMakeSetupDialog)
//}}AFX_DATA_INIT //}}AFX_DATA_INIT
// Get the parameters from the command line info // Get the parameters from the command line info
// If an unknown parameter is found, try to interpret it too, since it // If an unknown parameter is found, try to interpret it too, since it
@ -212,26 +212,27 @@ void CMakeSetupDialog::DoDataExchange(CDataExchange* pDX)
{ {
CDialog::DoDataExchange(pDX); CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMakeSetupDialog) //{{AFX_DATA_MAP(CMakeSetupDialog)
DDX_Control(pDX, IDC_AdvancedValues, m_AdvancedValuesControl); DDX_Control(pDX, IDC_AdvancedValues, m_AdvancedValuesControl);
DDX_Control(pDX, IDC_BuildForLabel, m_BuildForLabel); DDX_Control(pDX, IDC_BuildForLabel, m_BuildForLabel);
DDX_Control(pDX, IDC_BROWSE_SOURCE, m_BrowseSource); DDX_Control(pDX, IDC_BROWSE_SOURCE, m_BrowseSource);
DDX_Control(pDX, IDC_BROWSE_BUILD, m_BrowseBuild); DDX_Control(pDX, IDC_BROWSE_BUILD, m_BrowseBuild);
DDX_Control(pDX, IDC_HELP_BUTTON, m_HelpButton); DDX_Control(pDX, IDC_DELETE_BUTTON, m_DeleteButton);
DDX_Control(pDX, IDC_Generator, m_GeneratorChoice); DDX_Control(pDX, IDC_HELP_BUTTON, m_HelpButton);
DDX_Control(pDX, IDC_OK, m_OKButton); DDX_Control(pDX, IDC_Generator, m_GeneratorChoice);
DDX_Control(pDX, IDCANCEL, m_CancelButton); DDX_Control(pDX, IDC_OK, m_OKButton);
DDX_CBStringExact(pDX, IDC_WhereSource, m_WhereSource); DDX_Control(pDX, IDCANCEL, m_CancelButton);
DDX_CBStringExact(pDX, IDC_WhereBuild, m_WhereBuild); DDX_CBStringExact(pDX, IDC_WhereSource, m_WhereSource);
DDX_Control(pDX, IDC_FRAME, m_ListFrame); DDX_CBStringExact(pDX, IDC_WhereBuild, m_WhereBuild);
DDX_Control(pDX, IDC_WhereSource, m_WhereSourceControl); DDX_Control(pDX, IDC_FRAME, m_ListFrame);
DDX_Control(pDX, IDC_WhereBuild, m_WhereBuildControl); DDX_Control(pDX, IDC_WhereSource, m_WhereSourceControl);
DDX_Control(pDX, IDC_LIST2, m_CacheEntriesList); DDX_Control(pDX, IDC_WhereBuild, m_WhereBuildControl);
DDX_Control(pDX, IDC_MouseHelpCaption, m_MouseHelp); DDX_Control(pDX, IDC_LIST2, m_CacheEntriesList);
DDX_Control(pDX, IDC_PROGRESS, m_StatusDisplay); DDX_Control(pDX, IDC_MouseHelpCaption, m_MouseHelp);
DDX_Control(pDX, IDC_BuildProjects, m_Configure); DDX_Control(pDX, IDC_PROGRESS, m_StatusDisplay);
DDX_CBStringExact(pDX, IDC_Generator, m_GeneratorChoiceString); DDX_Control(pDX, IDC_BuildProjects, m_Configure);
DDX_Check(pDX, IDC_AdvancedValues, m_AdvancedValues); DDX_CBStringExact(pDX, IDC_Generator, m_GeneratorChoiceString);
//}}AFX_DATA_MAP DDX_Check(pDX, IDC_AdvancedValues, m_AdvancedValues);
//}}AFX_DATA_MAP
} }
BEGIN_MESSAGE_MAP(CMakeSetupDialog, CDialog) BEGIN_MESSAGE_MAP(CMakeSetupDialog, CDialog)
@ -250,13 +251,14 @@ BEGIN_MESSAGE_MAP(CMakeSetupDialog, CDialog)
ON_WM_GETMINMAXINFO() ON_WM_GETMINMAXINFO()
ON_BN_CLICKED(IDC_OK, OnOk) ON_BN_CLICKED(IDC_OK, OnOk)
ON_CBN_EDITCHANGE(IDC_Generator, OnEditchangeGenerator) ON_CBN_EDITCHANGE(IDC_Generator, OnEditchangeGenerator)
ON_BN_CLICKED(IDC_DELETE_BUTTON, OnDeleteButton)
ON_BN_CLICKED(IDC_HELP_BUTTON, OnHelpButton) ON_BN_CLICKED(IDC_HELP_BUTTON, OnHelpButton)
ON_BN_CLICKED(IDC_AdvancedValues, OnAdvancedValues) ON_BN_CLICKED(IDC_AdvancedValues, OnAdvancedValues)
ON_BN_DOUBLECLICKED(IDC_AdvancedValues, OnDoubleclickedAdvancedValues) ON_BN_DOUBLECLICKED(IDC_AdvancedValues, OnDoubleclickedAdvancedValues)
ON_WM_DROPFILES() ON_WM_DROPFILES()
ON_BN_CLICKED(IDCANCEL, OnCancel) ON_BN_CLICKED(IDCANCEL, OnCancel)
ON_WM_SETCURSOR() ON_WM_SETCURSOR()
//}}AFX_MSG_MAP //}}AFX_MSG_MAP
END_MESSAGE_MAP() END_MESSAGE_MAP()
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -305,8 +307,8 @@ BOOL CMakeSetupDialog::OnInitDialog()
// Set the icon for this dialog. The framework does this automatically // Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog // when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon SetIcon(m_hIcon, FALSE); // Set small icon
// Load source and build dirs from registry // Load source and build dirs from registry
this->LoadFromRegistry(); this->LoadFromRegistry();
std::vector<std::string> names; std::vector<std::string> names;
@ -438,9 +440,9 @@ void CMakeSetupDialog::SaveToRegistry()
DWORD dwDummy; DWORD dwDummy;
if(RegCreateKeyEx(HKEY_CURRENT_USER, if(RegCreateKeyEx(HKEY_CURRENT_USER,
m_RegistryKey, m_RegistryKey,
0, "", REG_OPTION_NON_VOLATILE, KEY_READ|KEY_WRITE, 0, "", REG_OPTION_NON_VOLATILE, KEY_READ|KEY_WRITE,
NULL, &hKey, &dwDummy) != ERROR_SUCCESS) NULL, &hKey, &dwDummy) != ERROR_SUCCESS)
{ {
return; return;
} }
@ -540,7 +542,7 @@ void CMakeSetupDialog::ReadRegistryValue(HKEY hKey,
pb = val->GetBuffer(MAX_PATH); pb = val->GetBuffer(MAX_PATH);
dwSize = MAX_PATH; dwSize = MAX_PATH;
if(RegQueryValueEx(hKey,_T(key), NULL, &dwType, if(RegQueryValueEx(hKey,_T(key), NULL, &dwType,
(BYTE *)pb, &dwSize) != ERROR_SUCCESS) (BYTE *)pb, &dwSize) != ERROR_SUCCESS)
{ {
val->ReleaseBuffer(); val->ReleaseBuffer();
*val = _T(adefault); *val = _T(adefault);
@ -556,8 +558,8 @@ void CMakeSetupDialog::LoadFromRegistry()
{ {
HKEY hKey; HKEY hKey;
if(RegOpenKeyEx(HKEY_CURRENT_USER, if(RegOpenKeyEx(HKEY_CURRENT_USER,
m_RegistryKey, m_RegistryKey,
0, KEY_READ, &hKey) != ERROR_SUCCESS) 0, KEY_READ, &hKey) != ERROR_SUCCESS)
{ {
return; return;
} }
@ -767,6 +769,7 @@ void CMakeSetupDialog::OnChangeWhereBuild()
void CMakeSetupDialog::FillCacheGUIFromCacheManager() void CMakeSetupDialog::FillCacheGUIFromCacheManager()
{ {
cmCacheManager *cachem = this->m_CMakeInstance->GetCacheManager(); cmCacheManager *cachem = this->m_CMakeInstance->GetCacheManager();
cmCacheManager::CacheIterator it = cachem->NewIterator();
size_t size = m_CacheEntriesList.GetItems().size(); size_t size = m_CacheEntriesList.GetItems().size();
// if there are already entries in the cache, then // if there are already entries in the cache, then
// put the new ones in the top, so they show up first // put the new ones in the top, so they show up first
@ -776,8 +779,17 @@ void CMakeSetupDialog::FillCacheGUIFromCacheManager()
for(std::set<CPropertyItem*>::iterator i = items.begin(); for(std::set<CPropertyItem*>::iterator i = items.begin();
i != items.end(); ++i) i != items.end(); ++i)
{ {
// first check to see if it is still in the cache
CPropertyItem* item = *i; CPropertyItem* item = *i;
item->m_NewValue = false; if ( !it.Find((const char*)item->m_propName) )
{
m_CacheEntriesList.RemoveProperty((const char*)item->m_propName);
}
else
{
// if it is still in the cache then it is no longer new
item->m_NewValue = false;
}
} }
for(cmCacheManager::CacheIterator i = cachem->NewIterator(); for(cmCacheManager::CacheIterator i = cachem->NewIterator();
!i.IsAtEnd(); i.Next()) !i.IsAtEnd(); i.Next())
@ -842,7 +854,7 @@ void CMakeSetupDialog::FillCacheGUIFromCacheManager()
); );
break; break;
case cmCacheManager::INTERNAL: case cmCacheManager::INTERNAL:
m_CacheEntriesList.RemoveProperty(key); m_CacheEntriesList.RemoveProperty(key);
break; break;
} }
} }
@ -913,7 +925,7 @@ void CMakeSetupDialog::FillCacheManagerFromCacheGUI()
item->m_curValue[item->m_curValue.GetLength() - 1] == '\'') item->m_curValue[item->m_curValue.GetLength() - 1] == '\'')
{ {
it.SetValue(item->m_curValue.Mid( it.SetValue(item->m_curValue.Mid(
1, item->m_curValue.GetLength() - 2)); 1, item->m_curValue.GetLength() - 2));
} }
else else
{ {
@ -1079,6 +1091,12 @@ void CMakeSetupDialog::OnSize(UINT nType, int cx, int cy)
cRect.top + deltay, cRect.top + deltay,
0, 0, 0, 0,
SWP_NOCOPYBITS | SWP_NOSIZE); SWP_NOCOPYBITS | SWP_NOSIZE);
m_DeleteButton.GetWindowRect(&cRect);
this->ScreenToClient(&cRect);
m_DeleteButton.SetWindowPos(&wndTop, cRect.left + deltax/2,
cRect.top + deltay,
0, 0,
SWP_NOCOPYBITS | SWP_NOSIZE);
m_HelpButton.GetWindowRect(&cRect); m_HelpButton.GetWindowRect(&cRect);
this->ScreenToClient(&cRect); this->ScreenToClient(&cRect);
m_HelpButton.SetWindowPos(&wndTop, cRect.left + deltax/2, m_HelpButton.SetWindowPos(&wndTop, cRect.left + deltax/2,
@ -1112,8 +1130,8 @@ void CMakeSetupDialog::OnCancel()
if(m_CacheEntriesList.IsDirty()) if(m_CacheEntriesList.IsDirty())
{ {
if(MessageBox("You have changed options but not rebuilt, " if(MessageBox("You have changed options but not rebuilt, "
"are you sure you want to exit?", "Confirm Exit", "are you sure you want to exit?", "Confirm Exit",
MB_YESNO) == IDYES) MB_YESNO) == IDYES)
{ {
CDialog::OnOK(); CDialog::OnOK();
} }
@ -1138,8 +1156,8 @@ void CMakeSetupDialog::OnOk()
void CMakeSetupDialog::OnEditchangeGenerator() void CMakeSetupDialog::OnEditchangeGenerator()
{ {
// TODO: Add your control notification handler code here // TODO: Add your control notification handler code here
} }
@ -1151,7 +1169,7 @@ int CMakeSetupDialog::CreateShortcut()
HKEY hKey; HKEY hKey;
if(RegOpenKeyEx(HKEY_CURRENT_USER, if(RegOpenKeyEx(HKEY_CURRENT_USER,
"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
0, KEY_READ, &hKey) != ERROR_SUCCESS) 0, KEY_READ, &hKey) != ERROR_SUCCESS)
{ {
AfxMessageBox ("Create shortcut: unable to find 'Shell Folders' key in registry!"); AfxMessageBox ("Create shortcut: unable to find 'Shell Folders' key in registry!");
return 1; return 1;
@ -1280,6 +1298,19 @@ void CMakeSetupDialog::OnHelpButton()
dialog.DoModal(); dialog.DoModal();
} }
void CMakeSetupDialog::OnDeleteButton()
{
if(m_WhereBuild != "" && this->m_CMakeInstance)
{
this->m_CMakeInstance->GetCacheManager()->DeleteCache(m_WhereBuild);
}
// Make sure we are working from the cache on disk
this->LoadCacheFromDiskToGUI();
m_OKButton.EnableWindow(false);
}
void CMakeSetupDialog::ShowAdvancedValues() void CMakeSetupDialog::ShowAdvancedValues()
{ {
m_CacheEntriesList.ShowAdvanced(); m_CacheEntriesList.ShowAdvanced();

View File

@ -65,6 +65,7 @@ protected:
CButton m_BrowseSource; CButton m_BrowseSource;
CButton m_BrowseBuild; CButton m_BrowseBuild;
CButton m_HelpButton; CButton m_HelpButton;
CButton m_DeleteButton;
CComboBox m_GeneratorChoice; CComboBox m_GeneratorChoice;
CButton m_OKButton; CButton m_OKButton;
CButton m_CancelButton; CButton m_CancelButton;
@ -123,6 +124,7 @@ protected:
afx_msg void OnOk(); afx_msg void OnOk();
afx_msg void OnEditchangeGenerator(); afx_msg void OnEditchangeGenerator();
afx_msg void OnHelpButton(); afx_msg void OnHelpButton();
afx_msg void OnDeleteButton();
afx_msg void OnAdvancedValues(); afx_msg void OnAdvancedValues();
afx_msg void OnDoubleclickedAdvancedValues(); afx_msg void OnDoubleclickedAdvancedValues();
afx_msg void OnDropFiles(HDROP); afx_msg void OnDropFiles(HDROP);

View File

@ -1,5 +1,5 @@
//{{NO_DEPENDENCIES}} //{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file. // Microsoft Visual C++ generated include file.
// Used by CMakeSetup.rc // Used by CMakeSetup.rc
// //
#define IDM_ABOUTBOX 0x0010 #define IDM_ABOUTBOX 0x0010
@ -26,6 +26,8 @@
#define IDC_Generator 1019 #define IDC_Generator 1019
#define IDC_GeneratorLabel 1020 #define IDC_GeneratorLabel 1020
#define IDC_HELP_BUTTON 1021 #define IDC_HELP_BUTTON 1021
#define IDC_HELP_BUTTON2 1022
#define IDC_DELETE_BUTTON 1022
#define IDC_EDIT1 1025 #define IDC_EDIT1 1025
#define IDC_AdvancedValues 1027 #define IDC_AdvancedValues 1027
#define IDC_PROGRESS 1028 #define IDC_PROGRESS 1028

View File

@ -520,6 +520,14 @@ bool cmCacheManager::SaveCache(const char* path)
return true; return true;
} }
bool cmCacheManager::DeleteCache(const char* path)
{
std::string cacheFile = path;
cacheFile += "/CMakeCache.txt";
cmSystemTools::RemoveFile(cacheFile.c_str());
return true;
}
void cmCacheManager::OutputHelpString(std::ofstream& fout, void cmCacheManager::OutputHelpString(std::ofstream& fout,
const std::string& helpString) const std::string& helpString)
{ {

View File

@ -111,6 +111,9 @@ public:
///! Save cache for given makefile. Saves to ouput path/CMakeCache.txt ///! Save cache for given makefile. Saves to ouput path/CMakeCache.txt
bool SaveCache(const char* path) ; bool SaveCache(const char* path) ;
///! Delete the cache given
bool DeleteCache(const char* path);
///! Print the cache to a stream ///! Print the cache to a stream
void PrintCache(std::ostream&) const; void PrintCache(std::ostream&) const;