ENH: Merged use of kwsys library.
This commit is contained in:
parent
c5890b8c2e
commit
dc3fd5c267
|
@ -29,6 +29,15 @@ IF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local -no_implicit_include ")
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local -no_implicit_include ")
|
||||||
ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
|
ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
|
||||||
ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
|
ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Create the kwsys library for CMake.
|
||||||
|
SET(KWSYS_NAMESPACE cmsys)
|
||||||
|
SET(KWSYS_USE_SystemTools 1)
|
||||||
|
SET(KWSYS_USE_Directory 1)
|
||||||
|
SET(KWSYS_HEADER_ROOT ${CMake_BINARY_DIR}/Source)
|
||||||
|
SUBDIRS(Source/kwsys)
|
||||||
|
|
||||||
SUBDIRS(Source Modules Templates Utilities)
|
SUBDIRS(Source Modules Templates Utilities)
|
||||||
ENABLE_TESTING()
|
ENABLE_TESTING()
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@ cmMakefile.cxx
|
||||||
cmRegularExpression.cxx
|
cmRegularExpression.cxx
|
||||||
cmSourceFile.cxx
|
cmSourceFile.cxx
|
||||||
cmSystemTools.cxx
|
cmSystemTools.cxx
|
||||||
cmDirectory.cxx
|
|
||||||
cmDocumentation.cxx
|
cmDocumentation.cxx
|
||||||
cmDynamicLoader.cxx
|
cmDynamicLoader.cxx
|
||||||
cmCommands.cxx
|
cmCommands.cxx
|
||||||
|
@ -30,7 +29,6 @@ cmRegularExpression.h
|
||||||
cmSourceFile.h
|
cmSourceFile.h
|
||||||
cmSystemTools.h
|
cmSystemTools.h
|
||||||
cmDynamicLoader.h
|
cmDynamicLoader.h
|
||||||
cmDirectory.h
|
|
||||||
cmCommands.h
|
cmCommands.h
|
||||||
cmTarget.h
|
cmTarget.h
|
||||||
cmCustomCommand.h
|
cmCustomCommand.h
|
||||||
|
@ -96,6 +94,7 @@ ENDIF (WIN32)
|
||||||
# create a library used by the command line and the GUI
|
# create a library used by the command line and the GUI
|
||||||
ADD_LIBRARY(CMakeLib ${SRCS})
|
ADD_LIBRARY(CMakeLib ${SRCS})
|
||||||
|
|
||||||
|
TARGET_LINK_LIBRARIES(CMakeLib cmsys)
|
||||||
|
|
||||||
# always link in the library
|
# always link in the library
|
||||||
# the library is found here
|
# the library is found here
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
|
|
||||||
#include "cmCursesMainForm.h"
|
#include "cmCursesMainForm.h"
|
||||||
#include "cmSystemTools.h"
|
#include "cmSystemTools.h"
|
||||||
#include "cmDirectory.h"
|
|
||||||
|
|
||||||
cmCursesPathWidget::cmCursesPathWidget(int width, int height,
|
cmCursesPathWidget::cmCursesPathWidget(int width, int height,
|
||||||
int left, int top) :
|
int left, int top) :
|
||||||
|
|
|
@ -15,9 +15,10 @@
|
||||||
|
|
||||||
=========================================================================*/
|
=========================================================================*/
|
||||||
#include "cmAuxSourceDirectoryCommand.h"
|
#include "cmAuxSourceDirectoryCommand.h"
|
||||||
#include "cmDirectory.h"
|
|
||||||
#include "cmSourceFile.h"
|
#include "cmSourceFile.h"
|
||||||
|
|
||||||
|
#include <cmsys/Directory.hxx>
|
||||||
|
|
||||||
// cmAuxSourceDirectoryCommand
|
// cmAuxSourceDirectoryCommand
|
||||||
bool cmAuxSourceDirectoryCommand::InitialPass(std::vector<std::string> const& args)
|
bool cmAuxSourceDirectoryCommand::InitialPass(std::vector<std::string> const& args)
|
||||||
{
|
{
|
||||||
|
@ -42,7 +43,7 @@ bool cmAuxSourceDirectoryCommand::InitialPass(std::vector<std::string> const& ar
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load all the files in the directory
|
// Load all the files in the directory
|
||||||
cmDirectory dir;
|
cmsys::Directory dir;
|
||||||
if(dir.Load(tdir.c_str()))
|
if(dir.Load(tdir.c_str()))
|
||||||
{
|
{
|
||||||
size_t numfiles = dir.GetNumberOfFiles();
|
size_t numfiles = dir.GetNumberOfFiles();
|
||||||
|
|
|
@ -1,121 +0,0 @@
|
||||||
/*=========================================================================
|
|
||||||
|
|
||||||
Program: CMake - Cross-Platform Makefile Generator
|
|
||||||
Module: $RCSfile$
|
|
||||||
Language: C++
|
|
||||||
Date: $Date$
|
|
||||||
Version: $Revision$
|
|
||||||
|
|
||||||
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
|
|
||||||
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
|
|
||||||
|
|
||||||
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
||||||
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. See the above copyright notices for more information.
|
|
||||||
|
|
||||||
=========================================================================*/
|
|
||||||
#include "cmDirectory.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// First microsoft compilers
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#include <windows.h>
|
|
||||||
#include <io.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
bool
|
|
||||||
cmDirectory
|
|
||||||
::Load(const char* name)
|
|
||||||
{
|
|
||||||
char* buf;
|
|
||||||
size_t n = strlen(name);
|
|
||||||
if ( name[n - 1] == '/' )
|
|
||||||
{
|
|
||||||
buf = new char[n + 1 + 1];
|
|
||||||
sprintf(buf, "%s*", name);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
buf = new char[n + 2 + 1];
|
|
||||||
sprintf(buf, "%s/*", name);
|
|
||||||
}
|
|
||||||
struct _finddata_t data; // data of current file
|
|
||||||
|
|
||||||
// Now put them into the file array
|
|
||||||
size_t srchHandle = _findfirst(buf, &data);
|
|
||||||
delete [] buf;
|
|
||||||
|
|
||||||
if ( srchHandle == -1 )
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Loop through names
|
|
||||||
do
|
|
||||||
{
|
|
||||||
m_Files.push_back(data.name);
|
|
||||||
}
|
|
||||||
while ( _findnext(srchHandle, &data) != -1 );
|
|
||||||
m_Path = name;
|
|
||||||
return _findclose(srchHandle) != -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
// Now the POSIX style directory access
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <dirent.h>
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
bool
|
|
||||||
cmDirectory
|
|
||||||
::Load(const char* name)
|
|
||||||
{
|
|
||||||
DIR* dir = opendir(name);
|
|
||||||
|
|
||||||
if (!dir)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (dirent* d = readdir(dir); d; d = readdir(dir) )
|
|
||||||
{
|
|
||||||
m_Files.push_back(d->d_name);
|
|
||||||
}
|
|
||||||
m_Path = name;
|
|
||||||
closedir(dir);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
const char*
|
|
||||||
cmDirectory
|
|
||||||
::GetFile(size_t dindex)
|
|
||||||
{
|
|
||||||
if ( dindex >= m_Files.size() )
|
|
||||||
{
|
|
||||||
cmSystemTools::Error("Bad index for GetFile on cmDirectory\n", 0);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return m_Files[dindex].c_str();
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
/*=========================================================================
|
|
||||||
|
|
||||||
Program: CMake - Cross-Platform Makefile Generator
|
|
||||||
Module: $RCSfile$
|
|
||||||
Language: C++
|
|
||||||
Date: $Date$
|
|
||||||
Version: $Revision$
|
|
||||||
|
|
||||||
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
|
|
||||||
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
|
|
||||||
|
|
||||||
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
||||||
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. See the above copyright notices for more information.
|
|
||||||
|
|
||||||
=========================================================================*/
|
|
||||||
#ifndef __cmDirectory_h
|
|
||||||
#define __cmDirectory_h
|
|
||||||
|
|
||||||
#include "cmStandardIncludes.h"
|
|
||||||
#include "cmSystemTools.h"
|
|
||||||
|
|
||||||
/** \class cmDirectory
|
|
||||||
* \brief Portable directory/filename traversal.
|
|
||||||
*
|
|
||||||
* cmDirectory provides a portable way of finding the names of the files
|
|
||||||
* in a system directory.
|
|
||||||
*
|
|
||||||
* cmDirectory currently works with Windows and Unix operating systems.
|
|
||||||
*/
|
|
||||||
|
|
||||||
class cmDirectory
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Load the specified directory and load the names of the files
|
|
||||||
* in that directory. 0 is returned if the directory can not be
|
|
||||||
* opened, 1 if it is opened.
|
|
||||||
*/
|
|
||||||
bool Load(const char* dir);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the number of files in the current directory.
|
|
||||||
*/
|
|
||||||
size_t GetNumberOfFiles() { return m_Files.size();}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the file at the given index, the indexing is 0 based
|
|
||||||
*/
|
|
||||||
const char* GetFile(size_t );
|
|
||||||
|
|
||||||
private:
|
|
||||||
std::vector<std::string> m_Files; // Array of Files
|
|
||||||
std::string m_Path; // Path to Open'ed directory
|
|
||||||
|
|
||||||
}; // End Class: cmDirectory
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -15,7 +15,6 @@
|
||||||
|
|
||||||
=========================================================================*/
|
=========================================================================*/
|
||||||
#include "cmMakeDirectoryCommand.h"
|
#include "cmMakeDirectoryCommand.h"
|
||||||
#include "cmDirectory.h"
|
|
||||||
|
|
||||||
// cmMakeDirectoryCommand
|
// cmMakeDirectoryCommand
|
||||||
bool cmMakeDirectoryCommand::InitialPass(std::vector<std::string> const& args)
|
bool cmMakeDirectoryCommand::InitialPass(std::vector<std::string> const& args)
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
#include "cmCommand.h"
|
#include "cmCommand.h"
|
||||||
#include "cmStandardIncludes.h"
|
#include "cmStandardIncludes.h"
|
||||||
#include "cmSourceFile.h"
|
#include "cmSourceFile.h"
|
||||||
#include "cmDirectory.h"
|
|
||||||
#include "cmSystemTools.h"
|
#include "cmSystemTools.h"
|
||||||
#include "cmGlobalGenerator.h"
|
#include "cmGlobalGenerator.h"
|
||||||
#include "cmLocalGenerator.h"
|
#include "cmLocalGenerator.h"
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -19,47 +19,17 @@
|
||||||
|
|
||||||
#include "cmStandardIncludes.h"
|
#include "cmStandardIncludes.h"
|
||||||
|
|
||||||
|
#include <cmsys/SystemTools.hxx>
|
||||||
|
|
||||||
/** \class cmSystemTools
|
/** \class cmSystemTools
|
||||||
* \brief A collection of useful functions for CMake.
|
* \brief A collection of useful functions for CMake.
|
||||||
*
|
*
|
||||||
* cmSystemTools is a class that provides helper functions
|
* cmSystemTools is a class that provides helper functions
|
||||||
* for the CMake build system.
|
* for the CMake build system.
|
||||||
*/
|
*/
|
||||||
class cmSystemTools
|
class cmSystemTools: public cmsys::SystemTools
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/**
|
|
||||||
* Replace symbols in str that are not valid in C identifiers as
|
|
||||||
* defined by the 1999 standard, ie. anything except [A-Za-z0-9_].
|
|
||||||
* They are replaced with `_' and if the first character is a digit
|
|
||||||
* then an underscore is prepended. Note that this can produce
|
|
||||||
* identifiers that the standard reserves (_[A-Z].* and __.*).
|
|
||||||
*/
|
|
||||||
static std::string MakeCindentifier(const char* s);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Make a new directory if it is not there. This function
|
|
||||||
* can make a full path even if none of the directories existed
|
|
||||||
* prior to calling this function.
|
|
||||||
*/
|
|
||||||
static bool MakeDirectory(const char* path);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get current time as a double. On certain platforms this will
|
|
||||||
* return higher resolution than seconds:
|
|
||||||
* (1) gettimeofday() -- resolution in microseconds
|
|
||||||
* (2) ftime() -- resolution in milliseconds
|
|
||||||
* (3) time() -- resolution in seconds
|
|
||||||
*/
|
|
||||||
static double GetTime();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Replace replace all occurances of the string in
|
|
||||||
* the source string.
|
|
||||||
*/
|
|
||||||
static void ReplaceString(std::string& source,
|
|
||||||
const char* replace,
|
|
||||||
const char* with);
|
|
||||||
|
|
||||||
/** Expand out any arguements in the vector that have ; separated
|
/** Expand out any arguements in the vector that have ; separated
|
||||||
* strings into multiple arguements. A new vector is created
|
* strings into multiple arguements. A new vector is created
|
||||||
|
@ -70,47 +40,11 @@ public:
|
||||||
static void ExpandListArgument(const std::string& arg,
|
static void ExpandListArgument(const std::string& arg,
|
||||||
std::vector<std::string>& argsOut);
|
std::vector<std::string>& argsOut);
|
||||||
|
|
||||||
/**
|
|
||||||
* Read a registry value
|
|
||||||
*/
|
|
||||||
static bool ReadRegistryValue(const char *key, std::string &value);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Write a registry value
|
|
||||||
*/
|
|
||||||
static bool WriteRegistryValue(const char *key, const char *value);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete a registry value
|
|
||||||
*/
|
|
||||||
static bool DeleteRegistryValue(const char *key);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Look for and replace registry values in a string
|
* Look for and replace registry values in a string
|
||||||
*/
|
*/
|
||||||
static void ExpandRegistryValues(std::string& source);
|
static void ExpandRegistryValues(std::string& source);
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a capitalized string (i.e the first letter is uppercased, all other
|
|
||||||
* are lowercased).
|
|
||||||
*/
|
|
||||||
static std::string Capitalized(const std::string&);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a lower case string
|
|
||||||
*/
|
|
||||||
static std::string LowerCase(const std::string&);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a lower case string
|
|
||||||
*/
|
|
||||||
static std::string UpperCase(const std::string&);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Replace Windows file system slashes with Unix-style slashes.
|
|
||||||
*/
|
|
||||||
static void ConvertToUnixSlashes(std::string& path);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Platform independent escape spaces, unix uses backslash,
|
* Platform independent escape spaces, unix uses backslash,
|
||||||
* windows double quotes the string.
|
* windows double quotes the string.
|
||||||
|
@ -119,15 +53,6 @@ public:
|
||||||
|
|
||||||
///! Escape quotes in a string.
|
///! Escape quotes in a string.
|
||||||
static std::string EscapeQuotes(const char* str);
|
static std::string EscapeQuotes(const char* str);
|
||||||
|
|
||||||
/**
|
|
||||||
* For windows this calles ConvertToWindowsOutputPath and for unix
|
|
||||||
* it calls ConvertToUnixOutputPath
|
|
||||||
*/
|
|
||||||
static std::string ConvertToOutputPath(const char*);
|
|
||||||
|
|
||||||
///! Return true if a file exists in the current directory.
|
|
||||||
static bool FileExists(const char* filename);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Given a string, replace any escape sequences with the corresponding
|
* Given a string, replace any escape sequences with the corresponding
|
||||||
|
@ -135,19 +60,6 @@ public:
|
||||||
*/
|
*/
|
||||||
static std::string RemoveEscapes(const char*);
|
static std::string RemoveEscapes(const char*);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the paths from the environment variable PATH to the
|
|
||||||
* string vector passed in.
|
|
||||||
*/
|
|
||||||
static void GetPath(std::vector<std::string>& path);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the file extension (including ".") needed for an executable
|
|
||||||
* on the current platform ("" for unix, ".exe" for Windows).
|
|
||||||
*/
|
|
||||||
static const char* GetExecutableExtension();
|
|
||||||
|
|
||||||
typedef void (*ErrorCallback)(const char*, const char*, bool&, void*);
|
typedef void (*ErrorCallback)(const char*, const char*, bool&, void*);
|
||||||
/**
|
/**
|
||||||
* Set the function used by GUI's to display error messages
|
* Set the function used by GUI's to display error messages
|
||||||
|
@ -191,26 +103,6 @@ public:
|
||||||
cmSystemTools::s_ErrorOccured = false;
|
cmSystemTools::s_ErrorOccured = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Copy the source file to the destination file only
|
|
||||||
* if the two files differ.
|
|
||||||
*/
|
|
||||||
static bool CopyFileIfDifferent(const char* source,
|
|
||||||
const char* destination);
|
|
||||||
|
|
||||||
///! Compare the contents of two files. Return true if different.
|
|
||||||
static bool FilesDiffer(const char* source,
|
|
||||||
const char* destination);
|
|
||||||
///! return true if the two files are the same file
|
|
||||||
static bool SameFile(const char* file1, const char* file2);
|
|
||||||
|
|
||||||
///! Copy a file.
|
|
||||||
static void cmCopyFile(const char* source,
|
|
||||||
const char* destination);
|
|
||||||
|
|
||||||
///! Remove a file.
|
|
||||||
static bool RemoveFile(const char* source);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* does a string indicate a true or on value ? This is not the same
|
* does a string indicate a true or on value ? This is not the same
|
||||||
* as ifdef.
|
* as ifdef.
|
||||||
|
@ -229,22 +121,6 @@ public:
|
||||||
///! Return true if value is NOTFOUND or ends in -NOTFOUND.
|
///! Return true if value is NOTFOUND or ends in -NOTFOUND.
|
||||||
static bool IsNOTFOUND(const char* value);
|
static bool IsNOTFOUND(const char* value);
|
||||||
|
|
||||||
///! Find a file in the system PATH, with optional extra paths.
|
|
||||||
static std::string FindFile(const char* name,
|
|
||||||
const std::vector<std::string>& path= std::vector<std::string>());
|
|
||||||
|
|
||||||
///! Find an executable in the system PATH, with optional extra paths.
|
|
||||||
static std::string FindProgram(const char* name,
|
|
||||||
const std::vector<std::string>& path = std::vector<std::string>(),
|
|
||||||
bool no_system_path = false);
|
|
||||||
|
|
||||||
///! Find a library in the system PATH, with optional extra paths.
|
|
||||||
static std::string FindLibrary(const char* name,
|
|
||||||
const std::vector<std::string>& path);
|
|
||||||
|
|
||||||
///! return true if the file is a directory.
|
|
||||||
static bool FileIsDirectory(const char* name);
|
|
||||||
|
|
||||||
static bool DoesFileExistWithExtensions(
|
static bool DoesFileExistWithExtensions(
|
||||||
const char *name,
|
const char *name,
|
||||||
const std::vector<std::string>& sourceExts);
|
const std::vector<std::string>& sourceExts);
|
||||||
|
@ -265,43 +141,8 @@ public:
|
||||||
static bool SimpleGlob(const std::string& glob, std::vector<std::string>& files,
|
static bool SimpleGlob(const std::string& glob, std::vector<std::string>& files,
|
||||||
int type = 0);
|
int type = 0);
|
||||||
|
|
||||||
static std::string GetCurrentWorkingDirectory();
|
///! Copy a file.
|
||||||
static std::string GetProgramPath(const char*);
|
static bool cmCopyFile(const char* source, const char* destination);
|
||||||
static void SplitProgramPath(const char* in_name,
|
|
||||||
std::string& dir,
|
|
||||||
std::string& file,
|
|
||||||
bool errorReport = true);
|
|
||||||
static std::string CollapseFullPath(const char* in_relative);
|
|
||||||
static std::string CollapseFullPath(const char* in_relative,
|
|
||||||
const char* in_base);
|
|
||||||
|
|
||||||
///! return path of a full filename (no trailing slashes).
|
|
||||||
static std::string GetFilenamePath(const std::string&);
|
|
||||||
|
|
||||||
|
|
||||||
///! return file name of a full filename (i.e. file name without path).
|
|
||||||
static std::string GetFilenameName(const std::string&);
|
|
||||||
|
|
||||||
///! Split a program from its arguments and handle spaces in the paths.
|
|
||||||
static void SplitProgramFromArgs(const char* path,
|
|
||||||
std::string& program, std::string& args);
|
|
||||||
|
|
||||||
///! return file extension of a full filename (dot included).
|
|
||||||
static std::string GetFilenameExtension(const std::string&);
|
|
||||||
|
|
||||||
///! return file extension of a full filename (dot included).
|
|
||||||
static std::string GetFilenameLastExtension(const std::string&);
|
|
||||||
|
|
||||||
///! return file name without extension of a full filename.
|
|
||||||
static std::string GetFilenameWithoutExtension(const std::string&);
|
|
||||||
|
|
||||||
///! return file name without its last (shortest) extension.
|
|
||||||
static std::string GetFilenameWithoutLastExtension(const std::string&);
|
|
||||||
|
|
||||||
/** Return whether the path represents a full path (not relative). */
|
|
||||||
static bool FileIsFullPath(const char*);
|
|
||||||
|
|
||||||
static long int ModifiedTime(const char* filename);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Run an executable command and put the stdout in output.
|
* Run an executable command and put the stdout in output.
|
||||||
|
@ -319,13 +160,7 @@ public:
|
||||||
bool verbose = true, int timeout = 0);
|
bool verbose = true, int timeout = 0);
|
||||||
static bool RunCommand(const char* command, std::string& output,
|
static bool RunCommand(const char* command, std::string& output,
|
||||||
int &retVal, const char* directory = 0,
|
int &retVal, const char* directory = 0,
|
||||||
bool verbose = true, int timeout = 0);
|
bool verbose = true, int timeout = 0);
|
||||||
|
|
||||||
///! for windows return the short path for the given path, unix just a pass through
|
|
||||||
static bool GetShortPath(const char* path, std::string& result);
|
|
||||||
|
|
||||||
///! change directory the the directory specified
|
|
||||||
static int ChangeDirectory(const char* dir);
|
|
||||||
|
|
||||||
static void EnableMessages() { s_DisableMessages = false; }
|
static void EnableMessages() { s_DisableMessages = false; }
|
||||||
static void DisableMessages() { s_DisableMessages = true; }
|
static void DisableMessages() { s_DisableMessages = true; }
|
||||||
|
@ -333,10 +168,6 @@ public:
|
||||||
static void EnableRunCommandOutput() {s_DisableRunCommandOutput = false; }
|
static void EnableRunCommandOutput() {s_DisableRunCommandOutput = false; }
|
||||||
static bool GetRunCommandOutput() { return s_DisableRunCommandOutput; }
|
static bool GetRunCommandOutput() { return s_DisableRunCommandOutput; }
|
||||||
|
|
||||||
/** Split a string on its newlines into multiple lines. Returns
|
|
||||||
false only if the last line stored had no newline. */
|
|
||||||
static bool Split(const char* s, std::vector<cmStdString>& l);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Come constants for different file formats.
|
* Come constants for different file formats.
|
||||||
*/
|
*/
|
||||||
|
@ -360,8 +191,6 @@ public:
|
||||||
*/
|
*/
|
||||||
static FileFormat GetFileFormat(const char* ext);
|
static FileFormat GetFileFormat(const char* ext);
|
||||||
|
|
||||||
static std::string GetCurrentDateTime(const char* format);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On Windows 9x we need a comspec (command.com) substitute to run
|
* On Windows 9x we need a comspec (command.com) substitute to run
|
||||||
* programs correctly. This string has to be constant available
|
* programs correctly. This string has to be constant available
|
||||||
|
@ -380,35 +209,9 @@ public:
|
||||||
*/
|
*/
|
||||||
static void ReportLastSystemError(const char* m);
|
static void ReportLastSystemError(const char* m);
|
||||||
|
|
||||||
/** When building DEBUG with MSVC, this enables a hook that prevents
|
/** Split a string on its newlines into multiple lines. Returns
|
||||||
* error dialogs from popping up if the program is being run from
|
false only if the last line stored had no newline. */
|
||||||
* DART.
|
static bool Split(const char* s, std::vector<cmStdString>& l);
|
||||||
*/
|
|
||||||
static void EnableMSVCDebugHook();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Read line from file. Make sure to get everything. Due to a buggy stream
|
|
||||||
* library on the HP and another on Mac OSX, we need this very carefully
|
|
||||||
* written version of getline. Returns true if any data were read before the
|
|
||||||
* end-of-file was reached.
|
|
||||||
*/
|
|
||||||
static bool GetLineFromStream(std::istream& istr, std::string& line);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
// these two functions can be called from ConvertToOutputPath
|
|
||||||
/**
|
|
||||||
* Convert the path to a string that can be used in a unix makefile.
|
|
||||||
* double slashes are removed, and spaces are escaped.
|
|
||||||
*/
|
|
||||||
static std::string ConvertToUnixOutputPath(const char*);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert the path to string that can be used in a windows project or
|
|
||||||
* makefile. Double slashes are removed if they are not at the start of
|
|
||||||
* the string, the slashes are converted to windows style backslashes, and
|
|
||||||
* if there are spaces in the string it is double quoted.
|
|
||||||
*/
|
|
||||||
static std::string ConvertToWindowsOutputPath(const char*);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static bool s_RunCommandHideConsole;
|
static bool s_RunCommandHideConsole;
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
#include "cmCacheManager.h"
|
#include "cmCacheManager.h"
|
||||||
#include "cmListFileCache.h"
|
#include "cmListFileCache.h"
|
||||||
|
|
||||||
|
#include <cmsys/Directory.hxx>
|
||||||
|
|
||||||
int cmTryCompileCommand::CoreTryCompileCode(
|
int cmTryCompileCommand::CoreTryCompileCode(
|
||||||
cmMakefile *mf, std::vector<std::string> const& argv, bool clean)
|
cmMakefile *mf, std::vector<std::string> const& argv, bool clean)
|
||||||
{
|
{
|
||||||
|
@ -263,7 +265,7 @@ void cmTryCompileCommand::CleanupFiles(const char* binDir)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
cmDirectory dir;
|
cmsys::Directory dir;
|
||||||
dir.Load(binDir);
|
dir.Load(binDir);
|
||||||
size_t fileNum;
|
size_t fileNum;
|
||||||
for (fileNum = 0; fileNum < dir.GetNumberOfFiles(); ++fileNum)
|
for (fileNum = 0; fileNum < dir.GetNumberOfFiles(); ++fileNum)
|
||||||
|
|
|
@ -6,6 +6,7 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
|
||||||
|
|
||||||
# Link to CMake lib
|
# Link to CMake lib
|
||||||
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
|
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
|
||||||
|
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source/kwsys)
|
||||||
# Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
|
# Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
|
||||||
SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
|
SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
|
||||||
LINK_LIBRARIES(${COMPLEX_LIBS})
|
LINK_LIBRARIES(${COMPLEX_LIBS})
|
||||||
|
@ -13,9 +14,9 @@ LINK_LIBRARIES(${COMPLEX_LIBS})
|
||||||
|
|
||||||
ADD_EXECUTABLE(complex complex)
|
ADD_EXECUTABLE(complex complex)
|
||||||
IF (UNIX)
|
IF (UNIX)
|
||||||
TARGET_LINK_LIBRARIES(complex CMakeLib ${CMAKE_DL_LIBS})
|
TARGET_LINK_LIBRARIES(complex CMakeLib cmsys ${CMAKE_DL_LIBS})
|
||||||
ELSE(UNIX)
|
ELSE(UNIX)
|
||||||
TARGET_LINK_LIBRARIES(complex CMakeLib)
|
TARGET_LINK_LIBRARIES(complex CMakeLib cmsys)
|
||||||
IF (NOT BORLAND)
|
IF (NOT BORLAND)
|
||||||
TARGET_LINK_LIBRARIES(complex rpcrt4.lib)
|
TARGET_LINK_LIBRARIES(complex rpcrt4.lib)
|
||||||
ENDIF(NOT BORLAND)
|
ENDIF(NOT BORLAND)
|
||||||
|
|
|
@ -6,6 +6,7 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
|
||||||
|
|
||||||
# Link to CMake lib
|
# Link to CMake lib
|
||||||
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
|
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
|
||||||
|
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source/kwsys)
|
||||||
# Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
|
# Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
|
||||||
SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
|
SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
|
||||||
LINK_LIBRARIES(${COMPLEX_LIBS})
|
LINK_LIBRARIES(${COMPLEX_LIBS})
|
||||||
|
@ -13,9 +14,9 @@ LINK_LIBRARIES(${COMPLEX_LIBS})
|
||||||
|
|
||||||
ADD_EXECUTABLE(complex complex)
|
ADD_EXECUTABLE(complex complex)
|
||||||
IF (UNIX)
|
IF (UNIX)
|
||||||
TARGET_LINK_LIBRARIES(complex CMakeLib ${CMAKE_DL_LIBS})
|
TARGET_LINK_LIBRARIES(complex CMakeLib cmsys ${CMAKE_DL_LIBS})
|
||||||
ELSE(UNIX)
|
ELSE(UNIX)
|
||||||
TARGET_LINK_LIBRARIES(complex CMakeLib)
|
TARGET_LINK_LIBRARIES(complex CMakeLib cmsys)
|
||||||
IF (NOT BORLAND)
|
IF (NOT BORLAND)
|
||||||
TARGET_LINK_LIBRARIES(complex rpcrt4.lib)
|
TARGET_LINK_LIBRARIES(complex rpcrt4.lib)
|
||||||
ENDIF(NOT BORLAND)
|
ENDIF(NOT BORLAND)
|
||||||
|
|
|
@ -6,6 +6,7 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
|
||||||
|
|
||||||
# Link to CMake lib
|
# Link to CMake lib
|
||||||
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
|
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
|
||||||
|
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source/kwsys)
|
||||||
# Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
|
# Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
|
||||||
SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
|
SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
|
||||||
LINK_LIBRARIES(${COMPLEX_LIBS})
|
LINK_LIBRARIES(${COMPLEX_LIBS})
|
||||||
|
@ -13,9 +14,9 @@ LINK_LIBRARIES(${COMPLEX_LIBS})
|
||||||
|
|
||||||
ADD_EXECUTABLE(complex complex)
|
ADD_EXECUTABLE(complex complex)
|
||||||
IF (UNIX)
|
IF (UNIX)
|
||||||
TARGET_LINK_LIBRARIES(complex CMakeLib ${CMAKE_DL_LIBS})
|
TARGET_LINK_LIBRARIES(complex CMakeLib cmsys ${CMAKE_DL_LIBS})
|
||||||
ELSE(UNIX)
|
ELSE(UNIX)
|
||||||
TARGET_LINK_LIBRARIES(complex CMakeLib)
|
TARGET_LINK_LIBRARIES(complex CMakeLib cmsys)
|
||||||
IF (NOT BORLAND)
|
IF (NOT BORLAND)
|
||||||
TARGET_LINK_LIBRARIES(complex rpcrt4.lib)
|
TARGET_LINK_LIBRARIES(complex rpcrt4.lib)
|
||||||
ENDIF(NOT BORLAND)
|
ENDIF(NOT BORLAND)
|
||||||
|
|
67
bootstrap
67
bootstrap
|
@ -33,7 +33,6 @@ CMAKE_SOURCES="\
|
||||||
cmRegularExpression \
|
cmRegularExpression \
|
||||||
cmSourceFile \
|
cmSourceFile \
|
||||||
cmSystemTools \
|
cmSystemTools \
|
||||||
cmDirectory \
|
|
||||||
cmGlobalUnixMakefileGenerator \
|
cmGlobalUnixMakefileGenerator \
|
||||||
cmLocalUnixMakefileGenerator \
|
cmLocalUnixMakefileGenerator \
|
||||||
cmCommands \
|
cmCommands \
|
||||||
|
@ -44,6 +43,24 @@ CMAKE_SOURCES="\
|
||||||
cmVariableWatch \
|
cmVariableWatch \
|
||||||
cmSourceGroup"
|
cmSourceGroup"
|
||||||
|
|
||||||
|
KWSYS_SOURCES="\
|
||||||
|
Directory \
|
||||||
|
RegularExpression \
|
||||||
|
SystemTools"
|
||||||
|
|
||||||
|
KWSYS_FILES="\
|
||||||
|
Directory.hxx \
|
||||||
|
Process.h \
|
||||||
|
RegularExpression.hxx \
|
||||||
|
StandardIncludes.hxx \
|
||||||
|
SystemTools.hxx"
|
||||||
|
|
||||||
|
KWSYS_STD_FILES="
|
||||||
|
fstream \
|
||||||
|
iosfwd \
|
||||||
|
iostream \
|
||||||
|
sstream"
|
||||||
|
|
||||||
cmake_system=`uname`
|
cmake_system=`uname`
|
||||||
|
|
||||||
cmake_source_dir=`echo $0 | sed -n '/\//{s/\/[^\/]*$//;p;}'`
|
cmake_source_dir=`echo $0 | sed -n '/\//{s/\/[^\/]*$//;p;}'`
|
||||||
|
@ -117,6 +134,8 @@ cmake_replace_string ()
|
||||||
mv -f "${OUTFILE}.tmp" "${OUTFILE}"
|
mv -f "${OUTFILE}.tmp" "${OUTFILE}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
cmake_error "Cannot find file ${INFILE}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -251,6 +270,16 @@ if [ ! -d "${cmake_bootstrap_dir}" ]; then
|
||||||
fi
|
fi
|
||||||
cd "${cmake_bootstrap_dir}"
|
cd "${cmake_bootstrap_dir}"
|
||||||
|
|
||||||
|
[ -d "cmsys" ] || mkdir "cmsys"
|
||||||
|
if [ ! -d "cmsys" ]; then
|
||||||
|
cmake_error "Cannot create directory ${cmake_bootstrap_dir}/cmsys"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -d "cmsys/std" ] || mkdir "cmsys/std"
|
||||||
|
if [ ! -d "cmsys/std" ]; then
|
||||||
|
cmake_error "Cannot create directory ${cmake_bootstrap_dir}/cmsys/std"
|
||||||
|
fi
|
||||||
|
|
||||||
# Delete all the bootstrap files
|
# Delete all the bootstrap files
|
||||||
rm -f "${cmake_bootstrap_dir}/cmake_bootstrap.log"
|
rm -f "${cmake_bootstrap_dir}/cmake_bootstrap.log"
|
||||||
|
|
||||||
|
@ -406,9 +435,12 @@ cmake_report cmConfigure.h.tmp " */"
|
||||||
# Test for STD namespace
|
# Test for STD namespace
|
||||||
if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags}" "${cmake_source_dir}/Modules/TestForSTDNamespace.cxx" >> cmake_bootstrap.log 2>&1; then
|
if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags}" "${cmake_source_dir}/Modules/TestForSTDNamespace.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||||
cmake_report cmConfigure.h.tmp "/* #undef CMAKE_NO_STD_NAMESPACE */"
|
cmake_report cmConfigure.h.tmp "/* #undef CMAKE_NO_STD_NAMESPACE */"
|
||||||
|
cmake_report cmConfigure.h.tmp "#define cmsys_std std"
|
||||||
echo "${cmake_cxx_compiler} has STD namespace"
|
echo "${cmake_cxx_compiler} has STD namespace"
|
||||||
else
|
else
|
||||||
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_STD_NAMESPACE 1"
|
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_STD_NAMESPACE 1"
|
||||||
|
cmake_report cmConfigure.h.tmp "#define KWSYS_NO_STD_NAMESPACE"
|
||||||
|
cmake_report cmConfigure.h.tmp "#define cmsys_std"
|
||||||
echo "${cmake_cxx_compiler} does not have STD namespace"
|
echo "${cmake_cxx_compiler} does not have STD namespace"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -418,6 +450,8 @@ if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags}" "${cmake_source_di
|
||||||
echo "${cmake_cxx_compiler} has ANSI stream headers"
|
echo "${cmake_cxx_compiler} has ANSI stream headers"
|
||||||
else
|
else
|
||||||
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_ANSI_STREAM_HEADERS 1"
|
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_ANSI_STREAM_HEADERS 1"
|
||||||
|
cmake_report cmConfigure.h.tmp "#define KWSYS_NO_ANSI_STREAM_HEADERS 1"
|
||||||
|
cmake_report cmConfigure.h.tmp "#define cmsys_NO_ANSI_STREAM_HEADERS"
|
||||||
echo "${cmake_cxx_compiler} does not have ANSI stream headers"
|
echo "${cmake_cxx_compiler} does not have ANSI stream headers"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -432,6 +466,8 @@ if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags}" "${TMPFILE}.cxx" >
|
||||||
echo "${cmake_cxx_compiler} has ANSI string streams"
|
echo "${cmake_cxx_compiler} has ANSI string streams"
|
||||||
else
|
else
|
||||||
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_ANSI_STRING_STREAM 1"
|
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_ANSI_STRING_STREAM 1"
|
||||||
|
cmake_report cmConfigure.h.tmp "#define KWSYS_NO_ANSI_STRING_STREAM 1"
|
||||||
|
cmake_report cmConfigure.h.tmp "#define cmsys_NO_ANSI_STRING_STREAM 1"
|
||||||
echo "${cmake_cxx_compiler} does not have ANSI string streams"
|
echo "${cmake_cxx_compiler} does not have ANSI string streams"
|
||||||
fi
|
fi
|
||||||
rm -f "${TMPFILE}.cxx"
|
rm -f "${TMPFILE}.cxx"
|
||||||
|
@ -444,6 +480,11 @@ else
|
||||||
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_ANSI_FOR_SCOPE 1"
|
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_ANSI_FOR_SCOPE 1"
|
||||||
echo "${cmake_cxx_compiler} does not have ANSI for scoping"
|
echo "${cmake_cxx_compiler} does not have ANSI for scoping"
|
||||||
fi
|
fi
|
||||||
|
cmake_report cmConfigure.h.tmp "/* Defined if std namespace is the GCC hack. */"
|
||||||
|
cmake_report cmConfigure.h.tmp "#if defined(__GNUC__) && (__GNUC__ < 3)"
|
||||||
|
cmake_report cmConfigure.h.tmp "# define cmsys_FAKE_STD_NAMESPACE"
|
||||||
|
cmake_report cmConfigure.h.tmp "#endif"
|
||||||
|
cmake_report cmConfigure.h.tmp "#define kwsys_std cmsys_std"
|
||||||
|
|
||||||
# Write CMake version
|
# Write CMake version
|
||||||
for a in MAJOR MINOR PATCH; do
|
for a in MAJOR MINOR PATCH; do
|
||||||
|
@ -458,12 +499,29 @@ if diff cmConfigure.h cmConfigure.h.tmp > /dev/null 2> /dev/null; then
|
||||||
rm -f cmConfigure.h.tmp
|
rm -f cmConfigure.h.tmp
|
||||||
else
|
else
|
||||||
mv -f cmConfigure.h.tmp cmConfigure.h
|
mv -f cmConfigure.h.tmp cmConfigure.h
|
||||||
|
cp cmConfigure.h cmsys/Configure.hxx
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Prepare KWSYS
|
||||||
|
for a in ${KWSYS_FILES}; do
|
||||||
|
cmake_replace_string "${cmake_source_dir}/Source/kwsys/${a}.in" \
|
||||||
|
"${cmake_bootstrap_dir}/cmsys/${a}" KWSYS_NAMESPACE cmsys
|
||||||
|
done
|
||||||
|
for a in ${KWSYS_STD_FILES}; do
|
||||||
|
cmake_replace_string "${cmake_source_dir}/Source/kwsys/kwsys_std_${a}.h.in" \
|
||||||
|
"${cmake_bootstrap_dir}/cmsys/std/${a}" KWSYS_NAMESPACE cmsys
|
||||||
|
done
|
||||||
|
cmake_replace_string "${cmake_source_dir}/Source/kwsys/kwsys_std.h.in" \
|
||||||
|
"${cmake_bootstrap_dir}/cmsys/std/stl.h.in" KWSYS_NAMESPACE cmsys
|
||||||
|
for a in string vector; do
|
||||||
|
cmake_replace_string "${cmake_bootstrap_dir}/cmsys/std/stl.h.in" \
|
||||||
|
"${cmake_bootstrap_dir}/cmsys/std/${a}" KWSYS_STL_HEADER ${a}
|
||||||
|
done
|
||||||
|
|
||||||
# Generate Makefile
|
# Generate Makefile
|
||||||
dep="cmConfigure.h `cmake_escape \"${cmake_source_dir}\"`/Source/*.h"
|
dep="cmConfigure.h `cmake_escape \"${cmake_source_dir}\"`/Source/*.h"
|
||||||
objs=""
|
objs=""
|
||||||
for a in ${CMAKE_SOURCES}; do
|
for a in ${CMAKE_SOURCES} ${KWSYS_SOURCES}; do
|
||||||
objs="${objs} ${a}.o"
|
objs="${objs} ${a}.o"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -483,6 +541,11 @@ for a in ${CMAKE_SOURCES}; do
|
||||||
echo "${a}.o : ${src} ${dep}" >> "${cmake_bootstrap_dir}/Makefile"
|
echo "${a}.o : ${src} ${dep}" >> "${cmake_bootstrap_dir}/Makefile"
|
||||||
echo " ${cmake_cxx_compiler} ${cmake_cxx_flags} -c ${src} -o ${a}.o" >> "${cmake_bootstrap_dir}/Makefile"
|
echo " ${cmake_cxx_compiler} ${cmake_cxx_flags} -c ${src} -o ${a}.o" >> "${cmake_bootstrap_dir}/Makefile"
|
||||||
done
|
done
|
||||||
|
for a in ${KWSYS_SOURCES}; do
|
||||||
|
src=`cmake_escape "${cmake_source_dir}/Source/kwsys/${a}.cxx"`
|
||||||
|
echo "${a}.o : ${src} ${dep}" >> "${cmake_bootstrap_dir}/Makefile"
|
||||||
|
echo " ${cmake_cxx_compiler} ${cmake_cxx_flags} -I`cmake_escape \"${cmake_bootstrap_dir}/cmsys\"` -DKWSYS_NAMESPACE=cmsys -c ${src} -o ${a}.o" >> "${cmake_bootstrap_dir}/Makefile"
|
||||||
|
done
|
||||||
|
|
||||||
# Write prefix to Bootstrap.cmk/InitialConfigureFlags.cmake
|
# Write prefix to Bootstrap.cmk/InitialConfigureFlags.cmake
|
||||||
echo "SET (CMAKE_CONFIGURE_INSTALL_PREFIX \"${cmake_prefix_dir}\" CACHE PATH \"Install path prefix, prepended onto install directories, For CMake this will always override CMAKE_INSTALL_PREFIX in the cache.\")" > "${cmake_bootstrap_dir}/InitialConfigureFlags.cmake"
|
echo "SET (CMAKE_CONFIGURE_INSTALL_PREFIX \"${cmake_prefix_dir}\" CACHE PATH \"Install path prefix, prepended onto install directories, For CMake this will always override CMAKE_INSTALL_PREFIX in the cache.\")" > "${cmake_bootstrap_dir}/InitialConfigureFlags.cmake"
|
||||||
|
|
Loading…
Reference in New Issue