diff options
| author | ruki <[email protected]> | 2019-08-31 22:22:15 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-08-31 22:22:15 +0800 |
| commit | d87ef11e59b4c84c13c680d0dd28bd9a93de39d9 (patch) | |
| tree | 88f8986caa1b75628e6abba1acda8bfb4783f738 | |
| parent | 9b62ca9a3bdccb9a37f80a6dd943dfd13a502a32 (diff) | |
add objc, swift and asm rules
| -rw-r--r-- | xmake/languages/asm/xmake.lua | 3 | ||||
| -rw-r--r-- | xmake/languages/objc++/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/languages/swift/xmake.lua | 3 | ||||
| -rw-r--r-- | xmake/modules/core/tools/swiftc.lua | 2 | ||||
| -rw-r--r-- | xmake/rules/asm/xmake.lua | 30 | ||||
| -rw-r--r-- | xmake/rules/c++/xmake.lua | 4 | ||||
| -rw-r--r-- | xmake/rules/objc++/xmake.lua | 37 | ||||
| -rw-r--r-- | xmake/rules/swift/xmake.lua | 30 |
8 files changed, 107 insertions, 4 deletions
diff --git a/xmake/languages/asm/xmake.lua b/xmake/languages/asm/xmake.lua index c25704943..726e82dc3 100644 --- a/xmake/languages/asm/xmake.lua +++ b/xmake/languages/asm/xmake.lua @@ -39,6 +39,9 @@ language("asm") -- set mixing kinds set_mixingkinds("as") + -- add rules + add_rules("asm") + -- on load on_load("load") diff --git a/xmake/languages/objc++/xmake.lua b/xmake/languages/objc++/xmake.lua index 86a5cb0e8..7a6b0af4e 100644 --- a/xmake/languages/objc++/xmake.lua +++ b/xmake/languages/objc++/xmake.lua @@ -40,7 +40,7 @@ language("objc++") set_mixingkinds("mm", "mxx", "cc", "cxx", "as") -- add rules - add_rules("cpp.pcheader") + add_rules("objc++") -- on load on_load("load") diff --git a/xmake/languages/swift/xmake.lua b/xmake/languages/swift/xmake.lua index c4e9139c6..57fc4ad64 100644 --- a/xmake/languages/swift/xmake.lua +++ b/xmake/languages/swift/xmake.lua @@ -39,6 +39,9 @@ language("swift") -- set mixing kinds set_mixingkinds("sc", "mm", "mxx", "cc", "cxx") + -- add rules + add_rules("swift") + -- on load on_load("load") diff --git a/xmake/modules/core/tools/swiftc.lua b/xmake/modules/core/tools/swiftc.lua index eb6fecb99..2b7c16709 100644 --- a/xmake/modules/core/tools/swiftc.lua +++ b/xmake/modules/core/tools/swiftc.lua @@ -203,7 +203,7 @@ end -- make the compile arguments list function _compargv1(self, sourcefile, objectfile, flags) - return ccache.cmdargv(self.program(), table.join("-c", flags, "-o", objectfile, sourcefile)) + return ccache.cmdargv(self:program(), table.join("-c", flags, "-o", objectfile, sourcefile)) end -- compile the source file diff --git a/xmake/rules/asm/xmake.lua b/xmake/rules/asm/xmake.lua new file mode 100644 index 000000000..a60246957 --- /dev/null +++ b/xmake/rules/asm/xmake.lua @@ -0,0 +1,30 @@ +--!A cross-platform build utility based on Lua +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +-- Copyright (C) 2015 - 2019, TBOOX Open Source Group. +-- +-- @author ruki +-- @file xmake.lua +-- + +-- define rule: asm.build +rule("asm.build") + set_extensions(".s", ".asm") + on_build_files(function (target, sourcefiles, opt) + import("private.action.build.object")(target, sourcefiles, opt) + end) + +-- define rule: asm +rule("asm") + add_deps("asm.build") diff --git a/xmake/rules/c++/xmake.lua b/xmake/rules/c++/xmake.lua index 27d49df2a..a9eebf265 100644 --- a/xmake/rules/c++/xmake.lua +++ b/xmake/rules/c++/xmake.lua @@ -22,14 +22,14 @@ rule("c.build") set_extensions(".c") on_build_files(function (target, sourcefiles, opt) - import("build.object")(target, sourcefiles, opt) + import("private.action.build.object")(target, sourcefiles, opt) end) -- define rule: cpp.build rule("cpp.build") set_extensions(".cpp", ".cc", ".cxx") on_build_files(function (target, sourcefiles, opt) - import("build.object")(target, sourcefiles, opt) + import("private.action.build.object")(target, sourcefiles, opt) end) -- define rule: cpp diff --git a/xmake/rules/objc++/xmake.lua b/xmake/rules/objc++/xmake.lua new file mode 100644 index 000000000..dbd3a80ae --- /dev/null +++ b/xmake/rules/objc++/xmake.lua @@ -0,0 +1,37 @@ +--!A cross-platform build utility based on Lua +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +-- Copyright (C) 2015 - 2019, TBOOX Open Source Group. +-- +-- @author ruki +-- @file xmake.lua +-- + +-- define rule: objc.build +rule("objc.build") + set_extensions(".m") + on_build_files(function (target, sourcefiles, opt) + import("private.action.build.object")(target, sourcefiles, opt) + end) + +-- define rule: objc++.build +rule("objc++.build") + set_extensions(".mm") + on_build_files(function (target, sourcefiles, opt) + import("private.action.build.object")(target, sourcefiles, opt) + end) + +-- define rule: objc +rule("objc++") + add_deps("objc++.build", "objc.build") diff --git a/xmake/rules/swift/xmake.lua b/xmake/rules/swift/xmake.lua new file mode 100644 index 000000000..a2e9c5b17 --- /dev/null +++ b/xmake/rules/swift/xmake.lua @@ -0,0 +1,30 @@ +--!A cross-platform build utility based on Lua +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +-- Copyright (C) 2015 - 2019, TBOOX Open Source Group. +-- +-- @author ruki +-- @file xmake.lua +-- + +-- define rule: swift.build +rule("swift.build") + set_extensions(".swift") + on_build_files(function (target, sourcefiles, opt) + import("private.action.build.object")(target, sourcefiles, opt) + end) + +-- define rule: swift +rule("swift") + add_deps("swift.build") |
