Hi

The below CMake code is causing my targets to get installed twice in the
same tarball when I invoke cpack with the following command line

    "${CPACK_COMMAND}" -G ${cpack_gen} --config
"${CMAKE_CURRENT_BINARY_DIR}/${package_cfg_file}" -C "$<CONFIGURATION>"

The generated cmake_install.cmake in fact contains two fiel(INSTALL)
sections for every target like the one at the bottom.

Using \${CMAKE_INSTALL_CONFIG_NAME} as suggested in reference (1) does not
quite work for me. I would like the installed directory to have a name of
my choosing, rather than relying on the name of the configuration.

Can this be done at all? Is there a single-call install(TARGETS) signature
that gives me what I want?

Thank you very much for any light you can shed on this.
-alessio


THE CMAKE INSTALL CODE WITH THE PROBLEM
---------------------------------------
    set(${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE        "release")
    set(${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG          "debug")

    install(TARGETS ${target}
        COMPONENT ${component}
        RUNTIME DESTINATION "${${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE}"
        LIBRARY DESTINATION "${${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE}"
        CONFIGURATIONS Release MinSizeRel RelWithDebInfo)
    install(TARGETS ${target}
        COMPONENT ${component}
        RUNTIME DESTINATION "${${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG}"
        LIBRARY DESTINATION "${${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG}"
        CONFIGURATIONS Debug PDebug)



SAMPLE cmake_install.cmake SECTION
----------------------------------
if(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL
"platform")
  if("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Dd][Ee][Bb][Uu][Gg])$")
    file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/release" TYPE
SHARED_LIBRARY FILES "E:/Views/build/testapp/Debug/testapp-d.dll")
  elseif("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES
"^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$")
    file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/release" TYPE
SHARED_LIBRARY FILES "E:/Views/build/testapp/Release/testapp.dll")
  elseif("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES
"^([Mm][Ii][Nn][Ss][Ii][Zz][Ee][Rr][Ee][Ll])$")
    file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/release" TYPE
SHARED_LIBRARY FILES "E:/Views/build/testapp/MinSizeRel/testapp-ms.dll")
  elseif("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES
"^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$")
    file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/release" TYPE
SHARED_LIBRARY FILES "E:/Views/build/testapp/RelWithDebInfo/testapp-rd.dll")
  elseif("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES
"^([Pp][Dd][Ee][Bb][Uu][Gg])$")
    file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/release" TYPE
SHARED_LIBRARY FILES "E:/Views/build/testapp/PDebug/testapp-pd.dll")
  endif()
endif()


REFERENCES
----------
(1) http://www.cmake.org/pipermail/cmake/2010-May/036979.html
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to