Add check so that java projects build without C++
This commit is contained in:
parent
d6f98c2a82
commit
682e2c7b8b
|
@ -153,42 +153,47 @@ void cmGlobalVisualStudio7Generator::SetupTests()
|
|||
void cmGlobalVisualStudio7Generator::GenerateConfigurations()
|
||||
{
|
||||
// process the configurations
|
||||
std::string configTypes =
|
||||
m_CMakeInstance->GetCacheDefinition("CMAKE_CONFIGURATION_TYPES");
|
||||
std::string::size_type start = 0;
|
||||
std::string::size_type endpos = 0;
|
||||
while(endpos != std::string::npos)
|
||||
const char* ct
|
||||
= m_CMakeInstance->GetCacheDefinition("CMAKE_CONFIGURATION_TYPES");
|
||||
if ( ct )
|
||||
{
|
||||
endpos = configTypes.find(' ', start);
|
||||
std::string config;
|
||||
std::string::size_type len;
|
||||
if(endpos != std::string::npos)
|
||||
std::string configTypes = ct;
|
||||
|
||||
std::string::size_type start = 0;
|
||||
std::string::size_type endpos = 0;
|
||||
while(endpos != std::string::npos)
|
||||
{
|
||||
len = endpos - start;
|
||||
}
|
||||
else
|
||||
{
|
||||
len = configTypes.size() - start;
|
||||
}
|
||||
config = configTypes.substr(start, len);
|
||||
if(config == "Debug" || config == "Release" ||
|
||||
config == "MinSizeRel" || config == "RelWithDebInfo")
|
||||
{
|
||||
// only add unique configurations
|
||||
if(std::find(m_Configurations.begin(),
|
||||
m_Configurations.end(), config) == m_Configurations.end())
|
||||
endpos = configTypes.find(' ', start);
|
||||
std::string config;
|
||||
std::string::size_type len;
|
||||
if(endpos != std::string::npos)
|
||||
{
|
||||
m_Configurations.push_back(config);
|
||||
len = endpos - start;
|
||||
}
|
||||
else
|
||||
{
|
||||
len = configTypes.size() - start;
|
||||
}
|
||||
config = configTypes.substr(start, len);
|
||||
if(config == "Debug" || config == "Release" ||
|
||||
config == "MinSizeRel" || config == "RelWithDebInfo")
|
||||
{
|
||||
// only add unique configurations
|
||||
if(std::find(m_Configurations.begin(),
|
||||
m_Configurations.end(), config) == m_Configurations.end())
|
||||
{
|
||||
m_Configurations.push_back(config);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cmSystemTools::Error(
|
||||
"Invalid configuration type in CMAKE_CONFIGURATION_TYPES: ",
|
||||
config.c_str(),
|
||||
" (Valid types are Debug,Release,MinSizeRel,RelWithDebInfo)");
|
||||
}
|
||||
start = endpos+1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cmSystemTools::Error(
|
||||
"Invalid configuration type in CMAKE_CONFIGURATION_TYPES: ",
|
||||
config.c_str(),
|
||||
" (Valid types are Debug,Release,MinSizeRel,RelWithDebInfo)");
|
||||
}
|
||||
start = endpos+1;
|
||||
}
|
||||
if(m_Configurations.size() == 0)
|
||||
{
|
||||
|
|
|
@ -775,47 +775,50 @@ void cmLocalVisualStudio6Generator::WriteDSPHeader(std::ostream& fout, const cha
|
|||
|
||||
while(fin)
|
||||
{
|
||||
fin.getline(buffer, 2048);
|
||||
std::string line = buffer;
|
||||
const char* mfcFlag = m_Makefile->GetDefinition("CMAKE_MFC_FLAG");
|
||||
if(!mfcFlag)
|
||||
{
|
||||
mfcFlag = "0";
|
||||
}
|
||||
cmSystemTools::ReplaceString(line, "CMAKE_CUSTOM_RULE_CODE",
|
||||
customRuleCode.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CMAKE_MFC_FLAG",
|
||||
mfcFlag);
|
||||
cmSystemTools::ReplaceString(line, "CM_LIBRARIES",
|
||||
libOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CM_DEBUG_LIBRARIES",
|
||||
libDebugOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CM_OPTIMIZED_LIBRARIES",
|
||||
libOptimizedOptions.c_str());
|
||||
fin.getline(buffer, 2048);
|
||||
std::string line = buffer;
|
||||
const char* mfcFlag = m_Makefile->GetDefinition("CMAKE_MFC_FLAG");
|
||||
if(!mfcFlag)
|
||||
{
|
||||
mfcFlag = "0";
|
||||
}
|
||||
cmSystemTools::ReplaceString(line, "CMAKE_CUSTOM_RULE_CODE",
|
||||
customRuleCode.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CMAKE_MFC_FLAG",
|
||||
mfcFlag);
|
||||
cmSystemTools::ReplaceString(line, "CM_LIBRARIES",
|
||||
libOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CM_DEBUG_LIBRARIES",
|
||||
libDebugOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CM_OPTIMIZED_LIBRARIES",
|
||||
libOptimizedOptions.c_str());
|
||||
|
||||
cmSystemTools::ReplaceString(line, "CM_MULTILINE_LIBRARIES",
|
||||
libMultiLineOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CM_MULTILINE_DEBUG_LIBRARIES",
|
||||
libMultiLineDebugOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIMIZED_LIBRARIES",
|
||||
libMultiLineOptimizedOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CM_MULTILINE_LIBRARIES",
|
||||
libMultiLineOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CM_MULTILINE_DEBUG_LIBRARIES",
|
||||
libMultiLineDebugOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIMIZED_LIBRARIES",
|
||||
libMultiLineOptimizedOptions.c_str());
|
||||
|
||||
cmSystemTools::ReplaceString(line, "BUILD_INCLUDES",
|
||||
m_IncludeOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "OUTPUT_LIBNAME",libName);
|
||||
// because LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH
|
||||
// are already quoted in the template file,
|
||||
// we need to remove the quotes here, we still need
|
||||
// to convert to output path for unix to win32 conversion
|
||||
cmSystemTools::ReplaceString(line, "LIBRARY_OUTPUT_PATH",
|
||||
removeQuotes(
|
||||
cmSystemTools::ConvertToOutputPath(libPath.c_str())).c_str());
|
||||
cmSystemTools::ReplaceString(line, "EXECUTABLE_OUTPUT_PATH",
|
||||
removeQuotes(
|
||||
cmSystemTools::ConvertToOutputPath(exePath.c_str())).c_str());
|
||||
cmSystemTools::ReplaceString(line,
|
||||
"EXTRA_DEFINES",
|
||||
m_Makefile->GetDefineFlags());
|
||||
cmSystemTools::ReplaceString(line, "BUILD_INCLUDES",
|
||||
m_IncludeOptions.c_str());
|
||||
cmSystemTools::ReplaceString(line, "OUTPUT_LIBNAME",libName);
|
||||
// because LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH
|
||||
// are already quoted in the template file,
|
||||
// we need to remove the quotes here, we still need
|
||||
// to convert to output path for unix to win32 conversion
|
||||
cmSystemTools::ReplaceString(line, "LIBRARY_OUTPUT_PATH",
|
||||
removeQuotes(
|
||||
cmSystemTools::ConvertToOutputPath(libPath.c_str())).c_str());
|
||||
cmSystemTools::ReplaceString(line, "EXECUTABLE_OUTPUT_PATH",
|
||||
removeQuotes(
|
||||
cmSystemTools::ConvertToOutputPath(exePath.c_str())).c_str());
|
||||
cmSystemTools::ReplaceString(line,
|
||||
"EXTRA_DEFINES",
|
||||
m_Makefile->GetDefineFlags());
|
||||
cmGlobalGenerator* gen = this->GetGlobalGenerator();
|
||||
if ( gen->GetLanguageEnabled("C") ||gen->GetLanguageEnabled("CXX") )
|
||||
{
|
||||
std::string flags = m_Makefile->GetDefinition("CMAKE_CXX_FLAGS_RELEASE");
|
||||
flags += " -DCMAKE_INTDIR=\\\"Release\\\"";
|
||||
cmSystemTools::ReplaceString(line, "CMAKE_CXX_FLAGS_RELEASE", flags.c_str());
|
||||
|
@ -831,8 +834,8 @@ void cmLocalVisualStudio6Generator::WriteDSPHeader(std::ostream& fout, const cha
|
|||
cmSystemTools::ReplaceString(line, "CMAKE_CXX_FLAGS",
|
||||
m_Makefile->
|
||||
GetDefinition("CMAKE_CXX_FLAGS"));
|
||||
|
||||
fout << line.c_str() << std::endl;
|
||||
}
|
||||
fout << line.c_str() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -329,7 +329,10 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
|
|||
}
|
||||
fout << "\t\t\t\tAssemblerListingLocation=\"" << configName << "\"\n";
|
||||
fout << "\t\t\t\tObjectFile=\"" << configName << "\\\"\n";
|
||||
fout << "\t\t\t\tWarningLevel=\"" << m_Makefile->GetDefinition("CMAKE_CXX_WARNING_LEVEL") << "\"\n";
|
||||
if ( m_Makefile->GetDefinition("CMAKE_CXX_WARNING_LEVEL") )
|
||||
{
|
||||
fout << "\t\t\t\tWarningLevel=\"" << m_Makefile->GetDefinition("CMAKE_CXX_WARNING_LEVEL") << "\"\n";
|
||||
}
|
||||
fout << "\t\t\t\tDetect64BitPortabilityProblems=\"TRUE\"\n"
|
||||
<< "\t\t\t\tDebugInformationFormat=\"3\"";
|
||||
fout << "/>\n"; // end of <Tool Name=VCCLCompilerTool
|
||||
|
|
Loading…
Reference in New Issue