Started on command line parsing, added string parse method for default generator

This commit is contained in:
Jorgen Bodde 2005-08-08 17:14:08 -04:00
parent 52f9353c45
commit 154529bd1c
6 changed files with 304 additions and 255 deletions

View File

@ -91,7 +91,7 @@ bool CMakeSetupApp::OnInit()
// parse command line params
cmCommandLineInfo cm;
cm.SetValidArguments("ABGHQ");
cm.SetValidArguments("ABGHQG");
cm.ParseCommandLine(wxApp::argc, wxApp::argv);
// set vendor name and app for config

File diff suppressed because it is too large Load Diff

View File

@ -615,15 +615,6 @@ void CMakeSetupFrm::CreateControls()
void CMakeSetupFrm::DoInitFrame(cmCommandLineInfo &cm, const wxString &fn)
{
// create accelerator table for some commands
// not very useful if the focus is on an edit ctrl all the time ;-)
//wxAcceleratorEntry entries[3];
//entries[0].Set(wxACCEL_NORMAL, (int) 'c', ID_MENU_CONFIGURE);
//entries[1].Set(wxACCEL_NORMAL, (int) 'g', ID_MENU_EXITGENERATE);
//entries[2].Set(wxACCEL_NORMAL, (int) 't', ID_MENU_TOGGLE_ADVANCED);
//wxAcceleratorTable accel(3, entries);
//SetAcceleratorTable(accel);
// path to where cmake.exe is
// m_PathToExecutable = cm.GetPathToExecutable().c_str();
m_PathToExecutable = fn;
@ -669,8 +660,17 @@ void CMakeSetupFrm::DoInitFrame(cmCommandLineInfo &cm, const wxString &fn)
// sync advanced option with grid
m_cmOptions->SetShowAdvanced(m_cmShowAdvanced->GetValue());
// if we have a command line query that a generator
// needs to be chosen instead of the default, take it
bool foundGivenGenerator = false;
if(!cm.m_GeneratorChoiceString.IsEmpty())
{
// set proper discovered generator
foundGivenGenerator = m_cmGeneratorChoice->SetStringSelection(cm.m_GeneratorChoiceString);
}
// if none selected, we will see if VS8, VS7 or VS6 is present
if(m_cmGeneratorChoice->GetValue().IsEmpty())
if(!foundGivenGenerator || m_cmGeneratorChoice->GetValue().IsEmpty())
{
std::string mp;
mp = "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup;Dbghelp_path]";

View File

@ -17,6 +17,17 @@
=========================================================================*/
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "CommandLineInfo.h"
#include "cmSystemTools.h"
@ -29,7 +40,7 @@ cmCommandLineInfo::cmCommandLineInfo()
this->m_WhereSource = "";
this->m_WhereBuild = "";
this->m_AdvancedValues = false;
this->m_GeneratorChoiceString = "";
m_GeneratorChoiceString.Empty();
this->m_LastUnknownParameter = "";
this->m_ValidArguments = "";
this->m_ExitAfterLoad = false;
@ -43,23 +54,18 @@ cmCommandLineInfo::~cmCommandLineInfo()
///////////////////////////////////////////////////////////////
void cmCommandLineInfo::ParseCommandLine(int argc, char* argv[])
{
int cc;
for ( cc = 1; cc < argc; cc ++ )
for ( int cc = 1; cc < argc; cc ++ )
{
if ( strlen(argv[cc]) < 1 )
{
continue;
}
bool valid = true;
std::string argument = argv[cc];
if ( argument.size() > 1 &&
this->m_ValidArguments.find(argument[1]) == std::string::npos )
{
valid = false;
bool valid = ((argument.size() > 1) && (m_ValidArguments.find(argument[1]) == std::string::npos));
ParseParam(argument, valid, (cc + 1 == argc));
}
this->ParseParam(argument, valid, (cc + 1 == argc));
}
this->m_ExecutablePath = cmSystemTools::GetFilenamePath(argv[0]);
m_ExecutablePath = cmSystemTools::GetFilenamePath(argv[0]);
}
///////////////////////////////////////////////////////////////
@ -88,13 +94,14 @@ int cmCommandLineInfo::GetBoolValue(const std::string& v) {
void cmCommandLineInfo::ParseParam(const std::string& parameter,
bool know_about, bool /*last*/)
{
// this is the last parameter we know, so we assign this to be
// path to source or path to existing build
if(!know_about)
{
this->m_LastUnknownParameter = parameter;
}
m_LastUnknownParameter = parameter;
else
{
std::string sParam(parameter.c_str(), 1, parameter.npos);
// Single letter valued flag like /B=value or /B:value
std::string value;
if (sParam[1] == '=' || sParam[1] == ':')
@ -106,31 +113,64 @@ void cmCommandLineInfo::ParseParam(const std::string& parameter,
value = std::string(parameter.c_str()+2);
}
int res;
switch (sParam[0])
{
case 'A':
res = cmCommandLineInfo::GetBoolValue(value);
if (res == 1)
{
this->m_AdvancedValues = true;
m_AdvancedValues = true;
}
else if (res == -1)
{
this->m_AdvancedValues = false;
m_AdvancedValues = false;
}
break;
case 'B':
this->m_WhereBuild = value;
m_WhereBuild = value;
break;
case 'G':
this->m_GeneratorChoiceString = value;
m_GeneratorChoiceString = GetStringParam(value.c_str());
break;
case 'Q':
this->m_ExitAfterLoad = true;
m_ExitAfterLoad = true;
break;
case 'H':
this->m_WhereSource = value;
m_WhereSource = value;
break;
}
}
}
// When the string param given has string quotes around it
// we remove them and we pass back the string. If not, we
// simply pass back the string as-is
wxString cmCommandLineInfo::GetStringParam(const char *pString)
{
wxCHECK(pString, wxEmptyString);
wxString str(pString);
str = str.Strip(wxString::both);
// if we have only one (or no chars return the current string)
if(str.Len() < 2)
return str;
// if we have quotes
if(str.GetChar(0) == '\"' && str.Last() == '\"')
{
// when we only have 2 in size, return empty string
if(str.Len() == 2)
return wxEmptyString;
// now remove the outer and inner, and return
return str.Mid(1, str.Len()-1);
}
return str;
}

View File

@ -48,7 +48,7 @@ public:
std::string m_WhereSource;
std::string m_WhereBuild;
bool m_AdvancedValues;
std::string m_GeneratorChoiceString;
wxString m_GeneratorChoiceString;
std::string m_LastUnknownParameter;
std::string m_ExecutablePath;
bool m_ExitAfterLoad;
@ -60,6 +60,10 @@ protected:
// Return boolean value of the string
static int GetBoolValue(const std::string&);
// on windows the argument with spaces SUCKS! So we need to
// incorporate it with quotes.
wxString GetStringParam(const char *pString);
std::string m_ValidArguments;
};

View File

@ -1,11 +1,12 @@
<?xml version="1.0" encoding="windows-1252"?><TODOLIST FILEFORMAT="6" PROJECTNAME="CMakeSetup GUI project" NEXTUNIQUEID="110" FILEVERSION="123" LASTMODIFIED="2005-06-30"><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38479.90427083" TEXTCOLOR="0" TITLE="v1.0b" PRIORITYWEBCOLOR="#000FF0" ID="1" HIGHESTPRIORITY="8" PERCENTDONE="0" POS="2"><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="5/30/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38502.62243056" TEXTCOLOR="0" TITLE="Interpret directory from dropped shortcut" COMMENTS="In DoInitFrame()
<?xml version="1.0" encoding="windows-1252" ?>
<TODOLIST FILEFORMAT="7" PROJECTNAME="CMakeSetup GUI project" NEXTUNIQUEID="119" FILEVERSION="126" LASTMODIFIED="2005-08-08" CUSTOMCOMMENTSTYPE="849cf988-79fe-418a-a40d-01fe3afcab2c"><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38479.90427083" TEXTCOLOR="0" TITLE="v1.0b" PRIORITYWEBCOLOR="#000FF0" ID="1" HIGHESTPRIORITY="8" PERCENTDONE="0" POS="2"><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="30-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38502.62243056" TEXTCOLOR="0" TITLE="Interpret directory from dropped shortcut" COMMENTS="In DoInitFrame()
{
m_cmShowAdvanced-&gt;SetValue(false);
// TODO: Interpret directory from dropped shortcut
//this-&gt;ChangeDirectoriesFromFile(cmdInfo-&gt;m_LastUnknownParameter.c_str());
}" PRIORITYWEBCOLOR="#000FF0" ID="94" PERCENTDONE="0" STARTDATE="38502.00000000" POS="2"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="5/30/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" ALLOCATEDBY="Andy" LASTMOD="38502.94655093" TEXTCOLOR="0" TITLE="Make sources consistent with formatting" COMMENTS="The second thing has to do with your coding standard. The indentation
}" PRIORITYWEBCOLOR="#000FF0" ID="94" PERCENTDONE="0" STARTDATE="38502.00000000" POS="3"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="30-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" ALLOCATEDBY="Andy" LASTMOD="38502.94655093" TEXTCOLOR="0" TITLE="Make sources consistent with formatting" COMMENTS="The second thing has to do with your coding standard. The indentation
would be ok (even though it is different), as long as it would be
consistent. Looks like you are using tabs sometimes, spaces some other
times, so depending on what editor you use, the code looks
@ -13,9 +14,9 @@ different. As you notice, in CMake we always use two spaces indentation.
Also, related to this is that your code has DOS new-lines on some lines
but not on other. Inconsistent DOS new-lines sometimes confuse certain
compilers." PRIORITYWEBCOLOR="#000FF0" ID="97" PERCENTDONE="100" STARTDATE="38502.00000000" DONEDATESTRING="6/2/2005" DONEDATE="38505.00000000" POS="7"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="5/30/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" ALLOCATEDBY="Andy" LASTMOD="38502.94726852" TEXTCOLOR="0" TITLE="A different popup window that also has an exit button" CATEGORY="Pending" COMMENTS="Oh, and another feature request, once you run generate, there is a
compilers." PRIORITYWEBCOLOR="#000FF0" ID="97" PERCENTDONE="100" STARTDATE="38502.00000000" DONEDATESTRING="2-6-2005" DONEDATE="38505.00000000" POS="8"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="30-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" ALLOCATEDBY="Andy" LASTMOD="38502.94726852" TEXTCOLOR="0" TITLE="A different popup window that also has an exit button" CATEGORY="Pending" COMMENTS="Oh, and another feature request, once you run generate, there is a
popup
that says generation complete. Could you put a exit button there too?" PRIORITYWEBCOLOR="#000FF0" ID="99" PERCENTDONE="0" STARTDATE="38502.00000000" POS="4"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="5/30/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" ALLOCATEDBY="Andy" LASTMOD="38502.94839120" TEXTCOLOR="0" TITLE="Add keyboard shortcuts to the GUI" COMMENTS="And, how difficult it is to add keyboard shortcuts to the gui? Could
that says generation complete. Could you put a exit button there too?" PRIORITYWEBCOLOR="#000FF0" ID="99" PERCENTDONE="0" STARTDATE="38502.00000000" POS="5"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="30-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" ALLOCATEDBY="Andy" LASTMOD="38502.94839120" TEXTCOLOR="0" TITLE="Add keyboard shortcuts to the GUI" COMMENTS="And, how difficult it is to add keyboard shortcuts to the gui? Could
you
duplicate ccmake's keyboard shortcuts in NG gui?
@ -26,7 +27,7 @@ up/down - change currently selected entry
enter - edit currently selected entry
esc - exit currently selected entrty edit
h - help
t - toggle advanced mode" PRIORITYWEBCOLOR="#000FF0" ID="100" PERCENTDONE="100" STARTDATE="38502.00000000" DONEDATESTRING="6/2/2005" DONEDATE="38505.00000000" POS="8"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="6/12/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38515.47285880" TEXTCOLOR="0" TITLE="Parse command line to automate test and configure" COMMENTS="&gt; I know you are probably getting tired of this, but I have another
t - toggle advanced mode" PRIORITYWEBCOLOR="#000FF0" ID="100" PERCENTDONE="100" STARTDATE="38502.00000000" DONEDATESTRING="2-6-2005" DONEDATE="38505.00000000" POS="9"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="12-6-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38515.47285880" TEXTCOLOR="0" TITLE="Parse command line to automate test and configure" COMMENTS="&gt; I know you are probably getting tired of this, but I have another
&gt; feature request. I would like to have a way to test the dialog from
That's allright ;-)
@ -34,12 +35,12 @@ That's allright ;-)
&gt; command line. I would like to do something like:
&gt;
&gt; CMakeSetup --source /foo/bar/src --build /foo/bar/bin
&gt; --run-configure-and-generate" PRIORITYWEBCOLOR="#000FF0" ID="103" PERCENTDONE="0" STARTDATE="38515.00000000" POS="3"/><TASK PRIORITYCOLOR="13435129" STARTDATESTRING="6/12/2005" TEXTWEBCOLOR="#000000" PRIORITY="8" LASTMOD="38515.47834491" TEXTCOLOR="0" TITLE="Add Licence header for every source" COMMENTS="Please just copy the header comment from another header like
&gt; --run-configure-and-generate" PRIORITYWEBCOLOR="#000FF0" ID="103" PERCENTDONE="0" STARTDATE="38515.00000000" POS="4"/><TASK PRIORITYCOLOR="13435129" STARTDATESTRING="12-6-2005" TEXTWEBCOLOR="#000000" PRIORITY="8" LASTMOD="38515.47834491" TEXTCOLOR="0" TITLE="Add Licence header for every source" COMMENTS="Please just copy the header comment from another header like
cmVersion.h
and put it at the top of all your sources. If you want to add those
extra CVS $$ tokens please do so in a comment under this block so that
the copyright/license part stays consistent with the rest of the
source." PRIORITYWEBCOLOR="#F900CD" ID="106" PERCENTDONE="100" STARTDATE="38515.00000000" DONEDATESTRING="6/30/2005" DONEDATE="38533.00000000" POS="5"/><TASK PRIORITYCOLOR="13435129" STARTDATESTRING="6/24/2005" TEXTWEBCOLOR="#000000" PRIORITY="8" LASTMOD="38527.95186343" TEXTCOLOR="0" TITLE="Implement command line options" COMMENTS="andy@andoria $ cmake
source." PRIORITYWEBCOLOR="#F900CD" ID="106" PERCENTDONE="100" STARTDATE="38515.00000000" DONEDATESTRING="30-6-2005" DONEDATE="38533.00000000" POS="7"/><TASK PRIORITYCOLOR="13435129" STARTDATESTRING="24-6-2005" TEXTWEBCOLOR="#000000" PRIORITY="8" LASTMOD="38527.95186343" TEXTCOLOR="0" TITLE="Implement command line options" COMMENTS="andy@andoria $ cmake
--help ~
cmake version 2.1-20050621
Usage
@ -68,12 +69,15 @@ I would add:
cmake [options] &lt;path to cmake cache&gt;
Andy" PRIORITYWEBCOLOR="#F900CD" ID="108" PERCENTDONE="0" STARTDATE="38527.00000000" POS="6"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="6/24/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38527.95687500" TEXTCOLOR="0" TITLE="Commit source to CVS" PRIORITYWEBCOLOR="#000FF0" ID="109" PERCENTDONE="0" STARTDATE="38527.00000000" POS="1"/></TASK><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38479.90443287" TEXTCOLOR="0" TITLE="Next releases" PRIORITYWEBCOLOR="#000FF0" ID="2" HIGHESTPRIORITY="7" PERCENTDONE="0" POS="1"><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38479.90533565" TEXTCOLOR="0" TITLE="Adjust build path to project path when selected, and append (build) when present" PRIORITYWEBCOLOR="#000FF0" ID="5" PERCENTDONE="0" POS="2"/><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38480.40458333" TEXTCOLOR="0" TITLE="Most recent used file menu" PRIORITYWEBCOLOR="#000FF0" ID="7" PERCENTDONE="0" POS="9"/><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38482.70638889" TEXTCOLOR="0" TITLE="New project based management for user options" COMMENTS="This can contain overridden options and extra injected options for e.g.
Andy" PRIORITYWEBCOLOR="#F900CD" ID="108" PERCENTDONE="0" STARTDATE="38527.00000000" POS="1"><TASK PRIORITYCOLOR="13435129" STARTDATESTRING="8-8-2005" TEXTWEBCOLOR="#000000" PRIORITY="8" LASTMOD="38572.93009259" TEXTCOLOR="0" TITLE="Implement -G{generator}" PRIORITYWEBCOLOR="#F900CD" ID="113" PERCENTDONE="0" STARTDATE="38572.00000000" POS="1"/><TASK PRIORITYCOLOR="13435129" STARTDATESTRING="8-8-2005" TEXTWEBCOLOR="#000000" PRIORITY="8" LASTMOD="38572.93034722" TEXTCOLOR="0" TITLE="Implement -C{initial cache}" PRIORITYWEBCOLOR="#F900CD" ID="115" PERCENTDONE="0" STARTDATE="38572.00000000" POS="3"/><TASK PRIORITYCOLOR="13435129" STARTDATESTRING="8-8-2005" TEXTWEBCOLOR="#000000" PRIORITY="8" LASTMOD="38572.93065972" TEXTCOLOR="0" TITLE="Implement -D&lt;var&gt;:&lt;type&gt;=&lt;value&gt;" PRIORITYWEBCOLOR="#F900CD" ID="117" PERCENTDONE="0" STARTDATE="38572.00000000" POS="4"/><TASK PRIORITYCOLOR="13435129" STARTDATESTRING="8-8-2005" TEXTWEBCOLOR="#000000" PRIORITY="8" LASTMOD="38572.93120370" TEXTCOLOR="0" TITLE="Implement -N" COMMENTS="This is view mode only (read only)
" PRIORITYWEBCOLOR="#F900CD" ID="118" CUSTOMCOMMENTS="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcZGVmbGFuZzEwMzN7XGZvbnR0Ymx7XGYwXGZuaWxcZmNoYXJzZXQwIE1TIFNhbnMgU2VyaWY7fX0NClx2aWV3a2luZDRcdWMxXHBhcmRcdHg2NDBcdHgxMjgwXHR4MTkyMFx0eDI1NjBcdHgzMjAwXHR4Mzg0MFx0eDQ0ODBcdHg1MTIwXHR4NTc2MFx0eDY0MDBcdHg3MDQwXHR4NzY4MFx0eDgzMjBcdHg4OTYwXHR4OTYwMFx0eDEwMjQwXHR4MTA4ODBcdHgxMTUyMFx0eDEyMTYwXHR4MTI4MDBcdHgxMzQ0MFx0eDE0MDgwXHR4MTQ3MjBcdHgxNTM2MFx0eDE2MDAwXHR4MTY2NDBcdHgxNzI4MFx0eDE3OTIwXHR4MTg1NjBcdHgxOTIwMFx0eDE5ODQwXHR4MjA0ODBcZjBcZnMxOCBUaGlzIGlzIHZpZXcgbW9kZSBvbmx5IChyZWFkIG9ubHkpXHBhcg0KXHBhcg0KfQ0K" PERCENTDONE="0" STARTDATE="38572.00000000" POS="2"/></TASK><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="24-6-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38557.47869213" TEXTCOLOR="0" TITLE="Commit source to CVS" PRIORITYWEBCOLOR="#000FF0" ID="109" PERCENTDONE="100" STARTDATE="38527.00000000" DONEDATESTRING="24-7-2005" DONEDATE="38557.00000000" POS="6"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="24-7-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38557.47881944" TEXTCOLOR="0" TITLE="The directory was called WXDialog but the executable was wxCMakeSetup" COMMENTS="The directory was called WXDialog but the executable was wxCMakeSetup:
ADD_EXECUTABLE(wxCMakeSetup ${WIN32_EXECUTABLE} ${WX_SRCS})" PRIORITYWEBCOLOR="#000FF0" ID="111" CUSTOMCOMMENTS="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcZGVmbGFuZzEwMzN7XGZvbnR0Ymx7XGYwXGZuaWxcZmNoYXJzZXQwIFRpbWVzIE5ldyBSb21hbjt9fQ0KXHZpZXdraW5kNFx1YzFccGFyZFx0eDY0MFx0eDEyODBcdHgxOTIwXHR4MjU2MFx0eDMyMDBcdHgzODQwXHR4NDQ4MFx0eDUxMjBcdHg1NzYwXHR4NjQwMFx0eDcwNDBcdHg3NjgwXHR4ODMyMFx0eDg5NjBcdHg5NjAwXHR4MTAyNDBcdHgxMDg4MFx0eDExNTIwXHR4MTIxNjBcdHgxMjgwMFx0eDEzNDQwXHR4MTQwODBcdHgxNDcyMFx0eDE1MzYwXHR4MTYwMDBcdHgxNjY0MFx0eDE3MjgwXHR4MTc5MjBcdHgxODU2MFx0eDE5MjAwXHR4MTk4NDBcdHgyMDQ4MFxmMFxmczIwIFRoZSBkaXJlY3Rvcnkgd2FzIGNhbGxlZCBXWERpYWxvZyBidXQgdGhlIGV4ZWN1dGFibGUgd2FzIHd4Q01ha2VTZXR1cDpccGFyDQpccGFyDQogIEFERF9FWEVDVVRBQkxFKHd4Q01ha2VTZXR1cCAkXHtXSU4zMl9FWEVDVVRBQkxFXH0gJFx7V1hfU1JDU1x9KVxwYXINCn0NCgA=" PERCENTDONE="0" STARTDATE="38557.00000000" POS="2"/></TASK><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38479.90443287" TEXTCOLOR="0" TITLE="Next releases" PRIORITYWEBCOLOR="#000FF0" ID="2" HIGHESTPRIORITY="7" PERCENTDONE="0" POS="1"><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38479.90533565" TEXTCOLOR="0" TITLE="Adjust build path to project path when selected, and append (build) when present" PRIORITYWEBCOLOR="#000FF0" ID="5" PERCENTDONE="0" POS="2"/><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38480.40458333" TEXTCOLOR="0" TITLE="Most recent used file menu" PRIORITYWEBCOLOR="#000FF0" ID="7" PERCENTDONE="0" POS="9"/><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38482.70638889" TEXTCOLOR="0" TITLE="New project based management for user options" COMMENTS="This can contain overridden options and extra injected options for e.g.
SOME_PROJECT_VERSION = 1.06
WX_USE_TREEVIEW = ON
Also the build path can be static, or linked to a date or build increment" PRIORITYWEBCOLOR="#000FF0" ID="29" PERCENTDONE="0" POS="8"/><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38482.70771991" TEXTCOLOR="0" TITLE="Write down log for exvery action performed" COMMENTS="When user selects something log this so the last known config can be traced back" PRIORITYWEBCOLOR="#000FF0" ID="31" PERCENTDONE="0" POS="6"/><TASK PRIORITYCOLOR="16122042" STARTDATESTRING="5/12/2005" TEXTWEBCOLOR="#000000" PRIORITY="7" LASTMOD="38486.63013889" TEXTCOLOR="0" TITLE="AUTOFILL option. For users frequently configuring, where some paths may be located, the user can create vars for it" COMMENTS="DART_TEST_PATH when e.g. specified in the AUTOFILL options, it will be filled with the proper paths automatically" PRIORITYWEBCOLOR="#BA00F6" ID="41" PERCENTDONE="0" STARTDATE="38484.00000000" POS="13"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="5/19/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38492.77642361" TEXTCOLOR="0" TITLE="Use a thread for configuring" COMMENTS="Is it possible to get the window to respond to events quickly during the configuration? This has always plagued the old GUI. Fixing it would require the window interface to run in a separate thread. Does wxWidgets make this easy?" PRIORITYWEBCOLOR="#000FF0" ID="50" PERCENTDONE="0" STARTDATE="38491.00000000" POS="5"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="5/19/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38492.93082176" TEXTCOLOR="0" TITLE="Add a way to search the data properties" COMMENTS="Add a way to search the entries. CCMake does it the VI style, you
Also the build path can be static, or linked to a date or build increment" PRIORITYWEBCOLOR="#000FF0" ID="29" PERCENTDONE="0" POS="8"/><TASK PRIORITYCOLOR="15732480" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38482.70771991" TEXTCOLOR="0" TITLE="Write down log for exvery action performed" COMMENTS="When user selects something log this so the last known config can be traced back" PRIORITYWEBCOLOR="#000FF0" ID="31" PERCENTDONE="0" POS="6"/><TASK PRIORITYCOLOR="16122042" STARTDATESTRING="12-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="7" LASTMOD="38486.63013889" TEXTCOLOR="0" TITLE="AUTOFILL option. For users frequently configuring, where some paths may be located, the user can create vars for it" COMMENTS="DART_TEST_PATH when e.g. specified in the AUTOFILL options, it will be filled with the proper paths automatically" PRIORITYWEBCOLOR="#BA00F6" ID="41" PERCENTDONE="0" STARTDATE="38484.00000000" POS="13"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="19-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38492.77642361" TEXTCOLOR="0" TITLE="Use a thread for configuring" COMMENTS="Is it possible to get the window to respond to events quickly during the configuration? This has always plagued the old GUI. Fixing it would require the window interface to run in a separate thread. Does wxWidgets make this easy?" PRIORITYWEBCOLOR="#000FF0" ID="50" PERCENTDONE="0" STARTDATE="38491.00000000" POS="5"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="19-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38492.93082176" TEXTCOLOR="0" TITLE="Add a way to search the data properties" COMMENTS="Add a way to search the entries. CCMake does it the VI style, you
&gt; press / and the string and it will find the variable with that name
That sounds good. I like how Thunderbird does it. You have a little
@ -81,13 +85,13 @@ magnifying glass icon with a pulldown, where you can pick Subject,
Sender, or any other field you want to search. In CMake's case, that
would be &quot;Variable name&quot;, &quot;Variable value&quot;, &quot;Both&quot;. Then, once you type
some text, the gui would eliminate all entries that do not match the
search string." PRIORITYWEBCOLOR="#000FF0" ID="52" PERCENTDONE="0" STARTDATE="38491.00000000" POS="3"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="5/22/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38494.81545139" TEXTCOLOR="0" TITLE="Find search query with toggable uppercase and lowercase" PRIORITYWEBCOLOR="#000FF0" ID="58" PERCENTDONE="0" STARTDATE="38494.00000000" POS="7"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="5/23/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38495.92858796" TEXTCOLOR="0" TITLE="Show all NOT-FOUND items" COMMENTS="In the search query, have the following menu layout;
search string." PRIORITYWEBCOLOR="#000FF0" ID="52" PERCENTDONE="0" STARTDATE="38491.00000000" POS="3"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="22-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38494.81545139" TEXTCOLOR="0" TITLE="Find search query with toggable uppercase and lowercase" PRIORITYWEBCOLOR="#000FF0" ID="58" PERCENTDONE="0" STARTDATE="38494.00000000" POS="7"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="23-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38495.92858796" TEXTCOLOR="0" TITLE="Show all NOT-FOUND items" COMMENTS="In the search query, have the following menu layout;
Search in name
Seach in value
Search in both
---
Only show NOTFOUND" PRIORITYWEBCOLOR="#000FF0" ID="62" PERCENTDONE="0" STARTDATE="38495.00000000" POS="10"/><TASK PRIORITYCOLOR="10544896" STARTDATESTRING="5/23/2005" TEXTWEBCOLOR="#000000" PRIORITY="2" LASTMOD="38495.93019676" TEXTCOLOR="0" TITLE="Make flags parser" COMMENTS="Make a parser that can parse all the flags that are given in the various CMAKE_??_FLAGS entries, and determine based on the compiler that is selected what the compiler options are." PRIORITYWEBCOLOR="#00E7A0" ID="63" PERCENTDONE="0" STARTDATE="38495.00000000" POS="1"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="5/28/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38500.54894676" TEXTCOLOR="0" TITLE="Grid enhancements" PRIORITYWEBCOLOR="#000FF0" ID="90" HIGHESTPRIORITY="6" PERCENTDONE="0" STARTDATE="38500.00000000" POS="11"><TASK PRIORITYCOLOR="15925332" TEXTWEBCOLOR="#000000" PRIORITY="6" LASTMOD="38482.46628472" TEXTCOLOR="0" TITLE="Implement sorting of grid items when adding with AddPropItem" PRIORITYWEBCOLOR="#5400F3" ID="25" PERCENTDONE="0" POS="1"/><TASK PRIORITYCOLOR="15925332" TEXTWEBCOLOR="#000000" PRIORITY="6" LASTMOD="38482.58564815" TEXTCOLOR="0" TITLE="Implement wxGridTableBase for property grid, to better relate client data to wxPropertyItem" PRIORITYWEBCOLOR="#5400F3" ID="27" PERCENTDONE="0" POS="2"/></TASK><TASK PRIORITYCOLOR="16122042" STARTDATESTRING="5/30/2005" TEXTWEBCOLOR="#000000" PRIORITY="7" LASTMOD="38502.88064815" TEXTCOLOR="0" TITLE="Remove most recent changed list and replace it with wxFileHistory!!!" PRIORITYWEBCOLOR="#BA00F6" ID="96" PERCENTDONE="0" STARTDATE="38502.00000000" POS="12"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="6/12/2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38515.47637731" TEXTCOLOR="0" TITLE="Use commandline info to set WXWIDGETS values / CMAKE values" COMMENTS="&gt; This would run configure followed by generate and exit. By doing
Only show NOTFOUND" PRIORITYWEBCOLOR="#000FF0" ID="62" PERCENTDONE="0" STARTDATE="38495.00000000" POS="10"/><TASK PRIORITYCOLOR="10544896" STARTDATESTRING="23-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="2" LASTMOD="38495.93019676" TEXTCOLOR="0" TITLE="Make flags parser" COMMENTS="Make a parser that can parse all the flags that are given in the various CMAKE_??_FLAGS entries, and determine based on the compiler that is selected what the compiler options are." PRIORITYWEBCOLOR="#00E7A0" ID="63" PERCENTDONE="0" STARTDATE="38495.00000000" POS="1"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="28-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38500.54894676" TEXTCOLOR="0" TITLE="Grid enhancements" PRIORITYWEBCOLOR="#000FF0" ID="90" HIGHESTPRIORITY="6" PERCENTDONE="0" STARTDATE="38500.00000000" POS="11"><TASK PRIORITYCOLOR="15925332" TEXTWEBCOLOR="#000000" PRIORITY="6" LASTMOD="38482.46628472" TEXTCOLOR="0" TITLE="Implement sorting of grid items when adding with AddPropItem" PRIORITYWEBCOLOR="#5400F3" ID="25" PERCENTDONE="0" POS="1"/><TASK PRIORITYCOLOR="15925332" TEXTWEBCOLOR="#000000" PRIORITY="6" LASTMOD="38482.58564815" TEXTCOLOR="0" TITLE="Implement wxGridTableBase for property grid, to better relate client data to wxPropertyItem" PRIORITYWEBCOLOR="#5400F3" ID="27" PERCENTDONE="0" POS="2"/></TASK><TASK PRIORITYCOLOR="16122042" STARTDATESTRING="30-5-2005" TEXTWEBCOLOR="#000000" PRIORITY="7" LASTMOD="38502.88064815" TEXTCOLOR="0" TITLE="Remove most recent changed list and replace it with wxFileHistory!!!" PRIORITYWEBCOLOR="#BA00F6" ID="96" PERCENTDONE="0" STARTDATE="38502.00000000" POS="12"/><TASK PRIORITYCOLOR="15732480" STARTDATESTRING="12-6-2005" TEXTWEBCOLOR="#000000" PRIORITY="5" LASTMOD="38515.47637731" TEXTCOLOR="0" TITLE="Use commandline info to set WXWIDGETS values / CMAKE values" COMMENTS="&gt; This would run configure followed by generate and exit. By doing
&gt; that we
&gt; would get some coverage of it. If you feel ambitious, then you could
&gt; even try to set widget values etc.