May i know is the a way we can access a library which is not defined in cds.lib?
Let's say i have a local common library, and i wanted to do some testing on user workspace. Without touching/modify user's cds.lib, i want to access my local common library and do some verification on user workspace.
Do cadence (SKILL) has such capability?
You could use ddSetForcedLib() to point at another cds.lib file which contains a reference to your library. Or run "virtuoso -cdslib /path/to/your/cds.lib". Otherwise, no.
In reply to Andrew Beckett:
If this is the case, means i cant pull in any library (not included in cds.lib) into my database. =(
In reply to kb how:
I created a skill code (cheat way) which read current working directory cds.lib and create a new cds.lib at /tmp by addding the newLib path as below. Is this recommended?
;==================================================================================================; Description: ; Cheat way to define other library into your current working directory without; touching user's cds.lib. It will create a temporary cds.lib file and set the file as new; cds.lib file.; ; Date: 01.17.2013 ;==================================================================================================procedure( update_cdslib( newLib newLibPath "tt") let(( line cdslib newfile inp outp) unless( isDir(newLibPath) error("Input newLibPath %L not exist\n") );unless cdslib = ddGetForcedLibEx(nil) when( cdslib == "" || !isFile(cdslib) cdslib = strcat(getWorkingDir() "/cds.lib") );when sprintf(newfile "/tmp/cds.lib_%s" buildString(parseString(getCurrentTime() ": ") "")) inp = infile(cdslib) outp = outfile(newfile) while( gets(line inp) fprintf(outp "%s" line) );while fprintf(outp "\n\n# New added by %s at %s\n" getLogin() getCurrentTime()) fprintf(outp "DEFINE %s %s\n" newLib newLibPath) close(inp) close(outp) when( isFile(newfile) ddSetForcedLib(newfile) );when ddUpdateLibList() );let );proc
Seems reasonable. I've donesimilar things in the past.
Thanks. This is the best i can think of.