Refactor: Use anonymous namespace instead of statics

Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
This commit is contained in:
Alex Turbov 2019-07-04 22:48:43 +03:00
parent 0328b64efd
commit 0db458a0ce

View File

@ -31,13 +31,14 @@
#include <string>
#include <vector>
namespace {
#ifdef CMAKE_BUILD_WITH_CMAKE
static const char* cmDocumentationName[][2] = {
const char* cmDocumentationName[][2] = {
{ nullptr, " cmake - Cross-Platform Makefile Generator." },
{ nullptr, nullptr }
};
static const char* cmDocumentationUsage[][2] = {
const char* cmDocumentationUsage[][2] = {
{ nullptr,
" cmake [options] <path-to-source>\n"
" cmake [options] <path-to-existing-build>\n"
@ -49,12 +50,12 @@ static const char* cmDocumentationUsage[][2] = {
{ nullptr, nullptr }
};
static const char* cmDocumentationUsageNote[][2] = {
const char* cmDocumentationUsageNote[][2] = {
{ nullptr, "Run 'cmake --help' for more information." },
{ nullptr, nullptr }
};
static const char* cmDocumentationOptions[][2] = {
const char* cmDocumentationOptions[][2] = {
CMAKE_STANDARD_OPTIONS_TABLE,
{ "-E", "CMake command mode." },
{ "-L[A][H]", "List non-advanced cached variables." },
@ -89,7 +90,7 @@ static const char* cmDocumentationOptions[][2] = {
#endif
static int do_command(int ac, char const* const* av)
int do_command(int ac, char const* const* av)
{
std::vector<std::string> args;
args.reserve(ac - 1);
@ -98,12 +99,7 @@ static int do_command(int ac, char const* const* av)
return cmcmd::ExecuteCMakeCommand(args);
}
int do_cmake(int ac, char const* const* av);
static int do_build(int ac, char const* const* av);
static int do_install(int ac, char const* const* av);
static int do_open(int ac, char const* const* av);
static cmMakefile* cmakemainGetMakefile(cmake* cm)
cmMakefile* cmakemainGetMakefile(cmake* cm)
{
if (cm && cm->GetDebugOutput()) {
cmGlobalGenerator* gg = cm->GetGlobalGenerator();
@ -114,7 +110,7 @@ static cmMakefile* cmakemainGetMakefile(cmake* cm)
return nullptr;
}
static std::string cmakemainGetStack(cmake* cm)
std::string cmakemainGetStack(cmake* cm)
{
std::string msg;
cmMakefile* mf = cmakemainGetMakefile(cm);
@ -128,14 +124,13 @@ static std::string cmakemainGetStack(cmake* cm)
return msg;
}
static void cmakemainMessageCallback(const std::string& m,
const char* /*unused*/, cmake* cm)
void cmakemainMessageCallback(const std::string& m, const char* /*unused*/,
cmake* cm)
{
std::cerr << m << cmakemainGetStack(cm) << std::endl;
}
static void cmakemainProgressCallback(const std::string& m, float prog,
cmake* cm)
void cmakemainProgressCallback(const std::string& m, float prog, cmake* cm)
{
cmMakefile* mf = cmakemainGetMakefile(cm);
std::string dir;
@ -152,46 +147,6 @@ static void cmakemainProgressCallback(const std::string& m, float prog,
}
}
int main(int ac, char const* const* av)
{
cmSystemTools::EnsureStdPipes();
#if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE)
// Replace streambuf so we can output Unicode to console
cmsys::ConsoleBuf::Manager consoleOut(std::cout);
consoleOut.SetUTF8Pipes();
cmsys::ConsoleBuf::Manager consoleErr(std::cerr, true);
consoleErr.SetUTF8Pipes();
#endif
cmsys::Encoding::CommandLineArguments args =
cmsys::Encoding::CommandLineArguments::Main(ac, av);
ac = args.argc();
av = args.argv();
cmSystemTools::EnableMSVCDebugHook();
cmSystemTools::InitializeLibUV();
cmSystemTools::FindCMakeResources(av[0]);
if (ac > 1) {
if (strcmp(av[1], "--build") == 0) {
return do_build(ac, av);
}
if (strcmp(av[1], "--install") == 0) {
return do_install(ac, av);
}
if (strcmp(av[1], "--open") == 0) {
return do_open(ac, av);
}
if (strcmp(av[1], "-E") == 0) {
return do_command(ac, av);
}
}
int ret = do_cmake(ac, av);
#ifdef CMAKE_BUILD_WITH_CMAKE
cmDynamicLoader::FlushCache();
#endif
uv_loop_close(uv_default_loop());
return ret;
}
int do_cmake(int ac, char const* const* av)
{
if (cmSystemTools::GetCurrentWorkingDirectory().empty()) {
@ -351,7 +306,6 @@ int do_cmake(int ac, char const* const* av)
return 0;
}
namespace {
int extract_job_number(int& index, char const* current, char const* next,
int len_of_flag)
{
@ -381,9 +335,8 @@ int extract_job_number(int& index, char const* current, char const* next,
}
return jobs;
}
}
static int do_build(int ac, char const* const* av)
int do_build(int ac, char const* const* av)
{
#ifndef CMAKE_BUILD_WITH_CMAKE
std::cerr << "This cmake does not support --build\n";
@ -547,7 +500,7 @@ static int do_build(int ac, char const* const* av)
#endif
}
static int do_install(int ac, char const* const* av)
int do_install(int ac, char const* const* av)
{
#ifndef CMAKE_BUILD_WITH_CMAKE
std::cerr << "This cmake does not support --install\n";
@ -668,7 +621,7 @@ static int do_install(int ac, char const* const* av)
#endif
}
static int do_open(int ac, char const* const* av)
int do_open(int ac, char const* const* av)
{
#ifndef CMAKE_BUILD_WITH_CMAKE
std::cerr << "This cmake does not support --open\n";
@ -710,3 +663,44 @@ static int do_open(int ac, char const* const* av)
return cm.Open(dir, false) ? 0 : 1;
#endif
}
} // namespace
int main(int ac, char const* const* av)
{
cmSystemTools::EnsureStdPipes();
#if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE)
// Replace streambuf so we can output Unicode to console
cmsys::ConsoleBuf::Manager consoleOut(std::cout);
consoleOut.SetUTF8Pipes();
cmsys::ConsoleBuf::Manager consoleErr(std::cerr, true);
consoleErr.SetUTF8Pipes();
#endif
cmsys::Encoding::CommandLineArguments args =
cmsys::Encoding::CommandLineArguments::Main(ac, av);
ac = args.argc();
av = args.argv();
cmSystemTools::EnableMSVCDebugHook();
cmSystemTools::InitializeLibUV();
cmSystemTools::FindCMakeResources(av[0]);
if (ac > 1) {
if (strcmp(av[1], "--build") == 0) {
return do_build(ac, av);
}
if (strcmp(av[1], "--install") == 0) {
return do_install(ac, av);
}
if (strcmp(av[1], "--open") == 0) {
return do_open(ac, av);
}
if (strcmp(av[1], "-E") == 0) {
return do_command(ac, av);
}
}
int ret = do_cmake(ac, av);
#ifdef CMAKE_BUILD_WITH_CMAKE
cmDynamicLoader::FlushCache();
#endif
uv_loop_close(uv_default_loop());
return ret;
}