mirror of
https://github.com/reactos/CMake.git
synced 2024-12-14 07:09:22 +00:00
df97bea242
Port code from the KWSys System_Shell APIs into cmOutputConverter. Drop it from our copy of KWSys because upstream will drop it too, and by doing it in this commit 'git blame' may have an easier time connecting the history of the content.
70 lines
2.5 KiB
C
70 lines
2.5 KiB
C
/*============================================================================
|
|
KWSys - Kitware System Library
|
|
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
|
|
|
|
Distributed under the OSI-approved BSD License (the "License");
|
|
see accompanying file Copyright.txt for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the License for more information.
|
|
============================================================================*/
|
|
#ifndef @KWSYS_NAMESPACE@_System_h
|
|
#define @KWSYS_NAMESPACE@_System_h
|
|
|
|
#include <@KWSYS_NAMESPACE@/Configure.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 kwsysSystem_Parse_CommandForUnix kwsys_ns(System_Parse_CommandForUnix)
|
|
#endif
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
/**
|
|
* Parse a unix-style command line string into separate arguments.
|
|
*
|
|
* On success, returns a pointer to an array of pointers to individual
|
|
* argument strings. Each string is null-terminated and the last
|
|
* entry in the array is a NULL pointer (just like argv). It is the
|
|
* caller's responsibility to free() the strings and the array of
|
|
* pointers to them.
|
|
*
|
|
* On failure, returns NULL. Failure occurs only on invalid flags or
|
|
* when memory cannot be allocated; never due to content of the input
|
|
* string. Missing close-quotes are treated as if the necessary
|
|
* closing quote appears.
|
|
*
|
|
* By default single- and double-quoted arguments are supported, and
|
|
* any character may be escaped by a backslash. The flags argument is
|
|
* reserved for future use, and must be zero (or the call will fail).
|
|
*/
|
|
kwsysEXPORT char** kwsysSystem_Parse_CommandForUnix(const char* command,
|
|
int flags);
|
|
|
|
#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 kwsysSystem_Parse_CommandForUnix
|
|
# endif
|
|
#endif
|
|
|
|
#endif
|