Eric Noulard skrev 2012-11-26 19:43:

<snip>

But my real problem is then that I can't get CPack to work without
CPACK_SET_DESTDIR.

My (inherited) CMakeList.txt:s does specify

     set(CMAKE_INSTALL_PREFIX /usr/local)

but also things like

     install(... DESTINATION ${BIN_INSTALL_DIR} ...)
     set(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin)
     set(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})

I am starting to suspect that the expansion of this binds all install
targets to the absolute path in CMAKE_INSTALL_PREFIX. And that it instead
should be something like

     install(... DESTINATION ${BIN_INSTALL_DIR} ...)
     set(BIN_INSTALL_DIR bin)
Precisely!!
But I doubt the order of definition of your vars is the good one:

set(BIN_INSTALL_DIR bin)
install(... DESTINATION ${BIN_INSTALL_DIR} ...)

should be the good one.

It actually is, so I'm good there ;-)

The baseline is
"Do not use absolute prefix to install(...  DESTINATION ...)
  unless you really want to put something in absolute place"

  (like  /etc/what/ever.conf)


And I've fixed that, so now it actually packages the correct files.

But, next question ;-)

Now that I am using a relative (to CMAKE_INSTALL_PREFIX) installation scheme, I'd also like to have my TGZ/TZ/ZIP package to work that way. But the files in the .tgz have names starting with my application name (package name) and then the default install path:

$ tar ztvf cgreen-1.0.0-beta3.tar.gz
-rwxr-xr-x Thomas/None 91772 2012-11-25 21:13 cgreen-1.0.0-beta3/usr/local/bin/cgreen-runner.exe -rwxr-xr-x Thomas/None 187260 2012-11-25 21:13 cgreen-1.0.0-beta3/usr/local/bin/cygcgreen-1.dll -rw-r--r-- Thomas/None 4552 2012-10-02 16:52 cgreen-1.0.0-beta3/usr/local/include/cgreen/assertions.h -rw-r--r-- Thomas/None 659 2012-08-31 00:00 cgreen-1.0.0-beta3/usr/local/include/cgreen/breadcrumb.h -rw-r--r-- Thomas/None 463 2012-08-15 19:20 cgreen-1.0.0-beta3/usr/local/include/cgreen/cdash_reporter.h

So I'd like to lose the "cgreen-1.0.0-beta3/usr/local/" bit. I've hunted and experimented with CPACK_INSTALL_PREFIX, CPACK_PACKAGE_INSTALL_DIRECTORY, CPACK_PACKAGING_INSTALL_PREFIX, etc. etc. most of which are very poorly documented. I even found CPACK_TOPLEVEL_TAG which from the docs ("Directory for the installed files") looked like it could have something to do with this.

Any assistance would be greatly appreciated!

/Thomas

--

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