| 
					
				 | 
			
			
				@@ -17,6 +17,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "cmStandardIncludes.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "cmSystemTools.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "cmRegularExpression.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "cmCacheManager.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 cmDSPMakefile::~cmDSPMakefile() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -81,13 +82,27 @@ void cmDSPMakefile::OutputDSPFile() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // add any extra define flags  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   m_ReleaseLibraryOptions = m_DebugLibraryOptions; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cmSystemTools::ReplaceString(m_ReleaseLibraryOptions, "Debug", "Release"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  m_DebugDLLLibraryOptions = m_DebugLibraryOptions; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cmSystemTools::ReplaceString(m_DebugDLLLibraryOptions, "Debug", "DebugDLL"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  m_ReleaseDLLLibraryOptions = m_DebugDLLLibraryOptions; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cmSystemTools::ReplaceString(m_ReleaseDLLLibraryOptions, "Debug", "Release"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  m_ReleaseMinSizeLibraryOptions = m_ReleaseLibraryOptions; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cmSystemTools::ReplaceString(m_ReleaseMinSizeLibraryOptions,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               "Release", "ReleaseMinSize"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Create the DSP or set of DSP's for libraries and executables 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(strlen(m_Makefile->GetLibraryName()) != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this->SetBuildType(STATIC_LIBRARY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const char* cacheValue 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      = cmCacheManager::GetInstance()->GetCacheValue("BUILD_SHARED_LIBS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(cacheValue && strcmp(cacheValue,"0")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this->SetBuildType(DLL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this->SetBuildType(STATIC_LIBRARY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this->CreateSingleDSP(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // if there are executables build them 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -305,8 +320,14 @@ void cmDSPMakefile::WriteDSPHeader(std::ostream& fout) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       std::string line = buffer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       cmSystemTools::ReplaceString(line, "CM_RELEASE_LIBRARIES", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     m_ReleaseLibraryOptions.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cmSystemTools::ReplaceString(line, "CM_RELEASEMINSIZE_LIBRARIES", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                   m_ReleaseMinSizeLibraryOptions.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       cmSystemTools::ReplaceString(line, "CM_DEBUG_LIBRARIES", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     m_DebugLibraryOptions.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cmSystemTools::ReplaceString(line, "CM_RELEASEDLL_LIBRARIES", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    m_ReleaseDLLLibraryOptions.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cmSystemTools::ReplaceString(line, "CM_DEBUGDLL_LIBRARIES", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    m_DebugDLLLibraryOptions.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       cmSystemTools::ReplaceString(line, "BUILD_INCLUDES", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     m_IncludeOptions.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       cmSystemTools::ReplaceString(line, "OUTPUT_LIBNAME",  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -357,8 +378,7 @@ void cmDSPMakefile::WriteDSPBuildRules(std::ostream& fout, const char *ext) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   std::vector<cmClassFile>& Classes = m_Makefile->GetClasses(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(int i = 0; i < Classes.size(); ++i) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if(!Classes[i].m_IsExecutable && !Classes[i].m_AbstractClass &&  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       !Classes[i].m_HeaderFileOnly) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(!Classes[i].m_IsExecutable && !Classes[i].m_HeaderFileOnly) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // is this class of the appropriate type ? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (std::find(exts.begin(),exts.end(),Classes[i].m_ClassExtension) 
			 |