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

support Ninja, establish dependencies relationship between paddle with third_party #33140

Merged
merged 7 commits into from
Jun 29, 2021

Conversation

zhwesky2010
Copy link
Contributor

@zhwesky2010 zhwesky2010 commented May 26, 2021

PR types

New features

PR changes

Others

Describe

在Windows,Ninja具有更好的编译速度与稳定性,因此Paddle支持Ninja编译;

在Paddle编译依赖关系中,如果在cmake中指定Target A依赖文件B,而文件B依赖Target C,对于make或MSVC构建系统中,无需明确描述文件B的来源,会缺省建立Target ATarget C的依赖关系。

但是在Ninja构建系统中,其要求严格明确的构建规则,必须要指明文件B的来源,否则会报错:

image

在Paddle中第三方库中大量使用了如上语法形式,因此需通过ExternalProjectAdd语法BUILD_BYPRODUCTS对产出文件进行了绑定,以建立正确的Ninja编译规则,Windows CI同时会开启Ninja编译检查。

@paddle-bot-old
Copy link

Thanks for your contribution!
Please wait for the result of CI firstly. See Paddle CI Manual for details.

@zhwesky2010 zhwesky2010 changed the title support Ninja and establish dependencies relationship between paddle with third_party support Ninja rule and establish dependencies relationship between paddle with third_party May 31, 2021
@paddle-bot-old
Copy link

paddle-bot-old bot commented Jun 8, 2021

Sorry to inform you that 470add1's CIs have passed for more than 7 days. To prevent PR conflicts, you need to re-run all CIs manually.

@paddle-bot-old
Copy link

Sorry to inform you that a1b0645's CIs have passed for more than 7 days. To prevent PR conflicts, you need to re-run all CIs manually.

@zhwesky2010 zhwesky2010 changed the title support Ninja rule and establish dependencies relationship between paddle with third_party support Ninjn, establish dependencies relationship between paddle with third_party Jun 28, 2021
@zhwesky2010 zhwesky2010 changed the title support Ninjn, establish dependencies relationship between paddle with third_party support Ninja, establish dependencies relationship between paddle with third_party Jun 28, 2021
Copy link
Contributor

@Avin0323 Avin0323 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Collaborator

@raindrops2sea raindrops2sea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants