autotools <shudder> Unable to believe CMake could possibly be this rubbish (I am a devotee I'm afraid) I've just spent the last couple of hours sifting through the CMake's own source code to track this one down. It turns out that you have collectively conspired to besmirch the good name of CMake and an immediate and full retraction is required! ;)
It seems the problem here is not with CMake but actually with the qpid-dispatch code, which has duplicate install routines for the qdstat/qdmanager files. One is as Gordon described using install(PROGRAMS...) and the other is via the python distutils method using <qpid-dispatch>/python/setup.py.in; it is in fact distutils that munges the shebang as described and not CMake at all! Removing qdstat/qdmanager from setup.py.in fixes the problem. CMake: 1, distutils: nil. On 6 September 2017 at 20:00, Ken Giusti <kgiu...@redhat.com> wrote: > Alan - > > Hate cmake? Maybe you'd be interested in automake instead. > > /me ducks > > ;) > > On Wed, Sep 6, 2017 at 2:44 PM, Alan Conway <acon...@redhat.com> wrote: > > On Wed, Sep 6, 2017 at 12:58 PM, Gordon Sim <g...@redhat.com> wrote: > > > >> It seems that the install directive for PROGRAMS in cmake somehow > >> evaluates and rewrites the interpreter directive in some way. > >> > >> E.g. in dispatch there is: > >> > >> install(PROGRAMS > >>> ${CMAKE_CURRENT_SOURCE_DIR}/tools/qdstat > >>> ${CMAKE_CURRENT_SOURCE_DIR}/tools/qdmanage > >>> DESTINATION bin) > >>> > >> > >> The first line of both those scripts is: > >> > >> #!/usr/bin/env python > >>> > >> > >> But when you install, it rewrites that to whatever that evaluates to. > This > >> is not really what is wanted when building an install image for > >> installation in some other system (e.g. an rpm or a docker image), where > >> the setup may be different. > >> > >> Does anyone know of a simple way to prevent this? > >> > >> > > That boggles my mind. I tried install(FILES...) and it does the same > > thing!!@#???? > > The cmake docs do not mention anything about such transformations, > > anywhere. The string "#!" does not even occur in the docs. The install > doc > > says it simply copies the files, which is clearly a lie. Since there's no > > mention that this "feature" even exists, I've no idea how to turn it off > - > > install won't allow a COPYONLY tag like configure_file, I tried. Sigh. > Did > > I mention I hate cmake? > > > > -- > -K > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org > For additional commands, e-mail: users-h...@qpid.apache.org > > -- *Chris Richardson*, System Architect c...@fourc.eu *FourC AS, Vestre Rosten 81, Trekanten, NO-7075 Tiller, Norwaywww.fourc.eu <http://www.fourc.eu/>* *Follow us on LinkedIn <http://bit.ly/fourcli>, Facebook <http://bit.ly/fourcfb>, Google+ <http://bit.ly/fourcgp> and Twitter <http://bit.ly/fourctw>!*