Qt 4.7.2

I have been using a makefile to build my qt code with some of our corba code. To help with building across multiple platforms, I decided to convert to using qmake. I was able to create a .pro file for my code and a corba.pri (inserted below) file for the corba related qmake functionality.

Qt Code:
  1. # corba work
  2. # global defaults
  3. isEmpty(CORBA_DIR):CORBA_DIR = .
  4.  
  5. # a slight issue with multi-core building that hopefully can be resolved
  6. # by specifying just the Client code in the pre-target dependencies so both
  7. # Client and Server code are generated first
  8. for(idl, CORBA_IDLS):PRE_TARGETDEPS += $$CORBA_DIR/$$replace( idl, ".idl", "C.cpp" )
  9.  
  10. # setup idl compiler
  11. IDL_COMPILER = "$$(ACE_ROOT)/bin/tao_idl"
  12.  
  13. # setup idl compiler flags
  14. IDL_FLAGS += -I$$(TAO_ROOT)/include
  15. for(i,IDL_DIR):IDL_FLAGS += $$join(i,,-I,)
  16. # allow IDL_FLAGS to be used in Makefile for additional idl options
  17. IDL_FLAGS += $(IDL_FLAGS)
  18.  
  19. # setup include path (and vpath)
  20. INCLUDEPATH += $$(ACE_ROOT) $$(ACE_ROOT)/include
  21. INCLUDEPATH += $$(TAO_ROOT) $$(TAO_ROOT)/orbsvcs
  22. INCLUDEPATH += $$IDL_DIR $$CORBA_DIR
  23. VPATH += $$IDL_DIR
  24.  
  25. # setup libraries . . . order makes a difference
  26. LIBS += -L$$(ACE_ROOT)/lib -L$$(TAO_ROOT)/lib
  27. LIBS += -lTAO_CosNaming -lTAO_Messaging -lTAO_Valuetype
  28. LIBS += -lTAO_CodecFactory -lTAO_PI -lTAO_AnyTypeCode
  29. LIBS += -lTAO_PortableServer
  30. LIBS += -lTAO -lACE
  31.  
  32. # since qmake cannot have multiple outputs need Client and Server versions
  33. # Client
  34. corbaC.CONFIG = no_link
  35. corbaC.dependency_type = TYPE_C
  36. corbaC.commands = $$IDL_COMPILER -o $$CORBA_DIR $$IDL_FLAGS ${QMAKE_FILE_NAME}
  37. corbaC.input = CORBA_IDLS
  38. corbaC.output = $$CORBA_DIR/${QMAKE_FILE_BASE}C.cpp
  39. corbaC.clean = $$CORBA_DIR/${QMAKE_FILE_BASE}C.cpp \
  40. $$CORBA_DIR/${QMAKE_FILE_BASE}C.h \
  41. $$CORBA_DIR/${QMAKE_FILE_BASE}C.inl
  42. corbaC.variable_out = SOURCES
  43. silent:corbaC.commands = @echo $$IDL_COMPILER ${QMAKE_FILE_IN} && $$corbaC.commands
  44. QMAKE_EXTRA_COMPILERS += corbaC
  45. # Server
  46. corbaS.CONFIG = no_link
  47. corbaS.dependency_type = TYPE_C
  48. corbaS.commands = $$IDL_COMPILER -o $$CORBA_DIR $$IDL_FLAGS ${QMAKE_FILE_NAME}
  49. corbaS.input = CORBA_IDLS
  50. corbaS.output = $$CORBA_DIR/${QMAKE_FILE_BASE}S.cpp
  51. corbaS.clean = $$CORBA_DIR/${QMAKE_FILE_BASE}S.cpp \
  52. $$CORBA_DIR/${QMAKE_FILE_BASE}S.h \
  53. $$CORBA_DIR/${QMAKE_FILE_BASE}S.inl
  54. corbaS.variable_out = SOURCES
  55. silent:corbaS.commands = @echo $$IDL_COMPILER ${QMAKE_FILE_IN} && $$corbaS.commands
  56. QMAKE_EXTRA_COMPILERS += corbaS
To copy to clipboard, switch view to plain text mode 

The corba generation and build process works fine under Linux and Mac. I am having an issue in Windows. I am using the Qt add-in v1.1.9 for VS2008 to generate the project data from the .pro file. What seems to be happening is that the corba commands are being used to generated the .cpp and related files . . . and thats it. "Compiling" the corba files just creates the cpp/h source from idl files. The corba files, along with the moc files, are listed in the 'Generated Files' tree. Looking at the generated .vcproj file, I do not see a CustomBuildTool section for the corba files. I see that the MOC has the necessary foo to build and compile the moc_ files. Does the add-in allow QMAKE_EXTRA_COMPILERS to generate CustomBuildTool configurations?