[CMake] fixup_bundle() on linux

Nicolas Rannou nicolas_rannou at hms.harvard.edu
Wed Feb 23 14:00:01 EST 2011


Hi all,

We develop a cmake-based application.
We create several libraries which are linked to VTK and ITK libraries.

ADD_LIBRARY( *QGoGui*
   ${QGoGUILIB_SRC}
   ${QGoGUILIB_MOC}
   ${QGoGUI_QRC}
)

SET( QGoGUI_LIBS
   ITKStatistics
   ...
   )

TARGET_LINK_LIBRARIES( *QGoGui*
   ${QGoGUI_LIBS}
   )

INSTALL( TARGETS *QGoGui*
   RUNTIME DESTINATION ${MYAPPLICATION_INSTALL_BIN_DIR} COMPONENT Runtime
   ARCHIVE DESTINATION ${MYAPPLICATION_INSTALL_LIB_DIR} COMPONENT Libraries
   LIBRARY DESTINATION ${MYAPPLICATION_INSTALL_LIB_DIR}  COMPONENT Libraries
   )

While installing the application (make install), we would like to 
install the new library (*QGoGui*) and the linked VTK and ITK libraries 
(*ITKStatistics*) into the target "/lib" folder 
(${MYAPPLICATION_INSTALL_LIB_DIR}) .

So far it only installs properly the new library (*QGoGui*) (NOT 
*ITKStatistics*).

The work around was to use fixup_bundle() for linux as well.
The problem is that on Linux, all the libraries ("new" and "3rd party") 
are moved to the "/bin" folder instead of the "/lib" folder.

Should we specialized the behavior of fixup_bundle() for linux somehow 
or should we add more instructions inside the INSTALL command?

Thanks


Nicolas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20110223/8a33b6bd/attachment.htm>


More information about the CMake mailing list