mirror of
https://github.com/reactos/CMake.git
synced 2025-03-04 18:07:27 +00:00

Code extracted from: http://public.kitware.com/KWSys.git at commit 18c654114de3aa65429542f95308720bc68f9231 (master). Upstream Shortlog ----------------- Brad King (14): 37306a1c FStream: Quiet unused argument warning 15e90a3c Sort includes to stabilize include order w.r.t. clang-format 26509227 Copyright.txt: Add notice of copyright by contributors fc42d3f2 Add temporary script to filter license notices c41c1bc4 Simplify KWSys per-source license notices 1d4c0b4a Remove temporary script that filtered license notices a4f5ef79 SystemInformation: Remove stray comment 8649a886 kwsysPrivate: Protect KWSYS_HEADER macro from clang-format 89b98af5 Configure clang-format for KWSys source tree 547dacad Add a script to run clang-format on the entire source tree aa94be0c CONTRIBUTING: Add a section on coding style 6604c4b6 Empty commit at end of history preceding clang-format style transition 2b3e2b1c Tell Git to not export 'clang-format' infrastructure 18c65411 FStream: Include Configure.hxx before other headers Kitware Robot (1): 6c973b46 Revise C++ coding style using clang-format
70 lines
2.3 KiB
C
70 lines
2.3 KiB
C
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing#kwsys for details. */
|
|
#ifndef @KWSYS_NAMESPACE@_Encoding_h
|
|
#define @KWSYS_NAMESPACE@_Encoding_h
|
|
|
|
#include <@KWSYS_NAMESPACE@/Configure.h>
|
|
|
|
#include <wchar.h>
|
|
|
|
/* Redefine all public interface symbol names to be in the proper
|
|
namespace. These macros are used internally to kwsys only, and are
|
|
not visible to user code. Use kwsysHeaderDump.pl to reproduce
|
|
these macros after making changes to the interface. */
|
|
#if !defined(KWSYS_NAMESPACE)
|
|
#define kwsys_ns(x) @KWSYS_NAMESPACE@##x
|
|
#define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT
|
|
#endif
|
|
#if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
|
#define kwsysEncoding kwsys_ns(Encoding)
|
|
#define kwsysEncoding_mbstowcs kwsys_ns(Encoding_mbstowcs)
|
|
#define kwsysEncoding_DupToWide kwsys_ns(Encoding_DupToWide)
|
|
#define kwsysEncoding_wcstombs kwsys_ns(Encoding_wcstombs)
|
|
#define kwsysEncoding_DupToNarrow kwsys_ns(Encoding_DupToNarrow)
|
|
#endif
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Convert a narrow string to a wide string.
|
|
On Windows, UTF-8 is assumed, and on other platforms,
|
|
the current locale is assumed.
|
|
*/
|
|
kwsysEXPORT size_t kwsysEncoding_mbstowcs(wchar_t* dest, const char* src,
|
|
size_t n);
|
|
|
|
/* Convert a narrow string to a wide string.
|
|
This can return NULL if the conversion fails. */
|
|
kwsysEXPORT wchar_t* kwsysEncoding_DupToWide(const char* src);
|
|
|
|
/* Convert a wide string to a narrow string.
|
|
On Windows, UTF-8 is assumed, and on other platforms,
|
|
the current locale is assumed. */
|
|
kwsysEXPORT size_t kwsysEncoding_wcstombs(char* dest, const wchar_t* src,
|
|
size_t n);
|
|
|
|
/* Convert a wide string to a narrow string.
|
|
This can return NULL if the conversion fails. */
|
|
kwsysEXPORT char* kwsysEncoding_DupToNarrow(const wchar_t* str);
|
|
|
|
#if defined(__cplusplus)
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
/* If we are building a kwsys .c or .cxx file, let it use these macros.
|
|
Otherwise, undefine them to keep the namespace clean. */
|
|
#if !defined(KWSYS_NAMESPACE)
|
|
#undef kwsys_ns
|
|
#undef kwsysEXPORT
|
|
#if !defined(KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
|
#undef kwsysEncoding
|
|
#undef kwsysEncoding_mbstowcs
|
|
#undef kwsysEncoding_DupToWide
|
|
#undef kwsysEncoding_wcstombs
|
|
#undef kwsysEncoding_DupToNarrow
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|