diff options
| author | ruki <[email protected]> | 2025-04-08 00:41:42 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-04-08 15:31:58 +0800 |
| commit | f72d519dfe7b3a3744660ed15c620dbd5344c16c (patch) | |
| tree | 69cf29e05d1554b93d94c653938e15fda684bffa | |
| parent | 6fc28a78bf95490b5c230a42c0f4a40ab5aad2e4 (diff) | |
prepare targets in cmakelists generator
| -rw-r--r-- | xmake/actions/build/build.lua | 8 | ||||
| -rw-r--r-- | xmake/actions/build/build_files.lua | 8 | ||||
| -rw-r--r-- | xmake/modules/private/action/build/build_binary.lua | 4 | ||||
| -rw-r--r-- | xmake/modules/private/action/build/build_object.lua | 4 | ||||
| -rw-r--r-- | xmake/modules/private/action/build/link_objects.lua | 4 | ||||
| -rw-r--r-- | xmake/modules/private/action/build/prepare_files.lua | 4 | ||||
| -rw-r--r-- | xmake/plugins/project/cmake/cmakelists.lua | 19 |
7 files changed, 24 insertions, 27 deletions
diff --git a/xmake/actions/build/build.lua b/xmake/actions/build/build.lua index 270b24ea7..d4f5658fb 100644 --- a/xmake/actions/build/build.lua +++ b/xmake/actions/build/build.lua @@ -23,7 +23,7 @@ import("core.base.option") import("core.project.config") import("core.project.project") import("private.service.distcc_build.client", {alias = "distcc_build_client"}) -import("private.action.build.target", {alias = "target_utils"}) +import("private.action.build.target", {alias = "target_buildutils"}) import("deprecated.build", {alias = "deprecated_build"}) -- run prepare jobs @@ -31,7 +31,7 @@ function _prepare(targets_root, opt) opt = opt or {} opt.job_kind = "prepare" opt.progress_factor = 0.05 - target_utils.run_targetjobs(targets_root, opt) + target_buildutils.run_targetjobs(targets_root, opt) end -- run build jobs @@ -42,13 +42,13 @@ function _build(targets_root, opt) if distcc_build_client.is_connected() then opt.distcc = distcc_build_client.singleton() end - target_utils.run_targetjobs(targets_root, opt) + target_buildutils.run_targetjobs(targets_root, opt) end function main(targetnames, opt) -- get root targets - local targets_root = target_utils.get_root_targets(targetnames, opt) + local targets_root = target_buildutils.get_root_targets(targetnames, opt) -- prepare to build _prepare(targets_root, opt) diff --git a/xmake/actions/build/build_files.lua b/xmake/actions/build/build_files.lua index 12d9b00ee..1bbad79f6 100644 --- a/xmake/actions/build/build_files.lua +++ b/xmake/actions/build/build_files.lua @@ -24,7 +24,7 @@ import("core.base.hashset") import("core.project.config") import("core.project.project") import("private.service.distcc_build.client", {alias = "distcc_build_client"}) -import("private.action.build.target", {alias = "target_utils"}) +import("private.action.build.target", {alias = "target_buildutils"}) import("deprecated.build_files", {alias = "deprecated_build_files"}) -- convert all sourcefiles to lua pattern @@ -77,7 +77,7 @@ function _prepare_files(targets_root, opt) opt.job_kind = "prepare" opt.progress_factor = 0.05 opt.filepatterns = _get_file_patterns(opt.sourcefiles) - target_utils.run_filejobs(targets_root, opt) + target_buildutils.run_filejobs(targets_root, opt) end -- run build files jobs @@ -89,7 +89,7 @@ function _build_files(targets_root, opt) if distcc_build_client.is_connected() then opt.distcc = distcc_build_client.singleton() end - if not target_utils.run_filejobs(targets_root, opt) then + if not target_buildutils.run_filejobs(targets_root, opt) then wprint("%s not found!", opt.sourcefiles) end end @@ -97,7 +97,7 @@ end function main(targetnames, opt) -- get root targets - local targets_root = target_utils.get_root_targets(targetnames, opt) + local targets_root = target_buildutils.get_root_targets(targetnames, opt) -- prepare to build files _prepare_files(targets_root, opt) diff --git a/xmake/modules/private/action/build/build_binary.lua b/xmake/modules/private/action/build/build_binary.lua index c30addfef..72263e6c8 100644 --- a/xmake/modules/private/action/build/build_binary.lua +++ b/xmake/modules/private/action/build/build_binary.lua @@ -20,7 +20,7 @@ -- imports import("build_object") -import("private.action.build.target", {alias = "target_utils"}) +import("private.action.build.target", {alias = "target_buildutils"}) function main(jobgraph, target) local objects_group = target:fullname() .. "/objects" @@ -31,7 +31,7 @@ function main(jobgraph, target) if jobgraph:size() > jobsize then local link_group = target:fullname() .. "/link" jobgraph:group(link_group, function () - target_utils.add_linkjobs(jobgraph, target) + target_buildutils.add_linkjobs(jobgraph, target) end) jobgraph:add_orders(objects_group, link_group) end diff --git a/xmake/modules/private/action/build/build_object.lua b/xmake/modules/private/action/build/build_object.lua index 2a44bcea6..2a6baa59a 100644 --- a/xmake/modules/private/action/build/build_object.lua +++ b/xmake/modules/private/action/build/build_object.lua @@ -19,8 +19,8 @@ -- -- imports -import("private.action.build.target", {alias = "target_utils"}) +import("private.action.build.target", {alias = "target_buildutils"}) function main(jobgraph, target) - target_utils.add_filejobs(jobgraph, target, {job_kind = "build"}) + target_buildutils.add_filejobs(jobgraph, target, {job_kind = "build"}) end diff --git a/xmake/modules/private/action/build/link_objects.lua b/xmake/modules/private/action/build/link_objects.lua index 099674d3e..25214d27e 100644 --- a/xmake/modules/private/action/build/link_objects.lua +++ b/xmake/modules/private/action/build/link_objects.lua @@ -25,7 +25,7 @@ import("core.tool.compiler") import("core.project.depend") import("utils.progress") import("build_object") -import("private.action.build.target", {alias = "target_utils"}) +import("private.action.build.target", {alias = "target_buildutils"}) -- do link target function _do_link_target(target, opt) @@ -33,7 +33,7 @@ function _do_link_target(target, opt) local linkflags = linkinst:linkflags({target = target}) -- need build this target? - local depfiles = target_utils.get_linkdepfiles(target) + local depfiles = target_buildutils.get_linkdepfiles(target) local dryrun = option.get("dry-run") local depvalues = {linkinst:program(), linkflags} depend.on_changed(function () diff --git a/xmake/modules/private/action/build/prepare_files.lua b/xmake/modules/private/action/build/prepare_files.lua index a0ecc242a..d8ca351ca 100644 --- a/xmake/modules/private/action/build/prepare_files.lua +++ b/xmake/modules/private/action/build/prepare_files.lua @@ -20,8 +20,8 @@ -- imports import("core.base.option") -import("private.action.build.target", {alias = "target_utils"}) +import("private.action.build.target", {alias = "target_buildutils"}) function main(jobgraph, target) - target_utils.add_filejobs(jobgraph, target, {job_kind = "prepare"}) + target_buildutils.add_filejobs(jobgraph, target, {job_kind = "prepare"}) end diff --git a/xmake/plugins/project/cmake/cmakelists.lua b/xmake/plugins/project/cmake/cmakelists.lua index 22edabcd2..464101268 100644 --- a/xmake/plugins/project/cmake/cmakelists.lua +++ b/xmake/plugins/project/cmake/cmakelists.lua @@ -31,6 +31,7 @@ import("lib.detect.find_tool") import("private.utils.batchcmds") import("private.utils.rule_groups") import("private.utils.target", {alias = "target_utils"}) +import("private.action.build.target", {alias = "target_buildutils"}) import("plugins.project.utils.target_cmds", {rootdir = os.programdir()}) import("rules.c++.modules.modules_support.compiler_support", {alias = "module_compiler_support", rootdir = os.programdir()}) @@ -298,6 +299,12 @@ function _get_flags_from_target(target, flagkind) return results end +-- prepare targets +function _prepare_targets() + local targets_root = target_buildutils.get_root_targets() + target_buildutils.run_targetjobs(targets_root, {job_kind = "prepare"}) +end + -- set compiler function _set_compiler(cmakelists) if config.get("toolchain") then @@ -1331,21 +1338,11 @@ function _generate_cmakelists(cmakelists, outputdir) end end --- make function make(outputdir) - - -- enter project directory local oldir = os.cd(os.projectdir()) - - -- open the cmakelists local cmakelists = io.open(path.join(outputdir, "CMakeLists.txt"), "w") - - -- generate cmakelists + _prepare_targets() _generate_cmakelists(cmakelists, outputdir) - - -- close the cmakelists cmakelists:close() - - -- leave project directory os.cd(oldir) end |
