target_link_libraries( final_project library ) ? On Tue, Aug 18, 2015 at 11:29 AM, Ette, Anthony (CDS) < anthony.r.e...@controlsdata.com> wrote:
> Given that add_library() produces a unique filename per platform (the “actual > file name of the library built is constructed based on conventions of the > native platform (such as lib<name>.a or<name>.lib”), how does one add the > library to the final application without having to deal with the filename > difference? In other words, I’ve got one library that, by default, > produces ‘libtest.a’ on Linux and ‘test.lib’ on Windows. How can I add > this imported library into the final application in a cross platform > manner? I know I can specify two different imported locations (see below), > but it seems odd to me that Cmake – the cross-platform build env generator > – doesn’t have a better native way of dealing with this…. > > > > The snippet below will work, but just seems wrong given the nature of what > CMake is intended to do…is there a better way that I’m missing?! If not, > can I request that a future release of Cmake handle platform naming > convention difference internally when invoking ADD_LIBRARY with the > IMPORTED tag set? Ok so, to be fair, Cmake can be used to cross compile > and that certainly complicates my feature request but, when not cross > compiling, CMake knows what platform it’s being executed on so it should be > able to resolve static archive platform decorations internally. > > > > ADD_LIBRARY(test STATIC IMPORTED) > > if(WIN32) > > SET_PROPERTY(TARGET test PROPERTY IMPORTED_LOCATION ${LIB_D}/timer.lib) > > endif() > > if(UNIX) > > SET_PROPERTY(TARGET test PROPERTY IMPORTED_LOCATION > ${LIB_D}/libtimer.a) > > endif() > > > > Thanks in advance, > > > *Anthony Ette *Control Systems Engineer > > > > Rolls-Royce Controls and Data Services > > 7661 N Perimeter Rd > > Indianapolis, IN 46241 > > tel: +1 (317) 230-6943 > > mob: +1 (317) 864-7975 > > email: anthony.r.e...@controlsdata.com > > > This e-mail (including attachments) contains contents owned by Rolls-Royce > plc and its subsidiaries, affiliated companies or customers and covered by > the laws of England and Wales, Brazil, US, or Canada (federal, state or > provincial). The information contained in this email is intended to be > confidential, may be legally privileged and subject to export controls > which may restrict the access to and transfer of the information. If you > are not the intended recipient, you are hereby notified that any retention, > dissemination, distribution, interception or copying of this communication > is strictly prohibited and may subject you to further legal action. Reply > to the sender if you received this email by accident, and then delete the > email and any attachments. > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake >
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake