<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">we have a number of internally developed libraries which we use together.<br>
<br>
i am creating an sdk which wraps all the internal libraries, and presents a single api to customers.<br>
<br>
i have built a small test by hand, and it works like this<br>
% cc -c sdk_api.c<br>
% ln -r sdk_api.o libinternal1.a libinternal2.a -o sdk.o -exported_sybmols_list sdk_api_entry.txt<br>
% strip -x sdk.o<br>
% ar r libsdk.a sdk.o<br>
<br>
this creates a libsdk.a which ONLY has the api entry points exposed to customers and hides all the globals from the internal libraries.<br>
<br>
can't quite wrap my head how to express this in cmake's world of sources, libraries and targets.<br>
<br>
best i can think of is a custom target, which then depends on the internal libraries ( which are built in the same project ), and then somehow get the path names to the internal libraries to construct the link line, only i can't even figure out how to do that.<br>
<br>
anyone have a clue? we have ended up have tons of system specific target construction rules, so i don't mind if i have to write the custom target differently for different target OSes.<br>
<br>
thanks.<br>
<br>
-michael toy<br>
<br>
<br>
</div>
</body>
</html>