<HTML>
<HEAD>
<TITLE>Re: CPACK installation path configuration</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Hello,<BR>
<BR>
I’ve been trying to figure out how to use CPACK to distribute my package as a dmg, rpm, and tar.gz files. I’ve been able to successfully create the files, but the locations where the resulting files are being put are not as desired.<BR>
<BR>
I’d like the resulting binary to be installed in /opt/BRAINSFit/bin/BRAINSFit<BR>
Currently PackageMaker installs in /opt/BRAINSFit/usr/bin/BRAINSFit and RPM installs in /usr/bin/BRAINSFit.<BR>
<BR>
The CMakeList.txt files are included in my previous message.<BR>
<BR>
Any help or suggestions on what to try would be enormously appreciated.<BR>
<BR>
Thanks,<BR>
Hans<BR>
<BR>
<BR>
<BR>
<B>From: </B>Johnson Hans <<a href="hans-johnson@uiowa.edu">hans-johnson@uiowa.edu</a>><BR>
<B>Date: </B>Sat, 19 Jul 2008 12:29:48 -0500<BR>
<B>To: </B><<a href="cmake@cmake.org">cmake@cmake.org</a>><BR>
<B>Subject: </B>CPACK installation path configuration<BR>
<BR>
Hello,<BR>
<BR>
I am trying to use cpack to create distributions of a project available on NITRC:<BR>
svn checkout <FONT COLOR="#0000FF"><U><a href="https://www.nitrc.org/svn/multimodereg">https://www.nitrc.org/svn/multimodereg</a></U></FONT> BRAINSFit<BR>
<BR>
I’d like the resulting binary to be installed in /opt/BRAINSFit/bin/BRAINSFit<BR>
<BR>
Currently PackageMaker installs in /opt/BRAINSFit/usr/bin/BRAINSFit and RPM installs in /usr/bin/BRAINSFit.<BR>
<BR>
Can someone please help me fix my CPACK variables so that the desired install locations are respected?<BR>
<BR>
======<BR>
I’m using CMake 2.6.0<BR>
<BR>
Any other advise about CPACK style issues would also be appreciated because I’ll be repeating this process for several other packages next week.<BR>
<BR>
Thanks,<BR>
Hans<BR>
<BR>
====CMakeLists.txt====<BR>
PROJECT(BRAINSFit)<BR>
cmake_minimum_required(VERSION 2.6)<BR>
cmake_policy(VERSION 2.6)<BR>
<BR>
INCLUDE(${BRAINSFit_SOURCE_DIR}/IJMacros.txt)<BR>
<BR>
#the following are required to uses Dart<BR>
ENABLE_TESTING()<BR>
INCLUDE(Dart)<BR>
<BR>
#-----------------------------------------------------------------------------<BR>
# Output directories.<BR>
IF(NOT LIBRARY_OUTPUT_PATH)<BR>
SET (LIBRARY_OUTPUT_PATH ${BRAINSFit_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all librari<BR>
es.")<BR>
ENDIF(NOT LIBRARY_OUTPUT_PATH)<BR>
IF(NOT EXECUTABLE_OUTPUT_PATH)<BR>
SET (EXECUTABLE_OUTPUT_PATH ${BRAINSFit_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all exec<BR>
utables.")<BR>
ENDIF(NOT EXECUTABLE_OUTPUT_PATH)<BR>
MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)<BR>
<BR>
<BR>
OPTION(BUILD_AGAINST_SLICER3 "If OFF, then build self contained version that only depends on ITK ." OFF)<BR>
MARK_AS_ADVANCED(BUILD_AGAINST_SLICER3)<BR>
<BR>
OPTION(BRAINSFit_BUILD_LOCAL_CLP "If ON, then build self contained version that only depends on ITK ." ON)<BR>
MARK_AS_ADVANCED(BRAINSFit_BUILD_LOCAL_CLP)<BR>
<BR>
IF(BUILD_AGAINST_SLICER3)<BR>
FIND_PACKAGE(Slicer3 REQUIRED)<BR>
IF (Slicer3_FOUND)<BR>
INCLUDE(${Slicer3_USE_FILE})<BR>
ELSE (Slicer3_FOUND)<BR>
MESSAGE(ERROR "Cannot build without a Slicer3 build tree or a Slicer3 installation. Please set Slicer3_DIR.")<BR>
ENDIF (Slicer3_FOUND)<BR>
ELSE(BUILD_AGAINST_SLICER3)<BR>
FIND_PACKAGE(ITK)<BR>
IF(ITK_FOUND)<BR>
INCLUDE(${ITK_USE_FILE})<BR>
ELSE(ITK_FOUND)<BR>
MESSAGE(FATAL_ERROR<BR>
"Cannot build without ITK. Please set ITK_DIR.")<BR>
ENDIF(ITK_FOUND)<BR>
IF(BRAINSFit_BUILD_LOCAL_CLP)<BR>
MESSAGE(WARNING "Building local Slicer Execution Model")<BR>
CMakeLists.txt 1,1 Top<BR>
"CMakeLists.txt" 144L, 5487C<BR>
RUNTIME DESTINATION bin<BR>
LIBRARY DESTINATION lib<BR>
ARCHIVE DESTINATION lib/static)<BR>
<BR>
INCLUDE(InstallRequiredSystemLibraries)<BR>
<BR>
<BR>
SET(CPACK_PACKAGE_VERSION_MAJOR "2")<BR>
SET(CPACK_PACKAGE_VERSION_MINOR "4")<BR>
SET(CPACK_PACKAGE_VERSION_PATCH "1")<BR>
<BR>
SET(CPACK_PACKAGE_NAME "BRAINSFit")<BR>
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${BRAINSFit}-dev")<BR>
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${BRAINSFit}-A program for medical image registraiton with mutual information met<BR>
ric.")<BR>
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${BRAINSFit_SOURCE_DIR}/ReadMe.txt")<BR>
SET(CPACK_RESOURCE_FILE_LICENSE "${BRAINSFit_SOURCE_DIR}/Copyright.txt")<BR>
<BR>
SET(CPACK_PACKAGE_DEFAULT_LOCATION "/opt/${CPACK_PACKAGE_NAME}")<BR>
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${BRAINSFit}")<BR>
<BR>
SET(CPACK_PACKAGE_VENDOR "NAMIC Tool Developed at The University of Iowa")<BR>
<BR>
SET(CPACK_SOURCE_GENERATOR "TGZ;TZ")<BR>
#SET(CPACK_SOURCE_IGNORE_FILES "/CVS/;/\\.svn/;\\.swp$;\\.#;/#;\\.*~")<BR>
SET(CPACK_SOURCE_IGNORE_FILES "")<BR>
SET(CPACK_PACKAGE_EXECUTABLES "BRAINSFit";"A program for registering medical images with mutual information.")<BR>
<BR>
IF(WIN32 AND NOT UNIX)<BR>
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_M<BR>
INOR}.${CPACK_PACKAGE_VERSION_PATCH}")<BR>
# There is a bug in NSI that does not handle full unix paths properly. Make<BR>
# sure there is at least one set of four (4) backlasshes.<BR>
SET(CPACK_PACKAGE_ICON "${CMake_SOURCE_DIR}/Utilities/Release\\\\InstallIcon.bmp")<BR>
SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\MyExecutable.exe")<BR>
SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} My Famous Project")<BR>
SET(CPACK_NSIS_HELP_LINK "<FONT COLOR="#0000FF"><U><a href="http:\\\\\\\\www.nitrc.org">http:\\\\\\\\www.nitrc.org</a>"</U></FONT>)<BR>
SET(CPACK_NSIS_URL_INFO_ABOUT "<FONT COLOR="#0000FF"><U><a href="http:\\\\\\\\www.nitrc.org">http:\\\\\\\\www.nitrc.org</a>"</U></FONT>)<BR>
SET(CPACK_NSIS_CONTACT "<FONT COLOR="#0000FF"><U><a href="hans-johnson@uiowa.edu">hans-johnson@uiowa.edu</a>"</U></FONT>)<BR>
SET(CPACK_NSIS_MODIFY_PATH ON)<BR>
ELSE(WIN32 AND NOT UNIX)<BR>
SET(CPACK_STRIP_FILES OFF)<BR>
SET(CPACK_SOURCE_STRIP_FILES OFF)<BR>
ENDIF(WIN32 AND NOT UNIX)<BR>
<BR>
INCLUDE(CPack) <BR>
<BR>
<BR>
</SPAN></FONT>
</BODY>
</HTML>