[Uml-devel] KDE/kdesdk

Ralf Habacker Ralf.Habacker at freenet.de
Wed Jul 9 06:51:39 UTC 2008


SVN commit 829794 by habacker:

limit win32 non compile problem to cpp import, which is the real cause of trouble

 M  +2 -15     CMakeLists.txt  
 M  +32 -17    umbrello/umbrello/CMakeLists.txt  
 M  +7 -0      umbrello/umbrello/codeimport/classimport.cpp  


--- trunk/KDE/kdesdk/CMakeLists.txt #829793:829794
@@ -67,22 +67,9 @@
 #add_subdirectory(scheck)
 macro_optional_add_subdirectory(scripts)
 
-# Both MSVC and SunPRO CC have a problem with position.h; we try to put a
-# QChar into a spirit iterator, which, after a bunch of futzing, ends up in
-# the STL string_ref templates, which use
-#
-#     union {
-#        size_type _C_size;    // Number of actual data values stored
-#        _CharT    _C_dummy;   // force the alignment of the first char
-#     } _C_size;               // named to work around an HP aCC 3.30 bug
-#
-# and you can't have a class which requires an initializer in a union.
-#
-if(NOT WIN32)
- if(LIBXSLT_FOUND AND LIBXML2_FOUND AND Boost_FOUND)
+if(LIBXSLT_FOUND AND LIBXML2_FOUND AND Boost_FOUND)
   macro_optional_add_subdirectory(umbrello)
- endif(LIBXSLT_FOUND AND LIBXML2_FOUND AND Boost_FOUND)
-endif(NOT WIN32)
+endif(LIBXSLT_FOUND AND LIBXML2_FOUND AND Boost_FOUND)
 
 add_subdirectory( cmake )
 
--- trunk/KDE/kdesdk/umbrello/umbrello/CMakeLists.txt #829793:829794
@@ -179,12 +179,9 @@
 	${CMAKE_CURRENT_SOURCE_DIR}/codegenwizard/codegenoptionspage.ui
 	${CMAKE_CURRENT_SOURCE_DIR}/codegenwizard/codegenstatuspage.ui
 )
-
-
 set(libcodeimport_SRCS
 	codeimport/adaimport.cpp
 	codeimport/classimport.cpp
-	codeimport/cppimport.cpp
 	codeimport/idlimport.cpp
 	codeimport/import_utils.cpp
 	codeimport/javaimport.cpp
@@ -193,21 +190,39 @@
 	codeimport/pythonimport.cpp
 )
 
-set(libkdevcppparser_SRCS
-	codeimport/kdevcppparser/ast.cpp
-	codeimport/kdevcppparser/driver.cpp
-	codeimport/kdevcppparser/errors.cpp
-	codeimport/kdevcppparser/lexer.cpp
-	codeimport/kdevcppparser/lookup.cpp
-	codeimport/kdevcppparser/parser.cpp
-	codeimport/kdevcppparser/preprocesslexer.cpp
-	codeimport/kdevcppparser/tree_parser.cpp
-	codeimport/kdevcppparser/urlutil.cpp
-	codeimport/kdevcppparser/ast_utils.cpp
-	codeimport/kdevcppparser/cpptree2uml.cpp
-)
+if (WIN32)
+    # Both MSVC and SunPRO CC have a problem with position.h; we try to put a
+    # QChar into a spirit iterator, which, after a bunch of futzing, ends up in
+    # the STL string_ref templates, which use
+    #
+    #     union {
+    #        size_type _C_size;    // Number of actual data values stored
+    #        _CharT    _C_dummy;   // force the alignment of the first char
+    #     } _C_size;               // named to work around an HP aCC 3.30 bug
+    #
+    # and you can't have a class which requires an initializer in a union.
+    #
+    add_definitions(-DDISABLE_CPP_IMPORT)
+    set(libkdevcppparser_SRCS)
+else (WIN32)
+    list(APPEND libcodeimport_SRCS
+        codeimport/cppimport.cpp
+    )
+    set(libkdevcppparser_SRCS
+    	codeimport/kdevcppparser/ast.cpp
+    	codeimport/kdevcppparser/driver.cpp
+    	codeimport/kdevcppparser/errors.cpp
+    	codeimport/kdevcppparser/lexer.cpp
+    	codeimport/kdevcppparser/lookup.cpp
+    	codeimport/kdevcppparser/parser.cpp
+    	codeimport/kdevcppparser/preprocesslexer.cpp
+    	codeimport/kdevcppparser/tree_parser.cpp
+    	codeimport/kdevcppparser/urlutil.cpp
+    	codeimport/kdevcppparser/ast_utils.cpp
+    	codeimport/kdevcppparser/cpptree2uml.cpp
+    )
+endif(WIN32)
 
-
 set(libclipboard_SRCS
 	clipboard/umldragdata.cpp
 	clipboard/umlclipboard.cpp
--- trunk/KDE/kdesdk/umbrello/umbrello/codeimport/classimport.cpp #829793:829794
@@ -24,7 +24,9 @@
 #include "javaimport.h"
 #include "adaimport.h"
 #include "pascalimport.h"
+#ifndef DISABLE_CPP_IMPORT
 #include "cppimport.h"
+#endif
 
 void ClassImport::importFiles(const QStringList &fileList)
 {
@@ -55,8 +57,13 @@
         classImporter = new AdaImport();
     else if (filename.endsWith(".pas"))
         classImporter = new PascalImport();
+#ifndef DISABLE_CPP_IMPORT
     else
         classImporter = new CppImport();  // the default.
+#else
+    else 
+        classImporter = 0;
+#endif        
     return classImporter;
 }
 




More information about the umbrello-devel mailing list