[Cmake] Patch for at command-line parm
Andy Cedilnik
andy.cedilnik at kitware.com
Fri, 07 May 2004 14:57:50 -0400
Hi Gordon,
Could you please open a bug on the bug tracker and attach this patch.
This way it will not be forgotten.
Andy
On Fri, 2004-05-07 at 14:32, Schumacher, Gordon wrote:
> Sorry this took me so long; it's been pretty crazy here.
>
> Anyway, this should do it... let me know if you run into problems with this.
>
> Next stop: trying to build a version of CMake that will run under DJGPP!
> (Yes, I'm insane. But I've not been left much choice on this one... we
> probably *have* to be able to build in a real DOS environment! Yuck.)
>
> Patch follows:
> ---------------
>
> diff -r -w -u -x CVS -x '*.bak' CMake.orig/Source/cmake.cxx
> CMake/Source/cmake.cxx
> --- CMake.orig/Source/cmake.cxx 2004-04-29 08:26:22.000000000 -0600
> +++ CMake/Source/cmake.cxx 2004-04-30 17:20:58.000000000 -0600
> at at -265,7 +265,7 at at
> }
>
> // Parse the args
> -void cmake::SetArgs(const std::vector<std::string>& args)
> +void cmake::SetArgs(std::vector<std::string>& args)
> {
> m_Local = false;
> bool directoriesSet = false;
> at at -341,6 +341,32 at at
> this->SetGlobalGenerator(gen);
> }
> }
> + else if(arg.find(" at ",0) == 0)
> + {
> + std::string filename = arg.substr(1);
> + std::cout << "reading from " << filename << '\n';
> +
> + filename = cmSystemTools::CollapseFullPath(filename.c_str());
> + cmSystemTools::ConvertToUnixSlashes(filename);
> + if(cmSystemTools::FileExists(filename.c_str()))
> + {
> + std::ifstream fin(filename.c_str());
> + std::string next_filearg;
> + while (fin)
> + {
> + fin >> next_filearg;
> + if (!next_filearg.empty())
> + {
> + args.push_back(next_filearg);
> + }
> + }
> + }
> + else
> + {
> + cmSystemTools::Error("Could not open command line file",
> + filename.c_str());
> + }
> + }
> // no option assume it is the path to the source
> else
> {
> at at -1139,7 +1165,7 at at
> }
>
> // handle a command line invocation
> -int cmake::Run(const std::vector<std::string>& args, bool noconfigure)
> +int cmake::Run(std::vector<std::string>& args, bool noconfigure)
> {
> // Process the arguments
> this->SetArgs(args);
> diff -r -w -u -x CVS -x '*.bak' CMake.orig/Source/cmake.h
> CMake/Source/cmake.h
> --- CMake.orig/Source/cmake.h 2004-04-26 09:23:06.000000000 -0600
> +++ CMake/Source/cmake.h 2004-04-30 17:13:18.000000000 -0600
> at at -122,9 +122,9 at at
> /**
> * Handle a command line invocation of cmake.
> */
> - int Run(const std::vector<std::string>&args)
> + int Run(std::vector<std::string>&args)
> { return this->Run(args, false); }
> - int Run(const std::vector<std::string>&args, bool noconfigure);
> + int Run(std::vector<std::string>&args, bool noconfigure);
>
> /**
> * Generate the SourceFilesList from the SourceLists. This should only be
> at at -212,7 +212,7 at at
> void Usage(const char *program);
>
> ///! Parse command line arguments
> - void SetArgs(const std::vector<std::string>&);
> + void SetArgs(std::vector<std::string>&);
>
> ///! Is this cmake running as a result of a TRY_COMPILE command
> bool GetIsInTryCompile() { return m_InTryCompile; }
> diff -r -w -u -x CVS -x '*.bak' CMake.orig/Source/cmakewizard.cxx
> CMake/Source/cmakewizard.cxx
> --- CMake.orig/Source/cmakewizard.cxx 2003-08-26 13:06:52.000000000 -0600
> +++ CMake/Source/cmakewizard.cxx 2004-04-29 19:36:48.000000000 -0600
> at at -89,7 +89,7 at at
>
>
>
> -int cmakewizard::RunWizard(std::vector<std::string> const& args)
> +int cmakewizard::RunWizard(std::vector<std::string>& args)
> {
> m_ShowAdvanced = this->AskAdvanced();
> cmSystemTools::DisableRunCommandOutput();
> diff -r -w -u -x CVS -x '*.bak' CMake.orig/Source/cmakewizard.h
> CMake/Source/cmakewizard.h
> --- CMake.orig/Source/cmakewizard.h 2003-08-26 13:06:52.000000000 -0600
> +++ CMake/Source/cmakewizard.h 2004-04-29 19:37:04.000000000 -0600
> at at -38,7 +38,7 at at
> * Run cmake in wizard mode. This will coninue to ask the user
> questions
> * until there are no more entries in the cache.
> */
> - int RunWizard(std::vector<std::string>const& args);
> + int RunWizard(std::vector<std::string>& args);
>
> private:
> bool m_ShowAdvanced;
> _______________________________________________
> Cmake mailing list
> Cmake at www.cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
--
Andy Cedilnik
Kitware Inc.