Updating the documentation for this would help... Do you have time to propose a patch which updates the wording of the documentation to stress the importance of parameter ordering?
On Tue, Jun 9, 2015 at 4:31 AM, Alessio <masariello+cmake....@gmail.com> wrote: > Ah! Specifying the CONFIGURATIONS argument *before* the DESTINATION ones > works as intended. It would really help if the documentation was changed to > reflect the importance of parameter ordering here. > > install(TARGETS ${target} > COMPONENT ${component} > CONFIGURATIONS Release MinSizeRel RelWithDebInfo > RUNTIME DESTINATION > "${${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE}" > LIBRARY DESTINATION > "${${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE}") > install(TARGETS ${target} > COMPONENT ${component} > CONFIGURATIONS Debug PDebug > RUNTIME DESTINATION > "${${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG}" > LIBRARY DESTINATION > "${${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG}") > > On 8 June 2015 at 18:40, Alessio <masariello+cmake....@gmail.com> wrote: >> >> I forgot to mention that, by contrast, elsewhere I have the following >> working code. So install(FILES) seems to work fine with multiple calls for >> different configurations. >> >> install( >> FILES "$<TARGET_FILE_DIR:corelib>/some_file.txt" >> COMPONENT platform >> DESTINATION "${${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE}" >> CONFIGURATIONS Release RelWithDebInfo MinSizeRel) >> install( >> FILES "$<TARGET_FILE_DIR:corelib>/some_file.txt" >> COMPONENT platform >> DESTINATION "${${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG}" >> CONFIGURATIONS Debug PDebug) >> >> On 8 June 2015 at 18:32, Alessio <masariello+cmake....@gmail.com> wrote: >>> >>> 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 -- 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