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?