diff options
| author | ruki <[email protected]> | 2020-02-23 11:19:33 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-02-23 11:54:26 +0800 |
| commit | 9d34862fe5c82c7ac7e8d6dd8a1d951b3f1ed46c (patch) | |
| tree | 3f34a71e6b7a72ca8750f05acfa5a7a6f6739fdc /xmake/plugins/project | |
| parent | abffcefe13ed5867a9c340214baa431795e4857f (diff) | |
regenerate build.ninja
Diffstat (limited to 'xmake/plugins/project')
| -rw-r--r-- | xmake/plugins/project/ninja/build_ninja.lua | 25 | ||||
| -rw-r--r-- | xmake/plugins/project/vsxmake/getinfo.lua | 4 |
2 files changed, 27 insertions, 2 deletions
diff --git a/xmake/plugins/project/ninja/build_ninja.lua b/xmake/plugins/project/ninja/build_ninja.lua index 7d8700473..f46730e22 100644 --- a/xmake/plugins/project/ninja/build_ninja.lua +++ b/xmake/plugins/project/ninja/build_ninja.lua @@ -37,6 +37,14 @@ function _add_header(ninjafile) ninjafile:print("") end +-- add rules for generator +function _add_rules_for_generator(ninjafile) + ninjafile:print("rule gen") + ninjafile:print(" command = xmake project -k ninja") + ninjafile:print(" description = regenerating ninja files") + ninjafile:print("") +end + -- add rules for complier (gcc) function _add_rules_for_compiler_gcc(ninjafile, sourcekind, program) local ccache = find_tool("ccache") @@ -159,6 +167,9 @@ end -- add rules function _add_rules(ninjafile) + -- add rules for generator + _add_rules_for_generator(ninjafile) + -- add rules for complier _add_rules_for_compiler(ninjafile) @@ -219,12 +230,26 @@ function _add_build_for_target(ninjafile, target) end end +-- add build rule for generator +function _add_build_for_generator(ninjafile) + ninjafile:print("# build build.ninja") + ninjafile:print("build build.ninja: gen $") + local allfiles = project.allfiles() + for idx, projectfile in ipairs(allfiles) do + ninjafile:print(" %s %s", os.args(path.relative(path.absolute(projectfile))), idx < #allfiles and "$" or "") + end + ninjafile:print("") +end + -- add build rule for targets function _add_build_for_targets(ninjafile) -- begin ninjafile:print("# build targets\n") + -- add build rule for generator + _add_build_for_generator(ninjafile) + -- TODO -- disable precompiled header first for _, target in pairs(project.targets()) do diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua index d7e923d62..583e10932 100644 --- a/xmake/plugins/project/vsxmake/getinfo.lua +++ b/xmake/plugins/project/vsxmake/getinfo.lua @@ -270,8 +270,8 @@ function main(outputdir, vsinfo) vsinfo.solution_dir = path.absolute(path.join(outputdir, "vsxmake" .. vsinfo.vstudio_version)) vsinfo.programdir = _make_dirs(xmake.programdir()) vsinfo.projectdir = project.directory() - vsinfo.sln_projectfile = path.relative(project.file(), vsinfo.solution_dir) - local projectfile = path.filename(project.file()) + vsinfo.sln_projectfile = path.relative(project.rootfile(), vsinfo.solution_dir) + local projectfile = path.filename(project.rootfile()) vsinfo.slnfile = path.filename(project.directory()) -- write only if not default if projectfile ~= "xmake.lua" then |
