src/src.pro
changeset 0 1918ee327afb
child 3 41300fa6a67c
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 TEMPLATE = subdirs
       
     2 
       
     3 # this order is important
       
     4 unset(SRC_SUBDIRS)
       
     5 win32:SRC_SUBDIRS += src_winmain
       
     6 wince*:{
       
     7   SRC_SUBDIRS += src_corelib src_xml src_gui src_sql src_network src_testlib
       
     8 } else:symbian {
       
     9   SRC_SUBDIRS += src_s60main src_corelib src_xml src_gui src_network src_sql src_testlib src_s60installs
       
    10 } else {
       
    11     include(tools/tools.pro)
       
    12     SRC_SUBDIRS += src_corelib src_xml src_network src_gui src_sql src_testlib
       
    13     !vxworks:contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support
       
    14     contains(QT_CONFIG, dbus):SRC_SUBDIRS += src_dbus
       
    15 }
       
    16 win32:SRC_SUBDIRS += src_activeqt
       
    17 
       
    18 contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2): SRC_SUBDIRS += src_opengl
       
    19 contains(QT_CONFIG, openvg): SRC_SUBDIRS += src_openvg
       
    20 contains(QT_CONFIG, xmlpatterns): SRC_SUBDIRS += src_xmlpatterns
       
    21 contains(QT_CONFIG, phonon): SRC_SUBDIRS += src_phonon
       
    22 contains(QT_CONFIG, multimedia): SRC_SUBDIRS += src_multimedia
       
    23 contains(QT_CONFIG, svg): SRC_SUBDIRS += src_svg
       
    24 contains(QT_CONFIG, webkit)  {
       
    25     #exists($$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro): SRC_SUBDIRS += src_javascriptcore
       
    26     SRC_SUBDIRS += src_webkit
       
    27 }
       
    28 contains(QT_CONFIG, script): SRC_SUBDIRS += src_script
       
    29 contains(QT_CONFIG, scripttools): SRC_SUBDIRS += src_scripttools
       
    30 SRC_SUBDIRS += src_plugins
       
    31 
       
    32 src_s60main.subdir = $$QT_SOURCE_TREE/src/s60main
       
    33 src_s60main.target = sub-s60main
       
    34 src_s60installs.subdir = $$QT_SOURCE_TREE/src/s60installs
       
    35 src_s60installs.target = sub-s60installs
       
    36 src_winmain.subdir = $$QT_SOURCE_TREE/src/winmain
       
    37 src_winmain.target = sub-winmain
       
    38 src_corelib.subdir = $$QT_SOURCE_TREE/src/corelib
       
    39 src_corelib.target = sub-corelib
       
    40 src_xml.subdir = $$QT_SOURCE_TREE/src/xml
       
    41 src_xml.target = sub-xml
       
    42 src_xmlpatterns.subdir = $$QT_SOURCE_TREE/src/xmlpatterns
       
    43 src_xmlpatterns.target = sub-xmlpatterns
       
    44 src_dbus.subdir = $$QT_SOURCE_TREE/src/dbus
       
    45 src_dbus.target = sub-dbus
       
    46 src_gui.subdir = $$QT_SOURCE_TREE/src/gui
       
    47 src_gui.target = sub-gui
       
    48 src_sql.subdir = $$QT_SOURCE_TREE/src/sql
       
    49 src_sql.target = sub-sql
       
    50 src_network.subdir = $$QT_SOURCE_TREE/src/network
       
    51 src_network.target = sub-network
       
    52 src_svg.subdir = $$QT_SOURCE_TREE/src/svg
       
    53 src_svg.target = sub-svg
       
    54 src_script.subdir = $$QT_SOURCE_TREE/src/script
       
    55 src_script.target = sub-script
       
    56 src_scripttools.subdir = $$QT_SOURCE_TREE/src/scripttools
       
    57 src_scripttools.target = sub-scripttools
       
    58 src_opengl.subdir = $$QT_SOURCE_TREE/src/opengl
       
    59 src_opengl.target = sub-opengl
       
    60 src_openvg.subdir = $$QT_SOURCE_TREE/src/openvg
       
    61 src_openvg.target = sub-openvg
       
    62 src_qt3support.subdir = $$QT_SOURCE_TREE/src/qt3support
       
    63 src_qt3support.target = sub-qt3support
       
    64 src_phonon.subdir = $$QT_SOURCE_TREE/src/phonon
       
    65 src_phonon.target = sub-phonon
       
    66 src_multimedia.subdir = $$QT_SOURCE_TREE/src/multimedia
       
    67 src_multimedia.target = sub-multimedia
       
    68 src_activeqt.subdir = $$QT_SOURCE_TREE/src/activeqt
       
    69 src_activeqt.target = sub-activeqt
       
    70 src_plugins.subdir = $$QT_SOURCE_TREE/src/plugins
       
    71 src_plugins.target = sub-plugins
       
    72 src_testlib.subdir = $$QT_SOURCE_TREE/src/testlib
       
    73 src_testlib.target = sub-testlib
       
    74 src_javascriptcore.subdir = $$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore
       
    75 src_javascriptcore.target = sub-javascriptcore
       
    76 src_webkit.subdir = $$QT_SOURCE_TREE/src/3rdparty/webkit/WebCore
       
    77 src_webkit.target = sub-webkit
       
    78 
       
    79 #CONFIG += ordered
       
    80 !wince*:!symbian:!ordered {
       
    81    src_corelib.depends = src_tools_moc src_tools_rcc
       
    82    src_gui.depends = src_corelib src_tools_uic
       
    83    embedded: src_gui.depends += src_network
       
    84    src_xml.depends = src_corelib
       
    85    src_xmlpatterns.depends = src_corelib src_network
       
    86    src_dbus.depends = src_corelib src_xml
       
    87    src_svg.depends = src_xml src_gui
       
    88    src_script.depends = src_corelib
       
    89    src_scripttools.depends = src_script src_gui src_network
       
    90    src_network.depends = src_corelib
       
    91    src_opengl.depends = src_gui
       
    92    src_openvg.depends = src_gui
       
    93    src_sql.depends = src_corelib
       
    94    src_testlib.depends = src_corelib
       
    95    src_qt3support.depends = src_gui src_xml src_network src_sql
       
    96    src_phonon.depends = src_gui
       
    97    src_multimedia.depends = src_gui
       
    98    src_tools_activeqt.depends = src_tools_idc src_gui
       
    99    src_plugins.depends = src_gui src_sql src_svg
       
   100    contains(QT_CONFIG, webkit)  {
       
   101       src_webkit.depends = src_gui src_sql src_network src_xml 
       
   102       contains(QT_CONFIG, phonon):src_webkit.depends += src_phonon
       
   103       #exists($$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro): src_webkit.depends += src_javascriptcore
       
   104    }
       
   105    contains(QT_CONFIG, qt3support): src_plugins.depends += src_qt3support
       
   106    contains(QT_CONFIG, dbus):{
       
   107       src_plugins.depends += src_dbus
       
   108       src_phonon.depends +=  src_dbus
       
   109    }
       
   110    contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2): src_plugins.depends += src_opengl
       
   111 }
       
   112 
       
   113 !symbian {
       
   114 # This creates a sub-src rule
       
   115 sub_src_target.CONFIG = recursive
       
   116 sub_src_target.recurse = $$SRC_SUBDIRS
       
   117 sub_src_target.target = sub-src
       
   118 sub_src_target.recurse_target =
       
   119 QMAKE_EXTRA_TARGETS += sub_src_target
       
   120 
       
   121 # This gives us a top level debug/release
       
   122 for(subname, SRC_SUBDIRS) {
       
   123    subdir = $$subname
       
   124    !isEmpty($${subname}.subdir):subdir = $$eval($${subname}.subdir)
       
   125    subpro = $$subdir/$${basename(subdir)}.pro
       
   126    !exists($$subpro):next()
       
   127    subtarget = $$replace(subdir, [^A-Za-z0-9], _)
       
   128    reg_src = $$replace(QT_SOURCE_TREE, \\\\, \\\\)
       
   129    subdir = $$replace(subdir, $$reg_src, $$QT_BUILD_TREE)
       
   130    subdir = $$replace(subdir, /, $$QMAKE_DIR_SEP)
       
   131    subdir = $$replace(subdir, \\\\, $$QMAKE_DIR_SEP)
       
   132    SUB_TEMPLATE = $$list($$fromfile($$subpro, TEMPLATE))
       
   133    !isEqual(subname, src_tools_bootstrap):if(isEqual($$SUB_TEMPLATE, lib) | isEqual($$SUB_TEMPLATE, subdirs) | isEqual(subname, src_tools_idc) | isEqual(subname, src_tools_uic3)):!separate_debug_info {
       
   134        #debug
       
   135        eval(debug-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_DEBUG_TARGETS)
       
   136        eval(debug-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) debug))
       
   137        EXTRA_DEBUG_TARGETS += debug-$${subtarget}
       
   138        QMAKE_EXTRA_TARGETS += debug-$${subtarget}
       
   139        #release
       
   140        eval(release-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_RELEASE_TARGETS)
       
   141        eval(release-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) release))
       
   142        EXTRA_RELEASE_TARGETS += release-$${subtarget}
       
   143        QMAKE_EXTRA_TARGETS += release-$${subtarget}
       
   144     } else { #do not have a real debug target/release
       
   145        #debug
       
   146        eval(debug-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_DEBUG_TARGETS)
       
   147        eval(debug-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) first))
       
   148        EXTRA_DEBUG_TARGETS += debug-$${subtarget}
       
   149        QMAKE_EXTRA_TARGETS += debug-$${subtarget}
       
   150        #release
       
   151        eval(release-$${subtarget}.depends = $${subdir}\$${QMAKE_DIR_SEP}$(MAKEFILE) $$EXTRA_RELEASE_TARGETS)
       
   152        eval(release-$${subtarget}.commands = (cd $$subdir && $(MAKE) -f $(MAKEFILE) first))
       
   153        EXTRA_RELEASE_TARGETS += release-$${subtarget}
       
   154        QMAKE_EXTRA_TARGETS += release-$${subtarget}
       
   155    }
       
   156 }
       
   157 debug.depends = $$EXTRA_DEBUG_TARGETS
       
   158 release.depends = $$EXTRA_RELEASE_TARGETS
       
   159 QMAKE_EXTRA_TARGETS += debug release
       
   160 }
       
   161 
       
   162 SUBDIRS += $$SRC_SUBDIRS