[CMake] Differentiate between Linux and FreeBSD
Alan W. Irwin
irwin at beluga.phys.uvic.ca
Wed Apr 23 00:53:19 EDT 2008
On 2008-04-22 21:48-0400 Amitha Perera wrote:
> Horacio Sanson wrote:
>> The problem is that in linux I have to add the sctp library (i.e.
>> -lsctp) if not compilation fails and in FreeBSD adding that library
>> would cause the compiler to complain.
>>
>> if there is a better way to do this I am eager to learn it.
>
> Not necessarily "better", but if sctp exists on Linux, but not on FreeBSD (or
> more generally, if sctp should be linked against whenever it is found), an
> option is
>
> find_library( SCTP_LIBRARY sctp )
>
> target_link_libraries( your_exec ${SCTP_LIBRARY} )
Good idea, but I believe you would also need the following modification to
the above logic
find_library( SCTP_LIBRARY sctp )
if(SCTP_LIBRARY)
target_link_libraries( your_exec ${SCTP_LIBRARY} )
endif(SCTP_LIBRARY)
The reason for the extra logic is that if libsctp is not found then
SCTP_LIBRARY with be set to "SCTP_LIBRARY-NOTFOUND" which would screw up
"target_link_libraries" without the "if" protection.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
More information about the CMake
mailing list