Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

target:set_sourcedir 设置源码目录 #2274

Closed
car520120 opened this issue Apr 16, 2022 · 2 comments
Closed

target:set_sourcedir 设置源码目录 #2274

car520120 opened this issue Apr 16, 2022 · 2 comments

Comments

@car520120
Copy link

你在什么场景下需要该功能?

work dir 工作目录结构

H:\WORKPRO\LEARN\TBOX\LIBRARY_WITH_CMAKELISTS
│ xmake.lua

├─aa
│ └─bb
│ └─cc
│ └─foo
│ │ CMakeLists.txt
│ │
│ └─src
│ foo.c
│ foo.h

└─src
main.c

aa 为甲方团队目录提供的是库,当前无权修 aa目录中的任何内容只能引用他的工程或者源码文件

描述可能的解决方案

xmake.lua

add_rules("mode.debug", "mode.release")
local foo_home = path.join(os.scriptdir(),"aa/bb/cc/foo")
target("foo")
set_sourcedir(foo_home)
add_files("src/*.c")
add_includedirs("src",{ public = true })

target("demo")
set_kind("binary")
add_deps("foo")
add_files("src/main.c")

生成vs 工程时
foo 项目源码结构如下
└─src
foo.c
foo.h

去除多余的 aa/bb/cc/foo

描述你认为的候选方案

add_files("aa/bb/cc/foo/src/*.c",{ sourcedir = "aa/bb/cc/foo/" })
生成 vs 工程时如上

其他信息

其实就是代替在 foo 目录下写工程文件
aa/bb/cc/foo/xmake.lua
生成的工程是可以达到我想要的效果的,只是每一次 git 提交代码都提示无权限特别麻烦

@waruqi
Copy link
Member

waruqi commented Apr 17, 2022

重复了,跟 #1149 这个类似

暂时没时间搞。

@waruqi
Copy link
Member

waruqi commented Apr 19, 2022

可以了 dev

源码分组我支持了。dev 版本 #2282

@waruqi waruqi closed this as completed Apr 19, 2022
@waruqi waruqi added this to the v2.6.5 milestone Apr 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants