Dear Eric,

Thank you very much for your quick reply.

INSTALL( PROGRAMS ... ) worked fine.
If I am using this, I also do not need to specify any IMPORTED related
stuff.

As my understanding now, the following lines are sufficient for creating
pack.

INSTALL( TARGETS ${EXECUTABLE_NAME} DESTINATION ${INSTALL_DIR} ) // For
Executable from the current CMakeLists.txt

INSTALL( PROGRAMS ${EXTERNAL_EXE} DESTINATION ${INSTALL_DIR} ) // For
including external executable in the archive

INSTALL( FILES LIB1 LIB2 DESTINATION ${INSTALL_DIR} ) // For libraries
(current or external) or any other files

A few clarifications required:

For an application using Qt libraries, should I pack the related Qt
libraries (QtCore, QtGui, QtOpenGL) ?? or not ?? If I am giving this to
somebody, I should include them or ask them to install on their machine ?

Also, what is the preferred path or tree for installing package? When RPM
is installed, will it automatically be included in the $PATH or I have to
do it someway?

Thanks once again.

--
regards,
Manoj

On Fri, Nov 9, 2012 at 2:24 PM, Eric Noulard <[email protected]> wrote:

> 2012/11/9 Manoj Vaghela <[email protected]>:
> > Dear Eric,
> >
> > Thanks for your reply.
> >
> > When I am using INSTALL (FILES... ) for adding external executable to my
> > CMakeLists.txt file, it shows the executable file in the RPM archive. But
> > it's execute permission is lost. What should I have to do for that?
> >
> > Also, ADD_EXECUTABLE( ... IMPORTED) did not work for me. I added this
> line
> > but when archive is created, it did not include my executable in it.
>
> See my comment below:
>
> >
> > This is sample of my CMakeLists.txt
> > -----------------------------------------------
> >
> > SET( CPACK_GENERATOR "RPM" )
> >
> > ##### MAIN EXE
> > SET( MAIN_EXE myExe)
> > ADD_EXECUTABLE(${MAIN_EXE} SOME_SOURCE_FILES )
> > SET( INSTALL_DIR "$ENV{HOME}/MANOJ" )
> > INSTALL( TARGETS ${MAIN_EXEC} DESTINATION ${INSTALL_DIR} )
> >
> > ##### EXTERNAL EXE
> > SET( EXTERNAL_EXE "/home/manoj/EXTERNAL/a.out.exe" )
> > SET( IMPORTED_LOCATION ${EXTERNAL_EXE} )
> > ADD_EXECUTABLE( ${EXTERNAL_EXE} IMPORTED) // This does not pack the
> > executable
>
> Once the external executable is imported as a TARGET
> you have to install it:
> INSTALL( TARGETS  ${EXTERNAL_EXE}  DESTINATION ${INSTALL_DIR} )
>
> >
> > #INSTALL( FILES ${EXTERNAL_EXE} DESTINATION ${INSTALL_DIR}) // This
> packs,
> > but permissions lost
>
> My mistake for executable you should be using
> install(PROGRAMS files... DESTINATION <dir>
>                  [PERMISSIONS permissions...]
>                  [CONFIGURATIONS [Debug|Release|...]]
>                  [COMPONENT <component>]
>                  [RENAME <name>] [OPTIONAL])
>
> signature.
> --
> Erk
> Le gouvernement représentatif n'est pas la démocratie --
> http://www.le-message.org
>
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to