summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2002-12-11 17:09:52 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2002-12-11 17:09:52 (GMT)
commit682e2c7b8b614b595dcff32ffe24d67a5e26ff54 (patch)
treecc2ce29a23a8d8ba81a25a02a4a8686578b70c9e /Source
parentd6f98c2a82c693f9f96bd7c515fa4946a375f3ca (diff)
downloadCMake-682e2c7b8b614b595dcff32ffe24d67a5e26ff54.zip
CMake-682e2c7b8b614b595dcff32ffe24d67a5e26ff54.tar.gz
CMake-682e2c7b8b614b595dcff32ffe24d67a5e26ff54.tar.bz2
Add check so that java projects build without C++
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalVisualStudio7Generator.cxx67
-rw-r--r--Source/cmLocalVisualStudio6Generator.cxx89
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx5
3 files changed, 86 insertions, 75 deletions
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index a583a0e..7e62e21 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -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)
- {
- len = endpos - start;
- }
- else
- {
- len = configTypes.size() - start;
- }
- config = configTypes.substr(start, len);
- if(config == "Debug" || config == "Release" ||
- config == "MinSizeRel" || config == "RelWithDebInfo")
+ std::string configTypes = ct;
+
+ std::string::size_type start = 0;
+ std::string::size_type endpos = 0;
+ while(endpos != std::string::npos)
{
- // 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)
{
diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx
index 50ec93c..b90de0e 100644
--- a/Source/cmLocalVisualStudio6Generator.cxx
+++ b/Source/cmLocalVisualStudio6Generator.cxx
@@ -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());
-
- 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());
+ 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, "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;
}
}
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index b9aad0e..668c9d6 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -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