Comments (9)
We use unity builds (we call them bulkbuilds) internally as well. EASTL is tested regularly in bulkbuild scenarios so it should be pretty painless to get the code compiling. I'm not anticipating any code changes are required. I wonder how easy/hard cmake makes this...
from eastl.
I've been experimenting a bit with them in CMake today, and it's pretty hard to get working. I tried various ways to get it working, and all of them have been breaking in some way.
I'll try to experiment a bit more, worst case scenario, we could always switch to waf :P
from eastl.
from eastl.
Waf is a build system written in Python. Initially based on Scons, but later rewritten because the author decided that the problems of Scons (mainly performance) were too complicated to fix.
It's being used by Avalanche Studios (the guys behind Just Cause), CryEngine, and other projects where you need full control over the build process.
It features stuff like Unity builds as an out of the box feature, and it has generators for Visual Studio, Eclipse, and some other IDEs (all call back into Waf for the building).
I'm currently using it for my personal projects, so I can provide build files as a proof of concept if needed.
Check out the wikipedia page on it: https://en.wikipedia.org/wiki/Waf
The website: https://waf.io/
And the official book: https://waf.io/book/
from eastl.
from eastl.
I've tried this http://kecsapblog.blogspot.nl/2016/03/unity-build-macro-for-cmake.html and an older variation of it, and cotire, which all claim to do unity builds on cmake.
The former comes closest, but fails when linking, and it looks like it's because it doesn't include the compiled unity build object in the link command. I think this happens because it looks like the functions have been written for CMake 2.x.
Cotire had dependency problems and would compile stuff 3 times.
from eastl.
Welp, I haven't found anything that gets me Unity builds on CMake reliably. If anybody else knows how to properly incorporate Unity builds in CMake, feel free to PR/post, I'm giving up on it for now.
from eastl.
I'm going to close the bug. Feel free to re-open or just submit a PR if you wish to continue the work.
from eastl.
I think I ran into a similar issue with waf, which is fixed by changing the order of inclusion in EAStdC.
Perhaps some work should be done to make it order independent? I don't exactly remember what the exact linker error was, but I'll give it a try later.
from eastl.
Related Issues (20)
- Eastl is susport windows kernel? HOT 1
- Building EASTL HOT 1
- [MSVC][std:c++latest] EASTL build failed due to error C2666: 'TestLruCacheInternal::Foo::operator ==': overloaded functions have similar conversions HOT 2
- intrusive_slist is not implemented
- No signed tarball for releases
- Build with Clang15 results in warnings about deprecated builtins HOT 1
- Inquiry about the expected behavior of the comparison operators in RingBuffer HOT 1
- compilation error due to `std::remove_reference` HOT 5
- Tests fail to compile: error: use of undeclared identifier 'getpid'
- Tests fail to compile: error: use of undeclared identifier 'pthread_attr_get_np'
- Tests fail to link: ld: error: undefined symbol: EA::EAMain::InitializeSignalHandler()
- Consider using reset() for fast container teardown - Best pratices HOT 2
- emscripten support? HOT 1
- [Question] Should eastl::unordered_set.reserve not check if a change is required?
- Error of RBTreeDecrement function HOT 3
- Move semantic dosn't work with eastl::list HOT 2
- Critical silent bug: vector push back of an own element moves it and calls a copy constructor on the invalidated reference HOT 1
- Overriding make_unique and default_delete HOT 2
- std::thread support HOT 1
- How to run unit tests HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eastl.