summaryrefslogtreecommitdiff
path: root/Packaging/QtSDK/qt.tools.cmake.xx.qs.in
blob: 81ce157a1095b5af2e4bfd6df9309db02c08a311 (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
/****************************************************************************
**
** Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
** file Copyright.txt or https://cmake.org/licensing for details.
**
****************************************************************************/

// constructor
function Component()
{
    installer.valueChanged.connect( this, Component.prototype.reactOnTargetDirChange );
    // set the default values to CMAKE%CMake_VERSION_MAJOR%%CMake_VERSION_MINOR%_BIN_DIR
    Component.prototype.reactOnTargetDirChange("TargetDir", installer.value("TargetDir"));
}

Component.prototype.reactOnTargetDirChange = function(key, value)
{
    if (key == "TargetDir") {
        var path = value + "/%CMAKE_BIN_DIR%";
        installer.setValue("CMAKE%CMake_VERSION_MAJOR%%CMake_VERSION_MINOR%_BIN_DIR", path.replace(/\\/g, "/"));
    }
}

Component.prototype.createOperations = function()
{
    component.createOperations();

    if (installer.value("os") == "win") {
        try {
            if (installer.value("SDKToolBinary") == "")
                return;

            var cmId = component.name;
            installer.setValue("CMAKE%CMake_VERSION_MAJOR%%CMake_VERSION_MINOR%_ID", cmId);

            component.addOperation("Execute",
                                   ["{0,2}", "@SDKToolBinary@", "addCMake",
                                    "--id", cmId,
                                    "--name", "%CMake_IFW_ROOT_COMPONENT_DISPLAY_NAME%",
                                    "--path", "@CMAKE%CMake_VERSION_MAJOR%%CMake_VERSION_MINOR%_BIN_DIR@/cmake.exe",
                                    "UNDOEXECUTE",
                                    "@SDKToolBinary@", "rmCMake", "--id", cmId]);

        } catch( e ) {
            print( e );
        }
    }
}