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 /xmake/plugins | |
| parent | 6fc28a78bf95490b5c230a42c0f4a40ab5aad2e4 (diff) | |
prepare targets in cmakelists generator
Diffstat (limited to 'xmake/plugins')
| -rw-r--r-- | xmake/plugins/project/cmake/cmakelists.lua | 19 |
1 files changed, 8 insertions, 11 deletions
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 |
