https://github.com/Kitware/CMake
Revision 854feacc60c5d1dcf53652a764841e1d9d602ac3 authored by KWSys Upstream on 01 February 2018, 12:44:45 UTC, committed by Brad King on 01 February 2018, 13:15:44 UTC
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 04fcc449646eb2ff3d701986946a1db60b2161b7 (master).

Upstream Shortlog
-----------------

Ben Boeckel (11):
      ba270398 SystemToolsAppendComponents: move strings when building components
      cfd0f1e6 JoinPath: push back as a character
      6770cb3e GetFilenameName: optionally don't search for \ on non-Windows
      22b189b0 ConvertToUnixSlashes: remove escaped space logic
      342d69a4 ConvertToUnixSlashes: short-circuit on hasDoubleSlash
      5dd87350 ConvertToUnixSlashes: remove pos1
      3b46b7c0 ConvertToUnixSlashes: bail early on empty paths
      55d1d6ab CollapseFullPath: reserve space for components
      68807138 CollapseFullPath: prefer .empty() to .length() == 0
      71a6de42 CollapseFullPath: refactor the overloads to share implementations
      318550c7 CheckCollapsePath: add more test cases
1 parent 7a75657
Raw File
Tip revision: 854feacc60c5d1dcf53652a764841e1d9d602ac3 authored by KWSys Upstream on 01 February 2018, 12:44:45 UTC
KWSys 2018-02-01 (04fcc449)
Tip revision: 854feac
System.h.in
/* 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@_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
back to top