diff options
| author | ruki <[email protected]> | 2018-04-17 22:46:43 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-04-17 10:40:23 +0800 |
| commit | e9df357185b4ed02e230a11bfe76ad7dcf3a5376 (patch) | |
| tree | 8f303e98154a684a8d9df11deb72cdf8d9554cb2 | |
| parent | acf8310347d557a731ded14acd283a073129bf29 (diff) | |
compile qrc file for qt
| -rw-r--r-- | tests/projects/console_c/xmake.lua | 2 | ||||
| -rw-r--r-- | tests/projects/qt_console/xmake.lua | 4 | ||||
| -rw-r--r-- | tests/projects/qt_quickapp/xmake.lua | 4 | ||||
| -rw-r--r-- | tests/projects/qt_shared_library/xmake.lua | 4 | ||||
| -rw-r--r-- | tests/projects/qt_static_library/xmake.lua | 4 | ||||
| -rw-r--r-- | xmake/rules/mode/xmake.lua | 10 | ||||
| -rw-r--r-- | xmake/rules/qt/xmake.lua | 43 |
7 files changed, 43 insertions, 28 deletions
diff --git a/tests/projects/console_c/xmake.lua b/tests/projects/console_c/xmake.lua index 4faa18a0f..a9106daff 100644 --- a/tests/projects/console_c/xmake.lua +++ b/tests/projects/console_c/xmake.lua @@ -1,6 +1,6 @@ -- add modes: debug and release -add_rules("mode:debug", "mode:release") +add_rules("mode.debug", "mode.release") -- add target target("console_c") diff --git a/tests/projects/qt_console/xmake.lua b/tests/projects/qt_console/xmake.lua index 0ab7a6b23..249f52cdd 100644 --- a/tests/projects/qt_console/xmake.lua +++ b/tests/projects/qt_console/xmake.lua @@ -1,12 +1,12 @@ -- add modes: debug and release -add_rules("mode:debug", "mode:release") +add_rules("mode.debug", "mode.release") -- add target target("qt_console") -- add rules - add_rules("qt:console") + add_rules("qt.console") -- add files add_files("src/*.cpp") diff --git a/tests/projects/qt_quickapp/xmake.lua b/tests/projects/qt_quickapp/xmake.lua index 87a1d80f8..a2f261d24 100644 --- a/tests/projects/qt_quickapp/xmake.lua +++ b/tests/projects/qt_quickapp/xmake.lua @@ -1,12 +1,12 @@ -- add modes: debug and release -add_rules("mode:debug", "mode:release") +add_rules("mode.debug", "mode.release") -- add target target("qt_demo") -- add rules - add_rules("qt:quickapp") + add_rules("qt.quickapp") -- add headers add_headers("src/*.h") diff --git a/tests/projects/qt_shared_library/xmake.lua b/tests/projects/qt_shared_library/xmake.lua index e3d3c0e61..803065b72 100644 --- a/tests/projects/qt_shared_library/xmake.lua +++ b/tests/projects/qt_shared_library/xmake.lua @@ -1,12 +1,12 @@ -- add modes: debug and release -add_rules("mode:debug", "mode:release") +add_rules("mode.debug", "mode.release") -- add target target("qt_demo") -- add rules - add_rules("qt:shared") + add_rules("qt.shared") -- add headers add_headers("src/*.h") diff --git a/tests/projects/qt_static_library/xmake.lua b/tests/projects/qt_static_library/xmake.lua index 00fcd0b31..ce755850a 100644 --- a/tests/projects/qt_static_library/xmake.lua +++ b/tests/projects/qt_static_library/xmake.lua @@ -1,12 +1,12 @@ -- add modes: debug and release -add_rules("mode:debug", "mode:release") +add_rules("mode.debug", "mode.release") -- add target target("qt_demo") -- add rules - add_rules("qt:static") + add_rules("qt.static") -- add headers add_headers("src/*.h") diff --git a/xmake/rules/mode/xmake.lua b/xmake/rules/mode/xmake.lua index ce7d470d1..56b50216a 100644 --- a/xmake/rules/mode/xmake.lua +++ b/xmake/rules/mode/xmake.lua @@ -23,7 +23,7 @@ -- -- define rule: debug mode -rule("mode:debug") +rule("mode.debug") on_load(function (target) -- is debug mode now? xmake f -m debug @@ -38,7 +38,7 @@ rule("mode:debug") end) -- define rule: release mode -rule("mode:release") +rule("mode.release") on_load(function (target) -- is release mode now? xmake f -m release @@ -56,7 +56,7 @@ rule("mode:release") end) -- define rule: profile mode -rule("mode:profile") +rule("mode.profile") on_load(function (target) -- is profile mode now? xmake f -m profile @@ -76,7 +76,7 @@ rule("mode:profile") end) -- define rule: check mode -rule("mode:check") +rule("mode.check") on_load(function (target) -- is check mode now? xmake f -m check @@ -98,7 +98,7 @@ rule("mode:check") end) -- define rule: coverage mode -rule("mode:coverage") +rule("mode.coverage") on_load(function (target) -- is coverage mode now? xmake f -m coverage diff --git a/xmake/rules/qt/xmake.lua b/xmake/rules/qt/xmake.lua index c386a5ea6..a1ec4957d 100644 --- a/xmake/rules/qt/xmake.lua +++ b/xmake/rules/qt/xmake.lua @@ -23,7 +23,7 @@ -- -- define rule: environment -rule("qt:env") +rule("qt.env") -- on load on_load(function (target) @@ -32,10 +32,10 @@ rule("qt:env") end) -- define rule: qt static library -rule("qt:static") +rule("qt.static") -- add rule: qt environment - add_deps("qt:env") + add_deps("qt.env") -- on load on_load(function (target) @@ -43,10 +43,10 @@ rule("qt:static") end) -- define rule: qt shared library -rule("qt:shared") +rule("qt.shared") -- add rule: qt environment - add_deps("qt:env") + add_deps("qt.env") -- on load on_load(function (target) @@ -54,10 +54,10 @@ rule("qt:shared") end) -- define rule: qt console -rule("qt:console") +rule("qt.console") -- add rule: qt environment - add_deps("qt:env") + add_deps("qt.env") -- on load on_load(function (target) @@ -65,10 +65,10 @@ rule("qt:console") end) -- define rule: qt widget application -rule("qt:widgetapp") +rule("qt.widgetapp") -- add rule: qt environment - add_deps("qt:env") + add_deps("qt.env") -- on load on_load(function (target) @@ -76,10 +76,10 @@ rule("qt:widgetapp") end) -- define rule: *.qrc -rule("qt:qrc") +rule("qt.qrc") -- add rule: qt environment - add_deps("qt:env") + add_deps("qt.env") -- set extensions set_extensions(".qrc") @@ -101,11 +101,12 @@ rule("qt:qrc") -- imports import("core.base.option") import("core.project.config") + import("core.tool.compiler") -- get rcc local rcc = target:data("rcc") - -- get c++ sourcefile for qrc + -- get c++ source file for qrc local sourcefile_cpp = path.join(config.buildir(), ".qt", "qrc", target:name(), path.basename(sourcefile_qrc) .. ".cpp") local sourcefile_dir = path.directory(sourcefile_cpp) if not os.isdir(sourcefile_dir) then @@ -119,13 +120,27 @@ rule("qt:qrc") -- compile qrc os.runv(rcc, {"-name", "qml", sourcefile_qrc, "-o", sourcefile_cpp}) + + -- get object file + local objectfile = target:objectfile(sourcefile_cpp) + + -- trace + if option.get("verbose") then + print(compiler.compcmd(sourcefile_cpp, objectfile, {target = target})) + end + + -- compile c++ source file for qrc + compiler.compile(sourcefile_cpp, objectfile, {target = target}) + + -- add objectfile + table.insert(target:objectfiles(), objectfile) end) -- define rule: qt quick application -rule("qt:quickapp") +rule("qt.quickapp") -- add rules - add_deps("qt:qrc") + add_deps("qt.qrc") -- on load on_load(function (target) |
