Open donn opened 3 months ago
There at least seems to be existing prescient / intended permission to do so, think it is doable although I'm not much of a CMake magician.
My guess would be to change this out for a shared include for the library detection, similar to patterns used for other libraries, and add the missing conditions for explicit link-only case.
Replace in the original block(s) in src/sta/CMakeList.txt
, swap out to use the include.
Then special cases in src/CMakeList.txt
by adding the include in either the first else()
or add a new else case around line 400.
@donn how urgent is this for you? It might take a bit to get opensta to factor out the cudd cmake code. If you need it urgently then I could just copy it over to OR for now.
Not urgent! I already have a dirty patch I can apply during the build process, so take all the time you need to do it right.
Describe the bug
Newer versions of OpenSTA require CUDD and links it as follows:
This link propagates to OpenROAD when OpenSTA is built as part of OpenROAD, however when
USE_SYSTEM_OPENSTA
is set and OpenSTA is used as a static library, this link does not propagate and the CUDD symbols are not found.Expected Behavior
Something similar to the code above should also be in OpenROAD's CMake manifests -- I understand
USE_SYSTEM_OPENSTA
is something of hassle and I thank you for continuing to support it (it cuts down build times tremendously with caching build systems like Nix.)Environment
To Reproduce
N/A
Relevant log output
Screenshots
No response
Additional Context
I added my CMake build flags to ./etc/Env.sh as I think they're pertinent in this situation.