diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2002-12-11 17:09:52 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2002-12-11 17:09:52 (GMT) |
commit | 682e2c7b8b614b595dcff32ffe24d67a5e26ff54 (patch) | |
tree | cc2ce29a23a8d8ba81a25a02a4a8686578b70c9e /Source | |
parent | d6f98c2a82c693f9f96bd7c515fa4946a375f3ca (diff) | |
download | CMake-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.cxx | 67 | ||||
-rw-r--r-- | Source/cmLocalVisualStudio6Generator.cxx | 89 | ||||
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.cxx | 5 |
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 |