remove unused files
This commit is contained in:
parent
e802482b27
commit
de316cac05
|
@ -63,9 +63,7 @@ IF (WIN32)
|
|||
cmGlobalVisualStudio7Generator.cxx
|
||||
cmLocalVisualStudio7Generator.cxx
|
||||
cmGlobalBorlandMakefileGenerator.h
|
||||
cmLocalBorlandMakefileGenerator.h
|
||||
cmGlobalNMakeMakefileGenerator.h
|
||||
cmLocalNMakeMakefileGenerator.h
|
||||
cmGlobalVisualStudio6Generator.h
|
||||
cmLocalVisualStudio6Generator.h
|
||||
cmGlobalVisualStudio7Generator.h
|
||||
|
|
|
@ -1,432 +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 "cmLocalBorlandMakefileGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmStandardIncludes.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmSourceFile.h"
|
||||
#include "cmMakeDepend.h"
|
||||
#include "cmCacheManager.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "windows.h"
|
||||
#include <stdio.h>
|
||||
|
||||
cmLocalBorlandMakefileGenerator::cmLocalBorlandMakefileGenerator()
|
||||
{
|
||||
this->SetLibraryPathOption("-L");
|
||||
this->SetLibraryLinkOption("");
|
||||
}
|
||||
|
||||
cmLocalBorlandMakefileGenerator::~cmLocalBorlandMakefileGenerator()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void cmLocalBorlandMakefileGenerator::OutputMakeVariables(std::ostream& fout)
|
||||
{
|
||||
fout << "# NMake Makefile generated by cmake\n";
|
||||
const char* variables =
|
||||
"# general varibles used in the makefile\n"
|
||||
"\n"
|
||||
"CMAKE_STANDARD_WINDOWS_LIBRARIES = @CMAKE_STANDARD_WINDOWS_LIBRARIES@\n"
|
||||
"CMAKE_C_FLAGS = @CMAKE_C_FLAGS@ @BUILD_FLAGS@\n"
|
||||
"CMAKE_OBJECT_FILE_SUFFIX = @CMAKE_OBJECT_FILE_SUFFIX@\n"
|
||||
"CMAKE_EXECUTABLE_SUFFIX = @CMAKE_EXECUTABLE_SUFFIX@\n"
|
||||
"CMAKE_STATICLIB_SUFFIX = @CMAKE_STATICLIB_SUFFIX@\n"
|
||||
"CMAKE_SHLIB_SUFFIX = @CMAKE_SHLIB_SUFFIX@\n"
|
||||
"CMAKE_SHLIB_CFLAGS = -tWR\n"
|
||||
"CMAKE_LINKER_FLAGS = @CMAKE_LINKER_FLAGS@ @LINKER_BUILD_FLAGS@\n"
|
||||
"CMAKE_CXX_FLAGS = -P @CMAKE_CXX_FLAGS@ @BUILD_FLAGS@\n"
|
||||
"!IF \"$(OS)\" == \"Windows_NT\"\n"
|
||||
"NULL=\n"
|
||||
"!ELSE \n"
|
||||
"NULL=nul\n"
|
||||
"!ENDIF \n";
|
||||
std::string buildType = "CMAKE_CXX_FLAGS_";
|
||||
buildType += m_Makefile->GetDefinition("CMAKE_BUILD_TYPE");
|
||||
buildType = cmSystemTools::UpperCase(buildType);
|
||||
m_Makefile->AddDefinition("BUILD_FLAGS",
|
||||
m_Makefile->GetDefinition(
|
||||
buildType.c_str()));
|
||||
|
||||
buildType = "CMAKE_LINKER_FLAGS_";
|
||||
buildType += m_Makefile->GetDefinition("CMAKE_BUILD_TYPE");
|
||||
buildType = cmSystemTools::UpperCase(buildType);
|
||||
m_Makefile->AddDefinition("LINKER_BUILD_FLAGS",
|
||||
m_Makefile->GetDefinition(
|
||||
buildType.c_str()));
|
||||
|
||||
std::string replaceVars = variables;
|
||||
m_Makefile->ExpandVariablesInString(replaceVars);
|
||||
std::string ccompiler = m_Makefile->GetDefinition("CMAKE_C_COMPILER");
|
||||
fout << "CMAKE_C_COMPILER = "
|
||||
<< cmSystemTools::ConvertToOutputPath(ccompiler.c_str())
|
||||
<< "\n";
|
||||
std::string cxxcompiler = m_Makefile->GetDefinition("CMAKE_CXX_COMPILER");
|
||||
fout << "CMAKE_CXX_COMPILER = "
|
||||
<< cmSystemTools::ConvertToOutputPath(cxxcompiler.c_str())
|
||||
<< "\n";
|
||||
|
||||
if(m_Makefile->GetDefinition("CMAKE_EDIT_COMMAND"))
|
||||
{
|
||||
fout << "CMAKE_EDIT_COMMAND = "
|
||||
<< this->ShortPath(m_Makefile->GetDefinition("CMAKE_EDIT_COMMAND"))
|
||||
<< "\n";
|
||||
}
|
||||
|
||||
std::string cmakecommand = m_Makefile->GetDefinition("CMAKE_COMMAND");
|
||||
fout << "CMAKE_COMMAND = "
|
||||
<< this->ShortPath(cmakecommand.c_str()) << "\n";
|
||||
fout << "RM = " << this->ShortPath(cmakecommand.c_str()) << " -E remove -f\n";
|
||||
|
||||
fout << replaceVars.c_str();
|
||||
fout << "CMAKE_CURRENT_SOURCE = "
|
||||
<< ShortPath(m_Makefile->GetStartDirectory() )
|
||||
<< "\n";
|
||||
fout << "CMAKE_CURRENT_BINARY = "
|
||||
<< ShortPath(m_Makefile->GetStartOutputDirectory())
|
||||
<< "\n";
|
||||
fout << "CMAKE_SOURCE_DIR = "
|
||||
<< ShortPath(m_Makefile->GetHomeDirectory()) << "\n";
|
||||
fout << "CMAKE_BINARY_DIR = "
|
||||
<< ShortPath(m_Makefile->GetHomeOutputDirectory() )
|
||||
<< "\n";
|
||||
// Output Include paths
|
||||
fout << "INCLUDE_FLAGS = ";
|
||||
std::vector<std::string>& includes = m_Makefile->GetIncludeDirectories();
|
||||
std::vector<std::string>::iterator i;
|
||||
fout << "-I" <<
|
||||
this->ShortPath(m_Makefile->GetStartDirectory()) << " ";
|
||||
for(i = includes.begin(); i != includes.end(); ++i)
|
||||
{
|
||||
std::string include = *i;
|
||||
// Don't output a -I for the standard include path "/usr/include".
|
||||
// This can cause problems with certain standard library
|
||||
// implementations because the wrong headers may be found first.
|
||||
fout << "-I" << cmSystemTools::ConvertToOutputPath(i->c_str()).c_str() << " ";
|
||||
}
|
||||
fout << m_Makefile->GetDefineFlags();
|
||||
fout << "\n\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
cmLocalBorlandMakefileGenerator::
|
||||
OutputBuildObjectFromSource(std::ostream& fout,
|
||||
const char* shortName,
|
||||
const cmSourceFile& source,
|
||||
const char* extraCompileFlags,
|
||||
bool shared)
|
||||
{
|
||||
// force shared flag if building shared libraries
|
||||
if(cmSystemTools::IsOn(m_Makefile->GetDefinition("BUILD_SHARED_LIBS")))
|
||||
{
|
||||
shared = true;
|
||||
}
|
||||
// Header files shouldn't have build rules.
|
||||
if(source.GetPropertyAsBool("HEADER_FILE_ONLY"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
std::string comment = "Build ";
|
||||
std::string objectFile = std::string(shortName) +
|
||||
this->GetOutputExtension(source.GetSourceExtension().c_str());
|
||||
objectFile = cmSystemTools::ConvertToOutputPath(objectFile.c_str());
|
||||
comment += objectFile + " From ";
|
||||
comment += source.GetFullPath();
|
||||
std::string compileCommand;
|
||||
std::string ext = source.GetSourceExtension();
|
||||
if(ext == "c" )
|
||||
{
|
||||
compileCommand = "$(CMAKE_C_COMPILER) $(CMAKE_C_FLAGS) ";
|
||||
compileCommand += extraCompileFlags;
|
||||
if(shared)
|
||||
{
|
||||
compileCommand += "$(CMAKE_SHLIB_CFLAGS) ";
|
||||
}
|
||||
compileCommand += " -o";
|
||||
compileCommand += objectFile;
|
||||
compileCommand += " $(INCLUDE_FLAGS) -c ";
|
||||
compileCommand +=
|
||||
cmSystemTools::ConvertToOutputPath(source.GetFullPath().c_str());
|
||||
}
|
||||
else if (ext == "rc")
|
||||
{
|
||||
compileCommand = "$(RC) $(INCLUDE_FLAGS) -o\"";
|
||||
compileCommand += objectFile;
|
||||
compileCommand += "\" ";
|
||||
compileCommand +=
|
||||
cmSystemTools::ConvertToOutputPath(source.GetFullPath().c_str());
|
||||
}
|
||||
else if (ext == "def")
|
||||
{
|
||||
// no rule to output for this one
|
||||
return;
|
||||
}
|
||||
// assume c++ if not c rc or def
|
||||
else
|
||||
{
|
||||
compileCommand = "$(CMAKE_CXX_COMPILER) $(CMAKE_CXX_FLAGS) ";
|
||||
compileCommand += extraCompileFlags;
|
||||
if(shared)
|
||||
{
|
||||
compileCommand += "$(CMAKE_SHLIB_CFLAGS) ";
|
||||
}
|
||||
compileCommand += " -o";
|
||||
compileCommand += objectFile;
|
||||
compileCommand += " $(INCLUDE_FLAGS) -c ";
|
||||
compileCommand +=
|
||||
cmSystemTools::ConvertToOutputPath(source.GetFullPath().c_str());
|
||||
}
|
||||
this->OutputMakeRule(fout,
|
||||
comment.c_str(),
|
||||
objectFile.c_str(),
|
||||
cmSystemTools::ConvertToOutputPath(
|
||||
source.GetFullPath().c_str()).c_str(),
|
||||
compileCommand.c_str());
|
||||
}
|
||||
|
||||
void cmLocalBorlandMakefileGenerator::OutputSharedLibraryRule(std::ostream& fout,
|
||||
const char* name,
|
||||
const cmTarget &t)
|
||||
{
|
||||
std::string target = m_LibraryOutputPath + name;
|
||||
std::string libpath = target + ".lib";
|
||||
target += ".dll";
|
||||
target = cmSystemTools::ConvertToOutputPath(target.c_str());
|
||||
libpath = cmSystemTools::ConvertToOutputPath(libpath.c_str());
|
||||
std::string depend = "$(";
|
||||
depend += this->CreateMakeVariable(name, "_SRC_OBJS");
|
||||
depend += ") $(" + this->CreateMakeVariable(name, "_DEPEND_LIBS") + ")";
|
||||
std::string command = "$(CMAKE_CXX_COMPILER) -tWD $(CMAKE_SHLIB_CFLAGS) $(CMAKE_LINKER_FLAGS) @&&|\n";
|
||||
// must be executable name
|
||||
command += "-e";
|
||||
command += target;
|
||||
command += " ";
|
||||
cmOStringStream linklibs;
|
||||
this->OutputLinkLibraries(linklibs, name, t);
|
||||
// then the linker options -L and libraries (any other order will fail!)
|
||||
command += linklibs.str();
|
||||
// then list of object files
|
||||
command += " $(" + this->CreateMakeVariable(name, "_SRC_OBJS") + ") ";
|
||||
std::string command2 = "implib -w ";
|
||||
command2 += libpath + " " + target;
|
||||
const std::vector<cmSourceFile*>& sources = t.GetSourceFiles();
|
||||
for(std::vector<cmSourceFile*>::const_iterator i = sources.begin();
|
||||
i != sources.end(); ++i)
|
||||
{
|
||||
if((*i)->GetSourceExtension() == "def")
|
||||
{
|
||||
command += "";
|
||||
command += (*i)->GetFullPath();
|
||||
}
|
||||
}
|
||||
command += "\n|\n";
|
||||
|
||||
std::string customCommands = this->CreateTargetRules(t, name);
|
||||
const char* cc = 0;
|
||||
if(customCommands.size() > 0)
|
||||
{
|
||||
cc = customCommands.c_str();
|
||||
}
|
||||
this->OutputMakeRule(fout, "rules for a shared library",
|
||||
target.c_str(),
|
||||
depend.c_str(),
|
||||
command.c_str(),
|
||||
command2.c_str(),
|
||||
cc);
|
||||
}
|
||||
|
||||
void cmLocalBorlandMakefileGenerator::OutputModuleLibraryRule(std::ostream& fout,
|
||||
const char* name,
|
||||
const cmTarget &target)
|
||||
{
|
||||
this->OutputSharedLibraryRule(fout, name, target);
|
||||
}
|
||||
|
||||
void cmLocalBorlandMakefileGenerator::OutputStaticLibraryRule(std::ostream& fout,
|
||||
const char* name,
|
||||
const cmTarget &t)
|
||||
{
|
||||
std::string target = m_LibraryOutputPath + std::string(name) + ".lib";
|
||||
target = cmSystemTools::ConvertToOutputPath(target.c_str());
|
||||
std::string depend = "$(";
|
||||
depend += this->CreateMakeVariable(name, "_SRC_OBJS") + ") ";
|
||||
std::string command = "tlib @&&|\n\t /p512 /a ";
|
||||
command += target;
|
||||
command += " ";
|
||||
std::string deleteCommand = "if exist ";
|
||||
deleteCommand += target;
|
||||
deleteCommand += " del ";
|
||||
deleteCommand += target;
|
||||
|
||||
command += " $(";
|
||||
command += this->CreateMakeVariable(name, "_SRC_OBJS_QUOTED") + ")";
|
||||
command += "\n|";
|
||||
std::string comment = "rule to build static library: ";
|
||||
comment += name;
|
||||
std::string customCommands = this->CreateTargetRules(t, name);
|
||||
const char* cc = 0;
|
||||
if(customCommands.size() > 0)
|
||||
{
|
||||
cc = customCommands.c_str();
|
||||
}
|
||||
this->OutputMakeRule(fout,
|
||||
comment.c_str(),
|
||||
target.c_str(),
|
||||
depend.c_str(),
|
||||
deleteCommand.c_str(),
|
||||
command.c_str(), cc);
|
||||
}
|
||||
|
||||
void cmLocalBorlandMakefileGenerator::OutputExecutableRule(std::ostream& fout,
|
||||
const char* name,
|
||||
const cmTarget &t)
|
||||
{
|
||||
std::string target = m_ExecutableOutputPath + name + m_ExecutableExtension;
|
||||
target = cmSystemTools::ConvertToOutputPath(target.c_str());
|
||||
std::string depend = "$(";
|
||||
depend += this->CreateMakeVariable(name, "_SRC_OBJS") + ") $(" +
|
||||
this->CreateMakeVariable(name, "_DEPEND_LIBS") + ")";
|
||||
std::string command =
|
||||
"$(CMAKE_CXX_COMPILER) @&&|\n";
|
||||
command += " $(CMAKE_LINKER_FLAGS) -e" + target;
|
||||
if(cmSystemTools::IsOn(m_Makefile->GetDefinition("BUILD_SHARED_LIBS")))
|
||||
{
|
||||
command += " $(CMAKE_SHLIB_CFLAGS) ";
|
||||
}
|
||||
if(t.GetType() == cmTarget::WIN32_EXECUTABLE)
|
||||
{
|
||||
command += "-tW -tWM ";
|
||||
}
|
||||
else
|
||||
{
|
||||
command += " -tWC ";
|
||||
}
|
||||
cmOStringStream linklibs;
|
||||
this->OutputLinkLibraries(linklibs, 0, t);
|
||||
command += linklibs.str();
|
||||
command += " $(" + this->CreateMakeVariable(name, "_SRC_OBJS") + ")";
|
||||
command += "\n|";
|
||||
std::string comment = "rule to build executable: ";
|
||||
comment += name;
|
||||
std::string customCommands = this->CreateTargetRules(t, name);
|
||||
const char* cc = 0;
|
||||
if(customCommands.size() > 0)
|
||||
{
|
||||
cc = customCommands.c_str();
|
||||
}
|
||||
this->OutputMakeRule(fout,
|
||||
comment.c_str(),
|
||||
target.c_str(),
|
||||
depend.c_str(),
|
||||
command.c_str(), cc);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
std::string cmLocalBorlandMakefileGenerator::GetOutputExtension(const char* s)
|
||||
{
|
||||
std::string sourceExtension = s;
|
||||
if(sourceExtension == "def")
|
||||
{
|
||||
return "";
|
||||
}
|
||||
if(sourceExtension == "ico" || sourceExtension == "rc2")
|
||||
{
|
||||
return "";
|
||||
}
|
||||
if(sourceExtension == "rc")
|
||||
{
|
||||
return ".res";
|
||||
}
|
||||
return ".obj";
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool cmLocalBorlandMakefileGenerator::SamePath(const char* path1, const char* path2)
|
||||
{
|
||||
// first check to see if they are the same anyway
|
||||
if (strcmp(path1, path2) == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
// next short path and lower case both of them for the compare
|
||||
return
|
||||
cmSystemTools::LowerCase(ShortPath(path1)) ==
|
||||
cmSystemTools::LowerCase(ShortPath(path2));
|
||||
}
|
||||
|
||||
|
||||
// borland make does not support variables that are longer than 32
|
||||
// so use this function to rename any long ones
|
||||
std::string cmLocalBorlandMakefileGenerator::CreateMakeVariable(const char* s, const char* s2)
|
||||
{
|
||||
std::string unmodified = s;
|
||||
unmodified += s2;
|
||||
// see if th
|
||||
std::map<cmStdString, cmStdString>::iterator i = m_MakeVariableMap.find(unmodified);
|
||||
if(i != m_MakeVariableMap.end())
|
||||
{
|
||||
return i->second;
|
||||
}
|
||||
std::string ret = unmodified;
|
||||
// if the string is greater the 32 chars it is an invalid vairable name
|
||||
// for borland make
|
||||
if(ret.size() > 32)
|
||||
{
|
||||
std::string str1 = s;
|
||||
std::string str2 = s2;
|
||||
// we must shorten the combined string by 4 charactors
|
||||
// keep no more than 24 charactors from the second string
|
||||
if(str2.size() > 24)
|
||||
{
|
||||
str2 = str2.substr(0, 24);
|
||||
}
|
||||
if(str1.size() + str2.size() > 27)
|
||||
{
|
||||
str1 = str1.substr(0, 27 - str2.size());
|
||||
}
|
||||
char buffer[5];
|
||||
int i = 0;
|
||||
sprintf(buffer, "%04d", i);
|
||||
ret = str1 + str2 + buffer;
|
||||
while(m_ShortMakeVariableMap.count(ret) && i < 1000)
|
||||
{
|
||||
++i;
|
||||
sprintf(buffer, "%04d", i);
|
||||
ret = str1 + str2 + buffer;
|
||||
}
|
||||
if(i == 1000)
|
||||
{
|
||||
cmSystemTools::Error("Borland makefile varible length too long");
|
||||
return unmodified;
|
||||
}
|
||||
// once an unused variable is found
|
||||
m_ShortMakeVariableMap[ret] = "1";
|
||||
}
|
||||
// always make an entry into the unmodified to varible map
|
||||
m_MakeVariableMap[unmodified] = ret;
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -1,60 +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 cmBorlandMakefileGenerator_h
|
||||
#define cmBorlandMakefileGenerator_h
|
||||
|
||||
#include "cmLocalNMakeMakefileGenerator.h"
|
||||
|
||||
/** \class cmLocalBorlandMakefileGenerator
|
||||
* \brief Write an Borland makefile.
|
||||
*
|
||||
* cmLocalBorlandMakefileGenerator produces a Unix makefile from its
|
||||
* member m_Makefile.
|
||||
*/
|
||||
class cmLocalBorlandMakefileGenerator : public cmLocalNMakeMakefileGenerator
|
||||
{
|
||||
public:
|
||||
///! Set cache only and recurse to false by default.
|
||||
cmLocalBorlandMakefileGenerator();
|
||||
|
||||
virtual ~cmLocalBorlandMakefileGenerator();
|
||||
|
||||
protected:
|
||||
virtual void OutputMakeVariables(std::ostream&);
|
||||
|
||||
virtual void OutputBuildObjectFromSource(std::ostream& fout,
|
||||
const char* shortName,
|
||||
const cmSourceFile& source,
|
||||
const char* extraCompileFlags,
|
||||
bool sharedTarget);
|
||||
virtual void OutputSharedLibraryRule(std::ostream&, const char* name,
|
||||
const cmTarget &);
|
||||
virtual void OutputModuleLibraryRule(std::ostream&, const char* name,
|
||||
const cmTarget &);
|
||||
virtual void OutputStaticLibraryRule(std::ostream&, const char* name,
|
||||
const cmTarget &);
|
||||
virtual void OutputExecutableRule(std::ostream&, const char* name,
|
||||
const cmTarget &);
|
||||
virtual std::string GetOutputExtension(const char* sourceExtension);
|
||||
///! return true if the two paths are the same (checks short paths)
|
||||
virtual bool SamePath(const char* path1, const char* path2);
|
||||
virtual std::string CreateMakeVariable(const char* s, const char* s2);
|
||||
std::map<cmStdString, cmStdString> m_MakeVariableMap;
|
||||
std::map<cmStdString, cmStdString> m_ShortMakeVariableMap;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,707 +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 "cmLocalNMakeMakefileGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmStandardIncludes.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmSourceFile.h"
|
||||
#include "cmMakeDepend.h"
|
||||
#include "cmCacheManager.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "windows.h"
|
||||
|
||||
|
||||
cmLocalNMakeMakefileGenerator::cmLocalNMakeMakefileGenerator()
|
||||
{
|
||||
this->SetLibraryPathOption("@CMAKE_C_LIBPATH_FLAG@"); // Use @ here
|
||||
this->SetObjectFileExtension("$(CMAKE_OBJECT_FILE_SUFFIX)");
|
||||
this->SetExecutableExtension("$(CMAKE_EXECUTABLE_SUFFIX)");
|
||||
this->SetLibraryPrefix("");
|
||||
this->SetStaticLibraryExtension("$(CMAKE_STATICLIB_SUFFIX)");
|
||||
this->SetSharedLibraryExtension("$(CMAKE_SHLIB_SUFFIX)");
|
||||
}
|
||||
|
||||
cmLocalNMakeMakefileGenerator::~cmLocalNMakeMakefileGenerator()
|
||||
{
|
||||
}
|
||||
|
||||
// convert to windows short paths if there are spaces
|
||||
// in path
|
||||
std::string cmLocalNMakeMakefileGenerator::ShortPath(const char* path)
|
||||
{
|
||||
std::string ret = path;
|
||||
// if there are no spaces in path, then just
|
||||
// call ConvertToOutputPath
|
||||
if(ret.find(' ') == std::string::npos)
|
||||
{
|
||||
return cmSystemTools::ConvertToOutputPath(path);
|
||||
}
|
||||
|
||||
// if there are spaces then call GetShortPathName to get rid of them
|
||||
if(!cmSystemTools::GetShortPath(path, ret))
|
||||
{
|
||||
// if GetShortPathName failed for some reason use
|
||||
// ConvertToOutputPath instead which will at least escape the spaces
|
||||
ret = cmSystemTools::ConvertToOutputPath(path);
|
||||
return ret;
|
||||
}
|
||||
ret = cmSystemTools::ConvertToOutputPath(ret.c_str());
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
// convert a command to a short path if it has spaces
|
||||
// this separates the arguments from the command and puts
|
||||
// them back together
|
||||
std::string cmLocalNMakeMakefileGenerator::ShortPathCommand(const char* command)
|
||||
{
|
||||
if (!command)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
if(!strchr(command, ' '))
|
||||
{
|
||||
return command;
|
||||
}
|
||||
cmRegularExpression reg("^\"([^\"]*)\"(.*)");
|
||||
if(reg.find(command))
|
||||
{
|
||||
std::string c = reg.match(1);
|
||||
cmRegularExpression removeIntDir("(.*)(/|\\\\)\\$\\(IntDir\\)(.*)");
|
||||
if(removeIntDir.find(c))
|
||||
{
|
||||
c = removeIntDir.match(1) + removeIntDir.match(3);
|
||||
}
|
||||
std::string unixPath = c;
|
||||
// since the command may already be a windows path, convert it
|
||||
// to unix so we can use SplitProgramPath on it.
|
||||
cmSystemTools::ConvertToUnixSlashes(unixPath);
|
||||
std::string path, file;
|
||||
cmSystemTools::SplitProgramPath(unixPath.c_str(), path, file);
|
||||
// do a short path on the directory, because ShortPath will
|
||||
// not work for files that do not exist
|
||||
path = this->ShortPath(path.c_str());
|
||||
// now put the two back together
|
||||
path += "\\";
|
||||
path += file;
|
||||
std::string ret = path;
|
||||
std::string args = reg.match(2);
|
||||
ret += args;
|
||||
return ret;
|
||||
}
|
||||
return command;
|
||||
}
|
||||
|
||||
void cmLocalNMakeMakefileGenerator::OutputMakeVariables(std::ostream& fout)
|
||||
{
|
||||
fout << "# NMake Makefile generated by cmake\n";
|
||||
const char* variables =
|
||||
"# general variables used in the makefile\n"
|
||||
"\n"
|
||||
"# Path to cmake\n"
|
||||
"MAKESILENT = /nologo\n"
|
||||
"CMAKE_STANDARD_WINDOWS_LIBRARIES = @CMAKE_STANDARD_WINDOWS_LIBRARIES@\n"
|
||||
"CMAKE_C_FLAGS = @CMAKE_C_FLAGS@ @BUILD_FLAGS@ -DWIN32\n"
|
||||
"CMAKE_C_LINK_EXECUTABLE_FLAG = @CMAKE_C_LINK_EXECUTABLE_FLAG@\n"
|
||||
"CMAKE_CXX_FLAGS = @CMAKE_CXX_FLAGS@ -DWIN32 @BUILD_FLAGS@\n"
|
||||
"CMAKE_LINKER_FLAGS = @CMAKE_LINKER_FLAGS@ @LINKER_BUILD_FLAGS@\n"
|
||||
"CMAKE_LINKER_SHARED_LIBRARY_FLAG = @CMAKE_LINKER_SHARED_LIBRARY_FLAG@\n"
|
||||
"CMAKE_LIBRARY_MANAGER_FLAGS = @CMAKE_LIBRARY_MANAGER_FLAGS@\n"
|
||||
"CMAKE_OBJECT_FILE_SUFFIX = @CMAKE_OBJECT_FILE_SUFFIX@\n"
|
||||
"CMAKE_EXECUTABLE_SUFFIX = @CMAKE_EXECUTABLE_SUFFIX@\n"
|
||||
"CMAKE_STATICLIB_SUFFIX = @CMAKE_STATICLIB_SUFFIX@\n"
|
||||
"CMAKE_SHLIB_SUFFIX = @CMAKE_SHLIB_SUFFIX@\n"
|
||||
"!IF \"$(OS)\" == \"Windows_NT\"\n"
|
||||
"NULL=\n"
|
||||
"!ELSE \n"
|
||||
"NULL=nul\n"
|
||||
"!ENDIF \n";
|
||||
|
||||
std::string buildType = "CMAKE_CXX_FLAGS_";
|
||||
buildType += m_Makefile->GetDefinition("CMAKE_BUILD_TYPE");
|
||||
buildType = cmSystemTools::UpperCase(buildType);
|
||||
m_Makefile->AddDefinition("BUILD_FLAGS",
|
||||
m_Makefile->GetDefinition(
|
||||
buildType.c_str()));
|
||||
|
||||
buildType = "CMAKE_LINKER_FLAGS_";
|
||||
buildType += m_Makefile->GetDefinition("CMAKE_BUILD_TYPE");
|
||||
buildType = cmSystemTools::UpperCase(buildType);
|
||||
m_Makefile->AddDefinition("LINKER_BUILD_FLAGS",
|
||||
m_Makefile->GetDefinition(
|
||||
buildType.c_str()));
|
||||
|
||||
std::string replaceVars = variables;
|
||||
m_Makefile->ExpandVariablesInString(replaceVars);
|
||||
fout << replaceVars.c_str();
|
||||
std::string ccompiler = m_Makefile->GetDefinition("CMAKE_C_COMPILER");
|
||||
fout << "CMAKE_C_COMPILER = "
|
||||
<< this->ShortPath(ccompiler.c_str()) << "\n";
|
||||
|
||||
std::string cxxcompiler = m_Makefile->GetDefinition("CMAKE_CXX_COMPILER");
|
||||
fout << "CMAKE_CXX_COMPILER = "
|
||||
<< this->ShortPath(cxxcompiler.c_str()) << "\n";
|
||||
|
||||
std::string linker = m_Makefile->GetDefinition("CMAKE_LINKER");
|
||||
fout << "CMAKE_LINKER = " <<
|
||||
this->ShortPath(linker.c_str()) << "\n";
|
||||
|
||||
std::string lib_manager = m_Makefile->GetDefinition("CMAKE_LIBRARY_MANAGER");
|
||||
fout << "CMAKE_LIBRARY_MANAGER = "
|
||||
<< this->ShortPath(lib_manager.c_str()) << "\n";
|
||||
|
||||
std::string cmakecommand = m_Makefile->GetDefinition("CMAKE_COMMAND");
|
||||
fout << "CMAKE_COMMAND = "
|
||||
<< this->ShortPath(cmakecommand.c_str()) << "\n";
|
||||
fout << "RM = " << this->ShortPath(cmakecommand.c_str()) << " -E remove -f\n";
|
||||
|
||||
if(m_Makefile->GetDefinition("CMAKE_EDIT_COMMAND"))
|
||||
{
|
||||
fout << "CMAKE_EDIT_COMMAND = "
|
||||
<< this->ShortPath(m_Makefile->GetDefinition("CMAKE_EDIT_COMMAND"))
|
||||
<< "\n";
|
||||
}
|
||||
|
||||
fout << "CMAKE_CURRENT_SOURCE = "
|
||||
<< this->ShortPath(m_Makefile->GetStartDirectory() )
|
||||
<< "\n";
|
||||
fout << "CMAKE_CURRENT_BINARY = "
|
||||
<< this->ShortPath(m_Makefile->GetStartOutputDirectory())
|
||||
<< "\n";
|
||||
fout << "CMAKE_SOURCE_DIR = "
|
||||
<< this->ShortPath(m_Makefile->GetHomeDirectory()) << "\n";
|
||||
fout << "CMAKE_BINARY_DIR = "
|
||||
<< this->ShortPath(m_Makefile->GetHomeOutputDirectory() )
|
||||
<< "\n";
|
||||
|
||||
// Output Include paths
|
||||
fout << "INCLUDE_FLAGS = ";
|
||||
std::vector<std::string>& includes = m_Makefile->GetIncludeDirectories();
|
||||
std::vector<std::string>::iterator i;
|
||||
fout << "-I" <<
|
||||
cmSystemTools::ConvertToOutputPath(m_Makefile->GetStartDirectory()) << " ";
|
||||
for(i = includes.begin(); i != includes.end(); ++i)
|
||||
{
|
||||
std::string include = *i;
|
||||
// Don't output a -I for the standard include path "/usr/include".
|
||||
// This can cause problems with certain standard library
|
||||
// implementations because the wrong headers may be found first.
|
||||
fout << "-I" << cmSystemTools::ConvertToOutputPath(i->c_str()).c_str() << " ";
|
||||
}
|
||||
|
||||
fout << m_Makefile->GetDefineFlags();
|
||||
fout << "\n\n";
|
||||
}
|
||||
|
||||
|
||||
void cmLocalNMakeMakefileGenerator::BuildInSubDirectory(std::ostream& fout,
|
||||
const char* directory,
|
||||
const char* target1,
|
||||
const char* target2,
|
||||
bool silent)
|
||||
{
|
||||
if(target1)
|
||||
{
|
||||
std::string dir = cmSystemTools::ConvertToOutputPath(directory);
|
||||
fout << "\tif not exist \"" << dir << "\\$(NULL)\""
|
||||
<< " "
|
||||
<< "$(MAKE) $(MAKESILENT) rebuild_cache\n";
|
||||
if (!silent)
|
||||
{
|
||||
fout << "\techo " << directory << ": building " << target1 << "\n";
|
||||
}
|
||||
fout << "\tcd " << dir << "\n"
|
||||
<< "\t$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) " << target1 << "\n";
|
||||
}
|
||||
if(target2)
|
||||
{
|
||||
if (!silent)
|
||||
{
|
||||
fout << "\techo " << directory << ": building " << target2 << "\n";
|
||||
}
|
||||
fout << "\t$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) " << target2 << "\n";
|
||||
}
|
||||
std::string currentDir = m_Makefile->GetCurrentOutputDirectory();
|
||||
fout << "\tcd " << cmSystemTools::ConvertToOutputPath(currentDir.c_str()) << "\n\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// This needs to be overriden because nmake requires commands to be quoted
|
||||
// if the are full paths to the executable????
|
||||
|
||||
void cmLocalNMakeMakefileGenerator::OutputMakeRule(std::ostream& fout,
|
||||
const char* comment,
|
||||
const char* target,
|
||||
const char* depends,
|
||||
const char* command,
|
||||
const char* command2,
|
||||
const char* command3,
|
||||
const char* command4)
|
||||
{
|
||||
std::string short_command;
|
||||
if (command)
|
||||
{
|
||||
short_command = ShortPathCommand(command);
|
||||
command = short_command.c_str();
|
||||
}
|
||||
|
||||
std::string short_command2;
|
||||
if (command2)
|
||||
{
|
||||
short_command2 = ShortPathCommand(command2);
|
||||
command2 = short_command2.c_str();
|
||||
}
|
||||
|
||||
std::string short_command3;
|
||||
if (command3)
|
||||
{
|
||||
short_command3 = ShortPathCommand(command3);
|
||||
command3 = short_command3.c_str();
|
||||
}
|
||||
|
||||
std::string short_command4;
|
||||
if (command4)
|
||||
{
|
||||
short_command4 = ShortPathCommand(command4);
|
||||
command4 = short_command4.c_str();
|
||||
}
|
||||
|
||||
cmLocalUnixMakefileGenerator::OutputMakeRule(fout, comment,
|
||||
target, depends,
|
||||
command, command2,
|
||||
command3, command4);
|
||||
return;
|
||||
}
|
||||
|
||||
void
|
||||
cmLocalNMakeMakefileGenerator::
|
||||
OutputBuildObjectFromSource(std::ostream& fout,
|
||||
const char* shortName,
|
||||
const cmSourceFile& source,
|
||||
const char* extraCompileFlags,
|
||||
bool shared)
|
||||
{
|
||||
// Header files shouldn't have build rules.
|
||||
if(source.GetPropertyAsBool("HEADER_FILE_ONLY"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
std::string comment = "Build ";
|
||||
std::string objectFile = std::string(shortName) +
|
||||
this->GetOutputExtension(source.GetSourceExtension().c_str());
|
||||
|
||||
comment += objectFile + " From ";
|
||||
comment += source.GetFullPath();
|
||||
std::string compileCommand;
|
||||
std::string ext = source.GetSourceExtension();
|
||||
if(ext == "c" )
|
||||
{
|
||||
compileCommand = "$(CMAKE_C_COMPILER) $(CMAKE_C_FLAGS) ";
|
||||
compileCommand += extraCompileFlags;
|
||||
if(shared)
|
||||
{
|
||||
compileCommand += "$(CMAKE_SHLIB_CFLAGS) ";
|
||||
}
|
||||
compileCommand += "$(INCLUDE_FLAGS) -c ";
|
||||
compileCommand +=
|
||||
cmSystemTools::ConvertToOutputPath(source.GetFullPath().c_str());
|
||||
|
||||
// Need to get the definition here because this value might have
|
||||
// trailing space (since it is directly prepended to the filename)
|
||||
std::string output_object_file_flag =
|
||||
m_Makefile->GetDefinition("CMAKE_C_OUTPUT_OBJECT_FILE_FLAG");
|
||||
m_Makefile->ExpandVariablesInString(output_object_file_flag);
|
||||
|
||||
compileCommand += " " + output_object_file_flag;
|
||||
compileCommand += objectFile;
|
||||
}
|
||||
else if (ext == "rc")
|
||||
{
|
||||
compileCommand = "$(RC) $(INCLUDE_FLAGS) /fo\"";
|
||||
compileCommand += objectFile;
|
||||
compileCommand += "\" ";
|
||||
compileCommand +=
|
||||
cmSystemTools::ConvertToOutputPath(source.GetFullPath().c_str());
|
||||
}
|
||||
else if (ext == "def")
|
||||
{
|
||||
// no rule to output for this one
|
||||
return;
|
||||
}
|
||||
// assume c++ if not c rc or def
|
||||
else
|
||||
{
|
||||
|
||||
compileCommand = "$(CMAKE_CXX_COMPILER) $(CMAKE_CXX_FLAGS) ";
|
||||
compileCommand += extraCompileFlags;
|
||||
if(shared)
|
||||
{
|
||||
compileCommand += "$(CMAKE_SHLIB_CFLAGS) ";
|
||||
}
|
||||
compileCommand += "$(INCLUDE_FLAGS) -c ";
|
||||
compileCommand +=
|
||||
cmSystemTools::ConvertToOutputPath(source.GetFullPath().c_str());
|
||||
|
||||
// Need to get the definition here because this value might have
|
||||
// trailing space (since it is directly prepended to the filename)
|
||||
std::string output_object_file_flag =
|
||||
m_Makefile->GetDefinition("CMAKE_C_OUTPUT_OBJECT_FILE_FLAG");
|
||||
m_Makefile->ExpandVariablesInString(output_object_file_flag);
|
||||
|
||||
compileCommand += " " + output_object_file_flag;
|
||||
compileCommand += objectFile;
|
||||
}
|
||||
|
||||
this->OutputMakeRule(fout,
|
||||
comment.c_str(),
|
||||
objectFile.c_str(),
|
||||
cmSystemTools::ConvertToOutputPath(
|
||||
source.GetFullPath().c_str()).c_str(),
|
||||
compileCommand.c_str());
|
||||
}
|
||||
|
||||
void cmLocalNMakeMakefileGenerator::OutputSharedLibraryRule(std::ostream& fout,
|
||||
const char* name,
|
||||
const cmTarget &t)
|
||||
{
|
||||
std::string target = m_LibraryOutputPath + name + m_SharedLibraryExtension;
|
||||
std::string depend = "$(";
|
||||
depend += this->CreateMakeVariable(name, "_SRC_OBJS");
|
||||
depend += ") $(" + this->CreateMakeVariable(name, "_DEPEND_LIBS") + ")";
|
||||
|
||||
// Need to get the definition here because this value might have
|
||||
// trailing space (since it is directly prepended to the filename)
|
||||
std::string linker_output_file_flag =
|
||||
m_Makefile->GetDefinition("CMAKE_LINKER_OUTPUT_FILE_FLAG");
|
||||
m_Makefile->ExpandVariablesInString(linker_output_file_flag);
|
||||
|
||||
std::string command = "$(CMAKE_LINKER) $(CMAKE_LINKER_SHARED_LIBRARY_FLAG)";
|
||||
|
||||
bool hide_param = m_Makefile->IsOn("CMAKE_LINKER_HIDE_PARAMETERS");
|
||||
if (hide_param)
|
||||
{
|
||||
command += " @<<\n\t";
|
||||
}
|
||||
|
||||
command += " $(CMAKE_LINKER_FLAGS) " + linker_output_file_flag;
|
||||
|
||||
std::string dllpath = m_LibraryOutputPath + std::string(name) + m_SharedLibraryExtension;
|
||||
command += cmSystemTools::ConvertToOutputPath(dllpath.c_str());
|
||||
|
||||
command += " $(" + this->CreateMakeVariable(name, "_SRC_OBJS") + ") ";
|
||||
|
||||
cmOStringStream linklibs;
|
||||
this->OutputLinkLibraries(linklibs, name, t);
|
||||
command += linklibs.str();
|
||||
|
||||
const std::vector<cmSourceFile*>& sources = t.GetSourceFiles();
|
||||
for(std::vector<cmSourceFile*>::const_iterator i = sources.begin();
|
||||
i != sources.end(); ++i)
|
||||
{
|
||||
if((*i)->GetSourceExtension() == "def")
|
||||
{
|
||||
command += "/DEF:";
|
||||
command += (*i)->GetFullPath();
|
||||
}
|
||||
}
|
||||
|
||||
command += "\n";
|
||||
if (hide_param)
|
||||
{
|
||||
command += "<<\n";
|
||||
}
|
||||
|
||||
std::string customCommands = this->CreateTargetRules(t, name);
|
||||
const char* cc = 0;
|
||||
if(customCommands.size() > 0)
|
||||
{
|
||||
cc = customCommands.c_str();
|
||||
}
|
||||
this->OutputMakeRule(fout, "rules for a shared library",
|
||||
target.c_str(),
|
||||
depend.c_str(),
|
||||
command.c_str(), cc);
|
||||
}
|
||||
|
||||
void cmLocalNMakeMakefileGenerator::OutputModuleLibraryRule(std::ostream& fout,
|
||||
const char* name,
|
||||
const cmTarget &target)
|
||||
{
|
||||
this->OutputSharedLibraryRule(fout, name, target);
|
||||
}
|
||||
|
||||
void cmLocalNMakeMakefileGenerator::OutputStaticLibraryRule(std::ostream& fout,
|
||||
const char* name,
|
||||
const cmTarget &t)
|
||||
{
|
||||
std::string target = m_LibraryOutputPath + std::string(name) + m_StaticLibraryExtension;
|
||||
std::string depend = "$(";
|
||||
depend += this->CreateMakeVariable(name, "_SRC_OBJS") + ") ";
|
||||
|
||||
// Need to get the definition here because this value might have
|
||||
// trailing space (since it is directly prepended to the filename)
|
||||
std::string library_manager_output_file_flag =
|
||||
m_Makefile->GetDefinition("CMAKE_LIBRARY_MANAGER_OUTPUT_FILE_FLAG");
|
||||
m_Makefile->ExpandVariablesInString(library_manager_output_file_flag);
|
||||
|
||||
std::string command = "$(CMAKE_LIBRARY_MANAGER) $(CMAKE_LIBRARY_MANAGER_FLAGS) @<<\n\t " + library_manager_output_file_flag;
|
||||
|
||||
std::string libpath = m_LibraryOutputPath + std::string(name) + m_StaticLibraryExtension;
|
||||
command += cmSystemTools::ConvertToOutputPath(libpath.c_str());
|
||||
|
||||
command += " $(";
|
||||
command += this->CreateMakeVariable(name, "_SRC_OBJS") + ")";
|
||||
command += "\n<<\n";
|
||||
|
||||
std::string comment = "rule to build static library: ";
|
||||
comment += name;
|
||||
|
||||
std::string customCommands = this->CreateTargetRules(t, name);
|
||||
const char* cc = 0;
|
||||
if(customCommands.size() > 0)
|
||||
{
|
||||
cc = customCommands.c_str();
|
||||
}
|
||||
this->OutputMakeRule(fout,
|
||||
comment.c_str(),
|
||||
target.c_str(),
|
||||
depend.c_str(),
|
||||
command.c_str(), cc);
|
||||
}
|
||||
|
||||
void cmLocalNMakeMakefileGenerator::OutputExecutableRule(std::ostream& fout,
|
||||
const char* name,
|
||||
const cmTarget &t)
|
||||
{
|
||||
std::string target = m_ExecutableOutputPath + name;
|
||||
target += m_ExecutableExtension;
|
||||
std::string depend = "$(";
|
||||
depend += this->CreateMakeVariable(name, "_SRC_OBJS") + ") $(" +
|
||||
this->CreateMakeVariable(name, "_DEPEND_LIBS") + ")";
|
||||
std::string command;
|
||||
if(t.HasCxx())
|
||||
{
|
||||
command = "$(CMAKE_CXX_COMPILER) $(CMAKE_CXX_FLAGS) ";
|
||||
}
|
||||
else
|
||||
{
|
||||
command = "${CMAKE_C_COMPILER} $(CMAKE_C_FLAGS) ";
|
||||
}
|
||||
bool hide_param = m_Makefile->IsOn("CMAKE_LINKER_HIDE_PARAMETERS");
|
||||
if (hide_param)
|
||||
{
|
||||
command += " @<<\n\t";
|
||||
}
|
||||
|
||||
command += "$(" + this->CreateMakeVariable(name, "_SRC_OBJS") + ") ";
|
||||
std::string path = m_ExecutableOutputPath + name + m_ExecutableExtension;
|
||||
|
||||
// Need to get the definition here because this value might have
|
||||
// trailing space (since it is directly prepended to the filename)
|
||||
std::string output_executable_file_flag =
|
||||
m_Makefile->GetDefinition("CMAKE_C_OUTPUT_EXECUTABLE_FILE_FLAG");
|
||||
m_Makefile->ExpandVariablesInString(output_executable_file_flag);
|
||||
|
||||
command += " " + output_executable_file_flag +
|
||||
cmSystemTools::ConvertToOutputPath(path.c_str());
|
||||
|
||||
command += " $(CMAKE_C_LINK_EXECUTABLE_FLAG) $(CMAKE_LINKER_FLAGS) ";
|
||||
if(t.GetType() == cmTarget::WIN32_EXECUTABLE)
|
||||
{
|
||||
command += " /subsystem:windows ";
|
||||
}
|
||||
|
||||
cmOStringStream linklibs;
|
||||
this->OutputLinkLibraries(linklibs, 0, t);
|
||||
command += linklibs.str();
|
||||
|
||||
std::string comment = "rule to build executable: ";
|
||||
comment += name;
|
||||
|
||||
std::string customCommands = this->CreateTargetRules(t, name);
|
||||
const char* cc = 0;
|
||||
if(customCommands.size() > 0)
|
||||
{
|
||||
cc = customCommands.c_str();
|
||||
}
|
||||
if (hide_param)
|
||||
{
|
||||
command += "\n";
|
||||
command += "<<\n";
|
||||
}
|
||||
this->OutputMakeRule(fout,
|
||||
comment.c_str(),
|
||||
target.c_str(),
|
||||
depend.c_str(),
|
||||
command.c_str(), cc);
|
||||
}
|
||||
|
||||
|
||||
void cmLocalNMakeMakefileGenerator::OutputLinkLibraries(std::ostream& fout,
|
||||
const char* targetLibrary,
|
||||
const cmTarget &tgt)
|
||||
{
|
||||
// Try to emit each search path once
|
||||
std::set<std::string> emitted;
|
||||
|
||||
// Embed runtime search paths if possible and if required.
|
||||
// collect all the flags needed for linking libraries
|
||||
// Do not try if there is no library path option (it is set to -L or
|
||||
// -LIBPATH for some linker, but some others do not even support link
|
||||
// search path).
|
||||
std::string linkLibs;
|
||||
|
||||
// Expand content because this value might have
|
||||
// trailing space (since it is directly prepended to the filename)
|
||||
std::string lib_path_opt = m_LibraryPathOption;
|
||||
m_Makefile->ExpandVariablesInString(lib_path_opt);
|
||||
|
||||
if (lib_path_opt.size())
|
||||
{
|
||||
const std::vector<std::string>& libdirs = tgt.GetLinkDirectories();
|
||||
for(std::vector<std::string>::const_iterator libDir = libdirs.begin();
|
||||
libDir != libdirs.end(); ++libDir)
|
||||
{
|
||||
std::string libpath = ShortPath(libDir->c_str());
|
||||
if(emitted.insert(libpath).second)
|
||||
{
|
||||
linkLibs += lib_path_opt;
|
||||
cmSystemTools::ConvertToOutputPath(libpath.c_str());
|
||||
linkLibs += libpath;
|
||||
linkLibs += " ";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::string librariesLinked;
|
||||
const cmTarget::LinkLibraries& libs = tgt.GetLinkLibraries();
|
||||
for(cmTarget::LinkLibraries::const_iterator lib = libs.begin();
|
||||
lib != libs.end(); ++lib)
|
||||
{
|
||||
// Don't link the library against itself!
|
||||
if(targetLibrary && (lib->first == targetLibrary)) continue;
|
||||
|
||||
// ** should fix this later, it should check to see if this is
|
||||
// a debug build and add the library
|
||||
// don't look at debug libraries
|
||||
// if (lib->second == cmTarget::DEBUG) continue;
|
||||
// skip zero size library entries, this may happen
|
||||
// if a variable expands to nothing.
|
||||
if (lib->first.size() == 0) continue;
|
||||
if(emitted.insert(lib->first).second)
|
||||
{
|
||||
std::string regexp = ".*\\";
|
||||
regexp += m_Makefile->GetDefinition("CMAKE_STATICLIB_SUFFIX");
|
||||
regexp += "$";
|
||||
cmRegularExpression reg(regexp.c_str());
|
||||
// if it ends in .lib, then it is a full path and should
|
||||
// be escaped, and does not need .lib added
|
||||
if(reg.find(lib->first))
|
||||
{
|
||||
librariesLinked += ShortPath(lib->first.c_str());
|
||||
librariesLinked += " ";
|
||||
}
|
||||
else
|
||||
{
|
||||
librariesLinked += m_LibraryLinkOption;
|
||||
librariesLinked += lib->first;
|
||||
librariesLinked += m_StaticLibraryExtension + " ";
|
||||
}
|
||||
}
|
||||
}
|
||||
linkLibs += librariesLinked;
|
||||
fout << linkLibs;
|
||||
fout << "$(CMAKE_STANDARD_WINDOWS_LIBRARIES) ";
|
||||
}
|
||||
|
||||
|
||||
std::string cmLocalNMakeMakefileGenerator::GetOutputExtension(const char* s)
|
||||
{
|
||||
std::string sourceExtension = s;
|
||||
if(sourceExtension == "def")
|
||||
{
|
||||
return "";
|
||||
}
|
||||
if(sourceExtension == "ico" || sourceExtension == "rc2")
|
||||
{
|
||||
return "";
|
||||
}
|
||||
if(sourceExtension == "rc")
|
||||
{
|
||||
return ".res";
|
||||
}
|
||||
return m_ObjectFileExtension;
|
||||
}
|
||||
|
||||
|
||||
void cmLocalNMakeMakefileGenerator::OutputIncludeMakefile(std::ostream& fout,
|
||||
const char* file)
|
||||
{
|
||||
fout << "!include " << file << "\n";
|
||||
}
|
||||
|
||||
bool cmLocalNMakeMakefileGenerator::SamePath(const char* path1, const char* path2)
|
||||
{
|
||||
// first check to see if they are the same anyway
|
||||
if (strcmp(path1, path2) == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
// next short path and lower case both of them for the compare
|
||||
return
|
||||
cmSystemTools::LowerCase(ShortPath(path1)) ==
|
||||
cmSystemTools::LowerCase(ShortPath(path2));
|
||||
}
|
||||
|
||||
void cmLocalNMakeMakefileGenerator::OutputBuildTargetInDir(std::ostream& fout,
|
||||
const char* path,
|
||||
const char* library,
|
||||
const char* fullpath,
|
||||
const char* libOutPath)
|
||||
{
|
||||
const char* makeTarget = library;
|
||||
std::string currentDir =
|
||||
cmSystemTools::ConvertToOutputPath(m_Makefile->GetCurrentOutputDirectory());
|
||||
std::string wpath = cmSystemTools::ConvertToOutputPath(path);
|
||||
std::string wfullpath = cmSystemTools::ConvertToOutputPath(fullpath);
|
||||
if(libOutPath && strcmp( libOutPath, "" ) != 0)
|
||||
{
|
||||
makeTarget = wfullpath.c_str();
|
||||
}
|
||||
fout << wfullpath
|
||||
<< ":\n\tcd " << wpath << "\n"
|
||||
<< "\t$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) cmake.depends\n"
|
||||
<< "\t$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) cmake.check_depends\n"
|
||||
<< "\t$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) -f cmake.check_depends\n"
|
||||
<< "\t$(MAKE) $(MAKESILENT) " << makeTarget
|
||||
<< "\n\tcd " << currentDir << "\n";
|
||||
}
|
||||
|
||||
std::string cmLocalNMakeMakefileGenerator::CreateMakeVariable(const char* s, const char* s2)
|
||||
{
|
||||
std::string ret= std::string(s) + std::string(s2);
|
||||
cmSystemTools::ReplaceString(ret, "-", "_");
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::string cmLocalNMakeMakefileGenerator::LowerCasePath(const char* path)
|
||||
{
|
||||
return cmSystemTools::LowerCase(path);
|
||||
}
|
|
@ -1,90 +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 cmNMakeMakefileGenerator_h
|
||||
#define cmNMakeMakefileGenerator_h
|
||||
|
||||
#include "cmLocalUnixMakefileGenerator.h"
|
||||
|
||||
/** \class cmLocalNMakeMakefileGenerator
|
||||
* \brief Write an NMake makefile.
|
||||
*
|
||||
* cmLocalNMakeMakefileGenerator produces a Unix makefile from its
|
||||
* member m_Makefile.
|
||||
*/
|
||||
class cmLocalNMakeMakefileGenerator : public cmLocalUnixMakefileGenerator
|
||||
{
|
||||
public:
|
||||
///! Set cache only and recurse to false by default.
|
||||
cmLocalNMakeMakefileGenerator();
|
||||
|
||||
virtual ~cmLocalNMakeMakefileGenerator();
|
||||
|
||||
protected:
|
||||
std::string ShortPath(const char* path);
|
||||
std::string ShortPathCommand(const char* command);
|
||||
virtual void OutputMakeVariables(std::ostream&);
|
||||
virtual void BuildInSubDirectory(std::ostream& fout,
|
||||
const char* directory,
|
||||
const char* target1,
|
||||
const char* target2,
|
||||
bool silent = false);
|
||||
void OutputMakeRule(std::ostream& fout,
|
||||
const char* comment,
|
||||
const char* target,
|
||||
const char* depends,
|
||||
const char* command,
|
||||
const char* command2=0,
|
||||
const char* command3=0,
|
||||
const char* command4=0);
|
||||
|
||||
|
||||
virtual void OutputBuildObjectFromSource(std::ostream& fout,
|
||||
const char* shortName,
|
||||
const cmSourceFile& source,
|
||||
const char* extraCompileFlags,
|
||||
bool sharedTarget);
|
||||
virtual void OutputSharedLibraryRule(std::ostream&, const char* name,
|
||||
const cmTarget &);
|
||||
virtual void OutputModuleLibraryRule(std::ostream&, const char* name,
|
||||
const cmTarget &);
|
||||
virtual void OutputStaticLibraryRule(std::ostream&, const char* name,
|
||||
const cmTarget &);
|
||||
virtual void OutputExecutableRule(std::ostream&, const char* name,
|
||||
const cmTarget &);
|
||||
virtual void OutputLinkLibraries(std::ostream& fout,
|
||||
const char* targetLibrary,
|
||||
const cmTarget &tgt);
|
||||
virtual std::string GetOutputExtension(const char* sourceExtension);
|
||||
virtual void OutputIncludeMakefile(std::ostream&, const char* file);
|
||||
virtual void OutputBuildTargetInDir(std::ostream& fout,
|
||||
const char* path,
|
||||
const char* library,
|
||||
const char* fullpath,
|
||||
const char* outputPath);
|
||||
///! return true if the two paths are the same (checks short paths)
|
||||
virtual bool SamePath(const char* path1, const char* path2);
|
||||
void SetLibraryPathOption(const char* lib){ m_LibraryPathOption = lib;}
|
||||
void SetLibraryLinkOption(const char* lib){ m_LibraryLinkOption = lib;}
|
||||
|
||||
virtual std::string CreateMakeVariable(const char* s, const char* s2);
|
||||
virtual std::string LowerCasePath(const char* path);
|
||||
private:
|
||||
std::string m_LibraryPathOption;// option to specifiy a link path -LIBPATH
|
||||
std::string m_LibraryLinkOption; // option to specify a library (like -l, empty for nmake)
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,144 +0,0 @@
|
|||
#
|
||||
# CMakeLocal.make.in should be in the directory where you run configure
|
||||
# in, which need not be the source directory
|
||||
#
|
||||
SET (CMAKE_WORDS_BIGENDIAN @CMAKE_WORDS_BIGENDIAN@ CACHE BOOL
|
||||
"The system uses big endian byte ordering.")
|
||||
|
||||
SET (CMAKE_USE_SPROC @CMAKE_USE_SPROC@ CACHE BOOL
|
||||
"Use sproc libs.")
|
||||
|
||||
SET (CMAKE_USE_PTHREADS @CMAKE_USE_PTHREADS@ CACHE BOOL
|
||||
"Use the pthreads library.")
|
||||
|
||||
IF(WIN32)
|
||||
SET (CMAKE_USE_WIN32_THREADS @CMAKE_USE_WIN32_THREADS@ CACHE BOOL
|
||||
"Use the win32 thread library.")
|
||||
MARK_AS_ADVANCED(CMAKE_USE_WIN32_THREADS)
|
||||
ENDIF(WIN32)
|
||||
|
||||
SET (CMAKE_HP_PTHREADS @CMAKE_HP_PTHREADS@ CACHE BOOL
|
||||
"Use HP pthreads.")
|
||||
|
||||
SET (CMAKE_RANLIB "@RANLIB@" CACHE FILEPATH
|
||||
"Library randomizer program used on archive libraries.")
|
||||
|
||||
SET (CMAKE_AR "@CMAKE_AR@" CACHE FILEPATH
|
||||
"Archive program used to make archive libraries.")
|
||||
|
||||
SET (CMAKE_AR_ARGS "@CMAKE_AR_ARGS@" CACHE STRING
|
||||
"Arguments for CMAKE_AR program to create an archive library.")
|
||||
|
||||
|
||||
SET (CMAKE_C_COMPILER "@CC@" CACHE FILEPATH
|
||||
"Name of C compiler used.")
|
||||
|
||||
SET (CMAKE_C_FLAGS "@CFLAGS@" CACHE STRING
|
||||
"Flags for C compiler.")
|
||||
|
||||
SET (CMAKE_SHLIB_CFLAGS "@CMAKE_SHLIB_CFLAGS@" CACHE STRING
|
||||
"Flag used for building shared library objects.")
|
||||
|
||||
SET (CMAKE_SHLIB_BUILD_FLAGS "@CMAKE_SHLIB_BUILD_FLAGS@" CACHE STRING
|
||||
"Flag used by CXX to build a shared library.")
|
||||
|
||||
SET (CMAKE_MODULE_BUILD_FLAGS "@CMAKE_MODULE_BUILD_FLAGS@" CACHE STRING
|
||||
"Flag used by CXX to build a shared library.")
|
||||
|
||||
SET (CMAKE_INSTALL_PREFIX @prefix@ CACHE PATH
|
||||
"Install path prefix, prepended onto install directories.")
|
||||
|
||||
SET (CMAKE_SHLIB_SUFFIX @CMAKE_SHLIB_SUFFIX@ CACHE STRING
|
||||
"Shared library suffix.")
|
||||
|
||||
SET (CMAKE_MODULE_SUFFIX @CMAKE_MODULE_SUFFIX@ CACHE STRING
|
||||
"Module library suffix.")
|
||||
|
||||
SET (CMAKE_THREAD_LIBS "@CMAKE_THREAD_LIBS@" CACHE STRING
|
||||
"Thread library used.")
|
||||
|
||||
SET (CMAKE_DL_LIBS "@CMAKE_DL_LIBS@" CACHE STRING
|
||||
"Dynamic link library to link in.")
|
||||
|
||||
SET (CMAKE_SHLIB_LINK_FLAGS "@CMAKE_SHLIB_LINK_FLAGS@" CACHE STRING
|
||||
"Flags used to link a shared library.")
|
||||
|
||||
SET (CMAKE_MODULE_LINK_FLAGS "@CMAKE_MODULE_LINK_FLAGS@" CACHE STRING
|
||||
"Flags used to link a shared library.")
|
||||
|
||||
SET (CMAKE_SHLIB_LD_LIBS "@CMAKE_SHLIB_LD_LIBS@" CACHE STRING
|
||||
"Libraries used by LD for shared libraries.")
|
||||
|
||||
SET (CMAKE_SHLIB_RUNTIME_FLAG "@CMAKE_SHLIB_RUNTIME_FLAG@" CACHE STRING
|
||||
"Flag used to specify run-time search paths.")
|
||||
|
||||
SET (CMAKE_SHLIB_RUNTIME_SEP "@CMAKE_SHLIB_RUNTIME_SEP@" CACHE STRING
|
||||
"If null, each runtime path is a separate option. Otherwise, they are all joined, separated by this.")
|
||||
|
||||
SET (CMAKE_SKIP_RPATH "NO" CACHE BOOL
|
||||
"If set, runtime paths are not added when using shared libraries.")
|
||||
|
||||
SET(CMAKE_C_LINK_SHARED "@CMAKE_C_LINK_SHARED@" CACHE STRING
|
||||
"program used to link c shared libraries")
|
||||
# support for X11
|
||||
|
||||
SET (CMAKE_X_LIBS "@X_PRE_LIBS@ @X_LIBS@ -lX11 -lXext @X_EXTRA_LIBS@" CACHE STRING
|
||||
"Libraries and options used in X11 programs.")
|
||||
|
||||
SET (CMAKE_X_CFLAGS "@X_CFLAGS@" CACHE STRING
|
||||
"X11 extra flags.")
|
||||
|
||||
SET (CMAKE_HAS_X @CMAKE_HAS_X@ CACHE INTERNAL
|
||||
"Is X11 around.")
|
||||
|
||||
SET (CMAKE_SYSTEM @CMAKE_SYSTEM@ CACHE INTERNAL
|
||||
"What system is this. Result of uname.")
|
||||
|
||||
SET (CMAKE_BUILD_TOOL make CACHE INTERNAL
|
||||
"What is the target build tool cmake is generating for.")
|
||||
|
||||
SET (CMAKE_ANSI_CFLAGS "@CMAKE_ANSI_CFLAGS@" CACHE INTERNAL
|
||||
"What flags are required by the c++ compiler to make it ansi.")
|
||||
|
||||
FIND_PROGRAM(CMAKE_MAKE_PROGRAM NAMES gmake make )
|
||||
|
||||
IF(CMAKE_SYSTEM MATCHES "HP-UX.*")
|
||||
SET (CMAKE_C_SHLIB_LINK_FLAGS "-Wl,+s" CACHE INTERNAL "shared link flags for cc")
|
||||
SET (CMAKE_C_SHLIB_RUNTIME_FLAG "-Wl,+b," CACHE INTERNAL "runtime directory flag for cc")
|
||||
ELSE(CMAKE_SYSTEM MATCHES "HP-UX.*")
|
||||
SET (CMAKE_C_SHLIB_LINK_FLAGS "${CMAKE_SHLIB_LINK_FLAGS}" CACHE INTERNAL "shared link flags for cc")
|
||||
SET (CMAKE_C_SHLIB_RUNTIME_FLAG "${CMAKE_SHLIB_RUNTIME_FLAG}" CACHE INTERNAL "runtime directory flag for cc")
|
||||
ENDIF(CMAKE_SYSTEM MATCHES "HP-UX.*")
|
||||
|
||||
# The following variables are advanced
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
CMAKE_ANSI_CFLAGS
|
||||
CMAKE_AR
|
||||
CMAKE_AR_ARGS
|
||||
CMAKE_C_COMPILER
|
||||
CMAKE_C_LINK_SHARED
|
||||
CMAKE_C_SHLIB_LINK_FLAGS
|
||||
CMAKE_C_SHLIB_RUNTIME_FLAG
|
||||
CMAKE_DL_LIBS
|
||||
CMAKE_HP_PTHREADS
|
||||
CMAKE_MAKE_PROGRAM
|
||||
CMAKE_MODULE_BUILD_FLAGS
|
||||
CMAKE_MODULE_LINK_FLAGS
|
||||
CMAKE_MODULE_SUFFIX
|
||||
CMAKE_RANLIB
|
||||
CMAKE_SHLIB_BUILD_FLAGS
|
||||
CMAKE_SHLIB_CFLAGS
|
||||
CMAKE_SHLIB_LD_LIBS
|
||||
CMAKE_SHLIB_LINK_FLAGS
|
||||
CMAKE_SHLIB_RUNTIME_FLAG
|
||||
CMAKE_SHLIB_RUNTIME_SEP
|
||||
CMAKE_SHLIB_SUFFIX
|
||||
CMAKE_SKIP_RPATH
|
||||
CMAKE_THREAD_LIBS
|
||||
CMAKE_USE_PTHREADS
|
||||
CMAKE_USE_SPROC
|
||||
CMAKE_WORDS_BIGENDIAN
|
||||
CMAKE_X_CFLAGS
|
||||
CMAKE_X_LIBS
|
||||
)
|
|
@ -1,131 +0,0 @@
|
|||
# borland specific configure file
|
||||
# NOTE: all entries in here MUST be CACHE values, regular SET will NOT WORK!
|
||||
|
||||
FIND_PATH(BCB_BIN_PATH bcc32.exe
|
||||
"C:/Program Files/Borland/CBuilder5/Bin"
|
||||
"C:/Borland/Bcc55/Bin"
|
||||
"/Borland/Bcc55/Bin"
|
||||
[HKEY_LOCAL_MACHINE/SOFTWARE/Borland/C++Builder/5.0/RootDir]/Bin
|
||||
)
|
||||
|
||||
SET (CMAKE_BUILD_TOOL borlandmake CACHE INTERNAL
|
||||
"What is the target build tool cmake is generating for.")
|
||||
|
||||
SET (CMAKE_SYSTEM "Win32" CACHE INTERNAL
|
||||
"What system is this. Result of uname.")
|
||||
|
||||
SET (BORLAND 1 CACHE INTERNAL "This is the borland generator")
|
||||
|
||||
SET (CMAKE_C_COMPILER ${BCB_BIN_PATH}/bcc32 CACHE FILEPATH
|
||||
"Name of C compiler used.")
|
||||
|
||||
SET (CMAKE_C_FLAGS "-w- -whid -waus -tWM" CACHE STRING
|
||||
"Flags for C compiler.")
|
||||
|
||||
SET (CMAKE_BUILD_TYPE Debug CACHE STRING
|
||||
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.")
|
||||
|
||||
SET (CMAKE_CXX_COMPILER "${BCB_BIN_PATH}/bcc32" CACHE FILEPATH
|
||||
"Name of C++ compiler used.")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS_RELEASE "-O2" CACHE STRING
|
||||
"Flags used by the compiler during release builds.")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Od" CACHE STRING
|
||||
"Flags used by the compiler during Release with Debug Info builds.")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS_MINSIZEREL "-O1" CACHE STRING
|
||||
"Flags used by the compiler during release minsize builds.")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS_DEBUG "-Od -v" CACHE STRING
|
||||
"Flags used by the compiler during debug builds.")
|
||||
|
||||
SET (CMAKE_LINKER_FLAGS "-tWM" CACHE STRING
|
||||
"Flags used by the linker.")
|
||||
|
||||
SET (CMAKE_LINKER_FLAGS_DEBUG "-v" CACHE STRING
|
||||
"Flags used by the linker during debug builds.")
|
||||
|
||||
SET (CMAKE_LINKER_FLAGS_MINSIZEREL "" CACHE STRING
|
||||
"Flags used by the linker during release minsize builds.")
|
||||
|
||||
SET (CMAKE_LINKER_FLAGS_RELEASE "" CACHE STRING
|
||||
"Flags used by the linker during release builds.")
|
||||
|
||||
SET (CMAKE_LINKER_FLAGS_RELWITHDEBINFO "-v" CACHE STRING
|
||||
"Flags used by the linker during Release with Debug Info builds.")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS "-w- -whid -waus -wpar -tWM" CACHE STRING
|
||||
"Flags used to compile c++ files.")
|
||||
|
||||
SET (CMAKE_USE_WIN32_THREADS 1 CACHE BOOL
|
||||
"Use the win32 thread library.")
|
||||
|
||||
SET (CMAKE_STANDARD_WINDOWS_LIBRARIES "import32.lib" CACHE STRING
|
||||
"Libraries linked by defalut with all applications.")
|
||||
|
||||
SET (CMAKE_SHLIB_SUFFIX ".dll" CACHE STRING
|
||||
"Shared library suffix.")
|
||||
|
||||
SET (CMAKE_MODULE_SUFFIX ".dll" CACHE STRING
|
||||
"Module library suffix.")
|
||||
SET (CMAKE_OBJECT_FILE_SUFFIX ".obj" CACHE STRING
|
||||
"Object file suffix.")
|
||||
|
||||
SET (CMAKE_EXECUTABLE_SUFFIX ".exe" CACHE STRING
|
||||
"Executable suffix.")
|
||||
|
||||
SET (CMAKE_STATICLIB_SUFFIX ".lib" CACHE STRING
|
||||
"Static library suffix.")
|
||||
|
||||
SET (CMAKE_SHLIB_SUFFIX ".dll" CACHE STRING
|
||||
"Shared library suffix.")
|
||||
|
||||
SET (CMAKE_MODULE_SUFFIX ".dll" CACHE STRING
|
||||
"Module library suffix.")
|
||||
|
||||
FIND_PROGRAM(CMAKE_MAKE_PROGRAM make NAMES bmake ${BCB_BIN_PATH})
|
||||
|
||||
# We will hardcode them for now. Make sure to fix that in the future
|
||||
SET (CMAKE_SIZEOF_INT 4 CACHE INTERNAL "Size of int data type")
|
||||
SET (CMAKE_SIZEOF_LONG 4 CACHE INTERNAL "Size of long data type")
|
||||
SET (CMAKE_SIZEOF_VOID_P 4 CACHE INTERNAL "Size of void* data type")
|
||||
SET (CMAKE_SIZEOF_CHAR 1 CACHE INTERNAL "Size of char data type")
|
||||
SET (CMAKE_SIZEOF_SHORT 2 CACHE INTERNAL "Size of short data type")
|
||||
SET (CMAKE_SIZEOF_FLOAT 4 CACHE INTERNAL "Size of float data type")
|
||||
SET (CMAKE_SIZEOF_DOUBLE 8 CACHE INTERNAL "Size of double data type")
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_C_COMPILER
|
||||
CMAKE_C_FLAGS
|
||||
CMAKE_EXECUTABLE_SUFFIX
|
||||
CMAKE_LINKER_FLAGS
|
||||
CMAKE_LINKER_FLAGS
|
||||
CMAKE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MAKE_PROGRAM
|
||||
CMAKE_MODULE_SUFFIX
|
||||
CMAKE_MODULE_SUFFIX
|
||||
CMAKE_OBJECT_FILE_SUFFIX
|
||||
CMAKE_SHLIB_SUFFIX
|
||||
CMAKE_SHLIB_SUFFIX
|
||||
CMAKE_STANDARD_WINDOWS_LIBRARIES
|
||||
CMAKE_STATICLIB_SUFFIX
|
||||
CMAKE_USE_WIN32_THREADS
|
||||
)
|
||||
|
||||
MARK_AS_ADVANCED( CLEAR
|
||||
TCL_LIBRARY
|
||||
TK_LIBRARY
|
||||
)
|
|
@ -1,186 +0,0 @@
|
|||
# Microsoft specific config file
|
||||
# NOTE: all entries in here MUST be CACHE values, regular SET will NOT WORK!
|
||||
|
||||
|
||||
# Suffixes
|
||||
|
||||
SET (CMAKE_SYSTEM "Win32" CACHE INTERNAL
|
||||
"What system is this. Result of uname.")
|
||||
|
||||
SET (CMAKE_BUILD_TOOL nmake CACHE INTERNAL
|
||||
"What is the target build tool cmake is generating for.")
|
||||
|
||||
SET (CMAKE_EXECUTABLE_SUFFIX ".exe" CACHE STRING
|
||||
"Executable suffix.")
|
||||
|
||||
SET (CMAKE_MODULE_SUFFIX ".dll" CACHE STRING
|
||||
"Module library suffix.")
|
||||
|
||||
SET (CMAKE_OBJECT_FILE_SUFFIX ".obj" CACHE STRING
|
||||
"Object file suffix.")
|
||||
|
||||
SET (CMAKE_SHLIB_SUFFIX ".dll" CACHE STRING
|
||||
"Shared library suffix.")
|
||||
|
||||
SET (CMAKE_STATICLIB_SUFFIX ".lib" CACHE STRING
|
||||
"Static library suffix.")
|
||||
|
||||
# ANSI
|
||||
|
||||
SET (CMAKE_ANSI_CFLAGS "" CACHE INTERNAL
|
||||
"What flags are required by the c++ compiler to make it ansi.")
|
||||
|
||||
# We will hardcode them for now. Make sure to fix that in the future
|
||||
SET (CMAKE_SIZEOF_INT 4 CACHE INTERNAL "Size of int data type")
|
||||
SET (CMAKE_SIZEOF_LONG 4 CACHE INTERNAL "Size of long data type")
|
||||
SET (CMAKE_SIZEOF_VOID_P 4 CACHE INTERNAL "Size of void* data type")
|
||||
SET (CMAKE_SIZEOF_CHAR 1 CACHE INTERNAL "Size of char data type")
|
||||
SET (CMAKE_SIZEOF_SHORT 2 CACHE INTERNAL "Size of short data type")
|
||||
SET (CMAKE_SIZEOF_FLOAT 4 CACHE INTERNAL "Size of float data type")
|
||||
SET (CMAKE_SIZEOF_DOUBLE 8 CACHE INTERNAL "Size of double data type")
|
||||
|
||||
# Build type
|
||||
|
||||
SET (CMAKE_BUILD_TYPE Debug CACHE STRING
|
||||
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.")
|
||||
|
||||
# C++
|
||||
|
||||
SET (CMAKE_CXX_COMPILER cl CACHE FILEPATH
|
||||
"Name of C++ compiler used.")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS "/nologo /W3 /Zm1000 /GX /GR" CACHE STRING
|
||||
"Flags used by the compiler during all build types, /GX /GR are for exceptions and rtti in VC++, /Zm1000 increases the compiler's memory allocation to support ANSI C++/stdlib.")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS_DEBUG "/MDd /Zi /Od /GZ" CACHE STRING
|
||||
"Flags used by the compiler during debug builds.")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS_MINSIZEREL "/MD /O1" CACHE STRING
|
||||
"Flags used by the compiler during release minsize builds.")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS_RELEASE "/MD /O2" CACHE STRING
|
||||
"Flags used by the compiler during release builds (/MD /Ob1 /Oi /Ot /Oy /Gs will produce slightly less optimized but smaller files).")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /Zi /O2" CACHE STRING
|
||||
"Flags used by the compiler during Release with Debug Info builds.")
|
||||
|
||||
# C
|
||||
|
||||
SET (CMAKE_C_COMPILER cl CACHE FILEPATH
|
||||
"Name of C compiler used.")
|
||||
|
||||
SET (CMAKE_C_FLAGS "/nologo /W3 /Zm1000" CACHE STRING
|
||||
"Flags for C compiler.")
|
||||
|
||||
SET (CMAKE_C_LIBPATH_FLAG "-LIBPATH:" CACHE STRING
|
||||
"Flags used to specify a link path. No space will be appended (use single quotes around value to insert trailing space).")
|
||||
|
||||
SET (CMAKE_C_LINK_EXECUTABLE_FLAG "/link" CACHE STRING
|
||||
"Flags used to create an executable.")
|
||||
|
||||
SET (CMAKE_C_OUTPUT_EXECUTABLE_FILE_FLAG "/Fe" CACHE STRING
|
||||
"Flags used to specify executable filename. No space will be appended (use single quotes around value to insert trailing space).")
|
||||
|
||||
SET (CMAKE_C_OUTPUT_OBJECT_FILE_FLAG "/Fo" CACHE STRING
|
||||
"Flags used to specify output filename. No space will be appended (use single quotes around value to insert trailing space).")
|
||||
|
||||
# Library manager
|
||||
|
||||
SET (CMAKE_LIBRARY_MANAGER lib CACHE FILEPATH
|
||||
"Name of the library manager used (static lib).")
|
||||
|
||||
SET (CMAKE_LIBRARY_MANAGER_FLAGS "/nologo" CACHE STRING
|
||||
"Flags used by the library manager.")
|
||||
|
||||
SET (CMAKE_LIBRARY_MANAGER_OUTPUT_FILE_FLAG "/out:" CACHE STRING
|
||||
"Flags used to specify output filename by the library manager. No space will be appended (use single quotes around value to insert trailing space).")
|
||||
|
||||
# Linker (DLL/exe)
|
||||
|
||||
SET (CMAKE_LINKER link CACHE FILEPATH
|
||||
"Name of linker used.")
|
||||
|
||||
SET (CMAKE_LINKER_FLAGS "/nologo /STACK:10000000 /machine:I386 /INCREMENTAL:YES"
|
||||
CACHE STRING "Flags used by the linker.")
|
||||
|
||||
SET (CMAKE_LINKER_FLAGS_DEBUG "/debug /pdbtype:sept" CACHE STRING
|
||||
"Flags used by the linker during debug builds.")
|
||||
|
||||
SET (CMAKE_LINKER_FLAGS_MINSIZEREL "" CACHE STRING
|
||||
"Flags used by the linker during release minsize builds.")
|
||||
|
||||
SET (CMAKE_LINKER_FLAGS_RELEASE "" CACHE STRING
|
||||
"Flags used by the linker during release builds.")
|
||||
|
||||
SET (CMAKE_LINKER_FLAGS_RELWITHDEBINFO "/debug /pdbtype:sept" CACHE STRING
|
||||
"Flags used by the linker during Release with Debug Info builds.")
|
||||
|
||||
SET (CMAKE_LINKER_HIDE_PARAMETERS 1 CACHE BOOL
|
||||
"Hide linker parameters when it is run.")
|
||||
|
||||
SET (CMAKE_LINKER_OUTPUT_FILE_FLAG "/out:" CACHE STRING
|
||||
"Flags used to specify output filename by the linker. No space will be appended (use single quotes around value to insert trailing space).")
|
||||
|
||||
SET (CMAKE_LINKER_SHARED_LIBRARY_FLAG "/dll" CACHE STRING
|
||||
"Flags used to create a shared library.")
|
||||
|
||||
# Standard lib
|
||||
|
||||
SET (CMAKE_STANDARD_WINDOWS_LIBRARIES "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib" CACHE STRING
|
||||
"Libraries linked by defalut with all applications.")
|
||||
|
||||
# Make
|
||||
|
||||
SET (CMAKE_MAKE_PROGRAM "nmake" CACHE STRING
|
||||
"Program used to build from makefiles.")
|
||||
|
||||
# Threads
|
||||
|
||||
SET (CMAKE_USE_WIN32_THREADS 1 CACHE BOOL
|
||||
"Use the win32 thread library.")
|
||||
|
||||
# this should not be advanced, but was so we have to
|
||||
# clear it in all the cache files
|
||||
MARK_AS_ADVANCED( CLEAR CMAKE_BUILD_TYPE)
|
||||
|
||||
# The following variables are advanced
|
||||
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
CMAKE_ANSI_CFLAGS
|
||||
CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_C_COMPILER
|
||||
CMAKE_C_FLAGS
|
||||
CMAKE_C_LIBPATH_FLAG
|
||||
CMAKE_C_LINK_EXECUTABLE_FLAG
|
||||
CMAKE_C_OUTPUT_EXECUTABLE_FILE_FLAG
|
||||
CMAKE_C_OUTPUT_OBJECT_FILE_FLAG
|
||||
CMAKE_EXECUTABLE_SUFFIX
|
||||
CMAKE_LIBRARY_MANAGER
|
||||
CMAKE_LIBRARY_MANAGER_FLAGS
|
||||
CMAKE_LIBRARY_MANAGER_OUTPUT_FILE_FLAG
|
||||
CMAKE_LINKER
|
||||
CMAKE_LINKER_FLAGS
|
||||
CMAKE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_LINKER_HIDE_PARAMETERS
|
||||
CMAKE_LINKER_OUTPUT_FILE_FLAG
|
||||
CMAKE_LINKER_SHARED_LIBRARY_FLAG
|
||||
CMAKE_MAKE_PROGRAM
|
||||
CMAKE_MODULE_SUFFIX
|
||||
CMAKE_OBJECT_FILE_SUFFIX
|
||||
CMAKE_SHLIB_SUFFIX
|
||||
CMAKE_STANDARD_WINDOWS_LIBRARIES
|
||||
CMAKE_STATICLIB_SUFFIX
|
||||
CMAKE_USE_WIN32_THREADS
|
||||
HAVE_LIMITS_H
|
||||
HAVE_UNISTD_H
|
||||
WORDS_BIGENDIAN
|
||||
)
|
|
@ -1,120 +0,0 @@
|
|||
#
|
||||
# CMakeLocal.make.in should be in the directory where you run configure
|
||||
# in, which need not be the source directory
|
||||
#
|
||||
SET(CMAKE_CXX_SHLIB_CFLAGS_TMP "@CMAKE_CXX_SHLIB_CFLAGS@" )
|
||||
SET(CMAKE_CXX_SHLIB_BUILD_FLAGS_TMP "@CMAKE_CXX_SHLIB_BUILD_FLAGS@")
|
||||
SET(CMAKE_CXX_SHLIB_LINK_FLAGS_TMP "@CMAKE_CXX_SHLIB_LINK_FLAGS@")
|
||||
SET(CMAKE_CXX_MODULE_BUILD_FLAGS_TMP "@CMAKE_CXX_MODULE_BUILD_FLAGS@")
|
||||
SET(CMAKE_CXX_MODULE_LINK_FLAGS_TMP "@CMAKE_CXX_MODULE_LINK_FLAGS@")
|
||||
SET(CMAKE_CXX_SHLIB_RUNTIME_FLAG_TMP "@CMAKE_CXX_SHLIB_RUNTIME_FLAG@")
|
||||
SET(CMAKE_CXX_SHLIB_RUNTIME_SEP_TMP "@CMAKE_CXX_SHLIB_RUNTIME_SEP@")
|
||||
|
||||
|
||||
# if no CXX versions of these exist, then use the c versions
|
||||
IF( CMAKE_CXX_SHLIB_CFLAGS_TMP )
|
||||
SET(CMAKE_CXX_SHLIB_CFLAGS "${CMAKE_CXX_SHLIB_CFLAGS_TMP}" CACHE STRING
|
||||
"Flag used for building shared library objects.")
|
||||
ELSE( CMAKE_CXX_SHLIB_CFLAGS_TMP )
|
||||
SET(CMAKE_CXX_SHLIB_CFLAGS "${CMAKE_SHLIB_CFLAGS}" CACHE STRING
|
||||
"Flag used for building shared library objects.")
|
||||
ENDIF( CMAKE_CXX_SHLIB_CFLAGS_TMP )
|
||||
|
||||
IF( CMAKE_CXX_SHLIB_BUILD_FLAGS_TMP )
|
||||
SET(CMAKE_CXX_SHLIB_BUILD_FLAGS "${CMAKE_CXX_SHLIB_BUILD_FLAGS_TMP}" CACHE STRING "Flag used by CXX to build a shared library.")
|
||||
ELSE( CMAKE_CXX_SHLIB_BUILD_FLAGS_TMP )
|
||||
SET(CMAKE_CXX_SHLIB_BUILD_FLAGS "${CMAKE_SHLIB_BUILD_FLAGS}" CACHE STRING "Flag used by CXX to build a shared library.")
|
||||
ENDIF( CMAKE_CXX_SHLIB_BUILD_FLAGS_TMP )
|
||||
|
||||
IF( CMAKE_CXX_SHLIB_LINK_FLAGS_TMP )
|
||||
SET(CMAKE_CXX_SHLIB_LINK_FLAGS "${CMAKE_CXX_SHLIB_LINK_FLAGS_TMP}" CACHE STRING "Flags used to link a shared library.")
|
||||
ELSE( CMAKE_CXX_SHLIB_LINK_FLAGS_TMP )
|
||||
SET(CMAKE_CXX_SHLIB_LINK_FLAGS "${CMAKE_SHLIB_LINK_FLAGS}" CACHE STRING
|
||||
"Flags used to link a shared library.")
|
||||
ENDIF( CMAKE_CXX_SHLIB_LINK_FLAGS_TMP )
|
||||
|
||||
IF( CMAKE_CXX_MODULE_BUILD_FLAGS_TMP )
|
||||
SET(CMAKE_CXX_MODULE_BUILD_FLAGS "${CMAKE_CXX_MODULE_BUILD_FLAGS_TMP}" CACHE STRING "Flag used by CXX to build a shared library.")
|
||||
ELSE( CMAKE_CXX_MODULE_BUILD_FLAGS_TMP )
|
||||
SET(CMAKE_CXX_MODULE_BUILD_FLAGS "${CMAKE_MODULE_BUILD_FLAGS}" CACHE STRING "Flag used by CXX to build a shared library.")
|
||||
ENDIF( CMAKE_CXX_MODULE_BUILD_FLAGS_TMP )
|
||||
|
||||
IF( CMAKE_CXX_MODULE_LINK_FLAGS_TMP )
|
||||
SET(CMAKE_CXX_MODULE_LINK_FLAGS "${CMAKE_CXX_MODULE_LINK_FLAGS_TMP}" CACHE STRING "Flags used to link a shared library.")
|
||||
ELSE( CMAKE_CXX_MODULE_LINK_FLAGS_TMP )
|
||||
SET(CMAKE_CXX_MODULE_LINK_FLAGS "${CMAKE_MODULE_LINK_FLAGS}" CACHE STRING
|
||||
"Flags used to link a shared library.")
|
||||
ENDIF( CMAKE_CXX_MODULE_LINK_FLAGS_TMP )
|
||||
|
||||
IF( CMAKE_CXX_SHLIB_RUNTIME_FLAG_TMP )
|
||||
SET(CMAKE_CXX_SHLIB_RUNTIME_FLAG "${CMAKE_CXX_SHLIB_RUNTIME_FLAG_TMP}" CACHE STRING "Flag used to specify run-time search paths.")
|
||||
ELSE( CMAKE_CXX_SHLIB_RUNTIME_FLAG_TMP )
|
||||
SET(CMAKE_CXX_SHLIB_RUNTIME_FLAG "${CMAKE_SHLIB_RUNTIME_FLAG}" CACHE STRING "Flag used to specify run-time search paths.")
|
||||
ENDIF( CMAKE_CXX_SHLIB_RUNTIME_FLAG_TMP )
|
||||
|
||||
IF( CMAKE_CXX_SHLIB_RUNTIME_SEP_TMP )
|
||||
SET(CMAKE_CXX_SHLIB_RUNTIME_SEP "${CMAKE_CXX_SHLIB_RUNTIME_SEP_TMP}" CACHE STRING "If null, each runtime path is a separate option. Otherwise, they are all joined, separated by this.")
|
||||
ELSE( CMAKE_CXX_SHLIB_RUNTIME_SEP_TMP )
|
||||
SET(CMAKE_CXX_SHLIB_RUNTIME_SEP "${CMAKE_SHLIB_RUNTIME_SEP}" CACHE STRING "If null, each runtime path is a separate option. Otherwise, they are all joined, separated by this.")
|
||||
ENDIF( CMAKE_CXX_SHLIB_RUNTIME_SEP_TMP )
|
||||
|
||||
SET(CMAKE_CXX_LINK_SHARED "@CMAKE_CXX_LINK_SHARED@" CACHE STRING
|
||||
"program used to link c++ shared libraries")
|
||||
|
||||
|
||||
|
||||
SET (CMAKE_CXX_AR "@CMAKE_CXX_AR@" CACHE FILEPATH
|
||||
"Archive program used to make archive libraries of c++ object files.")
|
||||
|
||||
SET (CMAKE_CXX_AR_ARGS "@CMAKE_CXX_AR_ARGS@" CACHE STRING
|
||||
"Arguments for CMAKE_CXX_AR program to create an archive library.")
|
||||
|
||||
SET (CMAKE_CXX_COMPILER "@CXX@" CACHE FILEPATH
|
||||
"Name of C++ compiler used.")
|
||||
|
||||
SET (CMAKE_CXX_FLAGS "@CXXFLAGS@" CACHE STRING
|
||||
"Flags used by CXX compiler.")
|
||||
|
||||
SET (CMAKE_TEMPLATE_FLAGS "@CMAKE_TEMPLATE_FLAGS@" CACHE STRING
|
||||
"CXX template flags used by compiler.")
|
||||
|
||||
SET (CMAKE_NO_ANSI_STRING_STREAM @CMAKE_NO_ANSI_STRING_STREAM@ CACHE INTERNAL
|
||||
"Does the compiler support the ansi stringstream class.")
|
||||
|
||||
SET (CMAKE_NO_STD_NAMESPACE @CMAKE_NO_STD_NAMESPACE@ CACHE INTERNAL
|
||||
"Does the compiler support std::.")
|
||||
|
||||
SET (CMAKE_NO_ANSI_FOR_SCOPE @CMAKE_NO_ANSI_FOR_SCOPE@ CACHE INTERNAL
|
||||
"Does the compiler support ansi for scoping.")
|
||||
|
||||
SET (CMAKE_COMPILER_IS_GNUCXX @CMAKE_COMPILER_IS_GNUCXX@ CACHE INTERNAL
|
||||
"Is the compile GNU C++.")
|
||||
|
||||
SET (CMAKE_ANSI_CXXFLAGS "@CMAKE_ANSI_CXXFLAGS@" CACHE INTERNAL
|
||||
"What flags are required by the c++ compiler to make it ansi.")
|
||||
|
||||
SET (CMAKE_NO_EXPLICIT_TEMPLATE_INSTANTIATION @CMAKE_NO_EXPLICIT_TEMPLATE_INSTANTIATION@ CACHE INTERNAL
|
||||
"Does the compiler not support explicit template instantiation.")
|
||||
|
||||
# The following variables are advanced
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
CMAKE_ANSI_CXXFLAGS
|
||||
CMAKE_COMPILER_IS_GNUCXX
|
||||
CMAKE_CXX_AR
|
||||
CMAKE_CXX_AR_ARGS
|
||||
CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_LINK_SHARED
|
||||
CMAKE_CXX_MODULE_BUILD_FLAGS
|
||||
CMAKE_CXX_MODULE_LINK_FLAGS
|
||||
CMAKE_CXX_SHLIB_BUILD_FLAGS
|
||||
CMAKE_CXX_SHLIB_CFLAGS
|
||||
CMAKE_CXX_SHLIB_LINK_FLAGS
|
||||
CMAKE_CXX_SHLIB_RUNTIME_FLAG
|
||||
CMAKE_CXX_SHLIB_RUNTIME_SEP
|
||||
CMAKE_NO_ANSI_FOR_SCOPE
|
||||
CMAKE_NO_EXPLICIT_TEMPLATE_INSTANTIATION
|
||||
CMAKE_NO_STD_NAMESPACE
|
||||
CMAKE_TEMPLATE_FLAGS
|
||||
)
|
Loading…
Reference in New Issue