From 730e386291cb7aad8f532125216b2ec71d710748 Mon Sep 17 00:00:00 2001 From: Clinton Stimpson Date: Fri, 30 May 2014 21:41:48 -0600 Subject: [PATCH] Encoding: Add setlocale() to applications. See also bug #14934 where chinese characters could not be used with cpack. --- Source/CPack/cpack.cxx | 2 ++ Source/CursesDialog/ccmake.cxx | 3 +++ Source/cmakemain.cxx | 2 ++ Source/ctest.cxx | 3 +++ 4 files changed, 10 insertions(+) diff --git a/Source/CPack/cpack.cxx b/Source/CPack/cpack.cxx index 2aa599131..ad37c4230 100644 --- a/Source/CPack/cpack.cxx +++ b/Source/CPack/cpack.cxx @@ -26,6 +26,7 @@ #include #include #include +#include //---------------------------------------------------------------------------- static const char * cmDocumentationName[][2] = @@ -100,6 +101,7 @@ int cpackDefinitionArgument(const char* argument, const char* cValue, // this is CPack. int main (int argc, char const* const* argv) { + setlocale(LC_ALL, ""); cmsys::Encoding::CommandLineArguments args = cmsys::Encoding::CommandLineArguments::Main(argc, argv); argc = args.argc(); diff --git a/Source/CursesDialog/ccmake.cxx b/Source/CursesDialog/ccmake.cxx index d70bedb4d..a9d4d9845 100644 --- a/Source/CursesDialog/ccmake.cxx +++ b/Source/CursesDialog/ccmake.cxx @@ -16,6 +16,7 @@ #include #include +#include #include "cmCursesMainForm.h" #include "cmCursesStandardIncludes.h" @@ -82,6 +83,8 @@ void CMakeMessageHandler(const char* message, const char* title, bool&, int main(int argc, char const* const* argv) { + setlocale(LC_ALL, ""); + cmsys::Encoding::CommandLineArguments encoding_args = cmsys::Encoding::CommandLineArguments::Main(argc, argv); argc = encoding_args.argc(); diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx index 77f1e4ec9..9f9f6bbdd 100644 --- a/Source/cmakemain.cxx +++ b/Source/cmakemain.cxx @@ -25,6 +25,7 @@ #include "cmLocalGenerator.h" #include "cmMakefile.h" #include +#include #ifdef CMAKE_BUILD_WITH_CMAKE //---------------------------------------------------------------------------- @@ -162,6 +163,7 @@ static void cmakemainProgressCallback(const char *m, float prog, int main(int ac, char const* const* av) { + setlocale(LC_ALL, ""); cmsys::Encoding::CommandLineArguments args = cmsys::Encoding::CommandLineArguments::Main(ac, av); ac = args.argc(); diff --git a/Source/ctest.cxx b/Source/ctest.cxx index 3eb555195..0848f19c0 100644 --- a/Source/ctest.cxx +++ b/Source/ctest.cxx @@ -19,6 +19,7 @@ #include "CTest/cmCTestScriptHandler.h" #include "CTest/cmCTestLaunch.h" #include "cmsys/Encoding.hxx" +#include //---------------------------------------------------------------------------- static const char * cmDocumentationName[][2] = @@ -114,6 +115,8 @@ static const char * cmDocumentationOptions[][2] = // this is a test driver program for cmCTest. int main (int argc, char const* const* argv) { + setlocale(LC_ALL, ""); + cmsys::Encoding::CommandLineArguments encoding_args = cmsys::Encoding::CommandLineArguments::Main(argc, argv); argc = encoding_args.argc();