summaryrefslogtreecommitdiffstats
path: root/config.pri
blob: aec930a5c4e17bcdb8a9374e46cc8c3ab063626d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102

LIBRARY_NAME = QtCommercialChart

##################### SHADOW CONFIG #################################################

!contains($${PWD}, $${OUT_PWD}){
    search = "$$PWD:::"
    temp = $$split(search,"/")    
    temp = $$last(temp)
    path = $$replace(search,$$temp,'')
    temp = $$split(OUT_PWD,$$path)
    temp = $$split(temp,'/')
    temp = $$first(temp)
    path = "$${path}$${temp}"
    SHADOW=$$path   
}else{
    SHADOW=$$PWD
    CONFIG-=development_build 
}

##################### BUILD PATHS ##################################################

CHART_BUILD_PUBLIC_HEADER_DIR = $$SHADOW/include
CHART_BUILD_PRIVATE_HEADER_DIR = $$CHART_BUILD_PUBLIC_HEADER_DIR/private
CHART_BUILD_LIB_DIR = $$SHADOW/lib
CHART_BUILD_DIR = $$SHADOW/build
CHART_BUILD_BIN_DIR = $$SHADOW/bin
CHART_BUILD_PLUGIN_DIR = $$CHART_BUILD_BIN_DIR/QtCommercial/Chart
CHART_BUILD_DOC_DIR = $$SHADOW/doc

win32:{
    CHART_BUILD_PUBLIC_HEADER_DIR = $$replace(CHART_BUILD_PUBLIC_HEADER_DIR, "/","\\")
    CHART_BUILD_PRIVATE_HEADER_DIR = $$replace(CHART_BUILD_PRIVATE_HEADER_DIR, "/","\\")
    CHART_BUILD_BUILD_DIR = $$replace(CHART_BUILD_BUILD_DIR, "/","\\")
    CHART_BUILD_BIN_DIR = $$replace(CHART_BUILD_BIN_DIR, "/","\\")
    CHART_BUILD_PLUGIN_DIR = $$replace(CHART_BUILD_PLUGIN_DIR, "/","\\")
    CHART_BUILD_DOC_DIR = $$replace(CHART_BUILD_DOC_DIR, "/","\\")
    CHART_BUILD_LIB_DIR = $$replace(CHART_BUILD_LIB_DIR, "/","\\")
}

mac: {
    # TODO: The following qmake flags are a work-around to make QtCommercial Charts compile on
    # QtCommercial 4.8. On the other hand Charts builds successfully with Qt open source 4.8
    # without these definitions, so this is probably a configuration issue on QtCommercial 4.8;
    # it should probably define the minimum OSX version to be 10.5...
    QMAKE_CXXFLAGS *= -mmacosx-version-min=10.5
    QMAKE_LFLAGS *= -mmacosx-version-min=10.5

    CHART_BUILD_LIB_DIR = $$CHART_BUILD_BIN_DIR
}

##################### DEVELOPMENT BUILD ###################################################

development_build: {
    DEFINES+=DEVELOPMENT_BUILD
    CONFIG+=debug_and_release
}


##################### BUILD CONFIG ########################################################

!system_build:{

    INCLUDEPATH += $$CHART_BUILD_PUBLIC_HEADER_DIR

    !win32: {
        LIBS += -L $$CHART_BUILD_LIB_DIR -Wl,-rpath,$$CHART_BUILD_LIB_DIR
    }else{
        win32-msvc*: {
            # hack fix for error:
            #   "LINK : fatal error LNK1146: no argument specified with option '/LIBPATH:'"
            QMAKE_LIBDIR += $$CHART_BUILD_LIB_DIR
        }else{
            LIBS += -L $$CHART_BUILD_LIB_DIR
        }
    }

    CONFIG(debug, debug|release) {
      mac: LIBRARY_NAME = $$join(LIBRARY_NAME,,,_debug)
      win32: LIBRARY_NAME = $$join(LIBRARY_NAME,,,d)
    } 
       
    LIBS += -l$$LIBRARY_NAME    

    mac: {
        # This is a hack; we define variables for easier install_name_tool calls from project files of OSX executables/libraries
        # install_name_tool is used to update the dependencies to chart library to match the local build folder
        MAC_CHARTS_LIB_NAME = "lib"$$LIBRARY_NAME".1.dylib"
        CONFIG(debug, debug|release) {
            MAC_CHARTS_LIB_NAME = "lib"$$LIBRARY_NAME".1.dylib"
        }
        MAC_POST_LINK_PREFIX = install_name_tool -change $$MAC_CHARTS_LIB_NAME $$CHART_BUILD_LIB_DIR"/"$$MAC_CHARTS_LIB_NAME
        MAC_DEMOS_BIN_DIR = $$CHART_BUILD_BIN_DIR"/"$$TARGET".app/Contents/MacOS/"$$TARGET
        MAC_EXAMPLES_BIN_DIR = $$CHART_BUILD_BIN_DIR"/"$$TARGET".app/Contents/MacOS/"$$TARGET
        MAC_TESTS_BIN_DIR = $$CHART_BUILD_BIN_DIR"/test/"$$TARGET".app/Contents/MacOS/"$$TARGET
        MAC_AUTOTESTS_BIN_DIR = $$CHART_BUILD_BIN_DIR"/test/tst_"$$TARGET".app/Contents/MacOS/tst_"$$TARGET
        MAC_PLUGINS_BIN_DIR = $$CHART_BUILD_PLUGIN_DIR"/lib"$$TARGET".dylib"
    }

} else {
    CONFIG += qtcommercialchart 
}