Le lundi 9 décembre 2013 21:56:52 Stephen Kelly a écrit : > Aurélien Gâteau wrote: > > target_include_directories(${library} INTERFACE > > "$<INSTALL_INTERFACE: > > ${CMAKE_INSTALL_PREFIX}/${${library}_INCLUDE_INSTALL_DIR}>" > > ) > > Note that this makes the resulting package non-relocatable. If using CMake > 3.0.0, you can specify a relative path here. With 2.8.12, you should use > $<INSTALL_PREFIX> instead of ${CMAKE_INSTALL_PREFIX} so that the relative > path stays relative.
Good to know, I must admit I cargo-culted the if(IS_ABSOLUTE) snippet from existing code (for example tier1/kwidgetaddons/src/CMakeLists.txt uses it). Since we are tied to CMake 2.8.12, the macro would be: macro ecm_library_set_include_prefix(library include_prefix) set(${library}_INCLUDE_INSTALL_DIR ${INCLUDE_INSTALL_DIR}/${include_prefix}) if(IS_ABSOLUTE "${INCLUDE_INSTALL_DIR}") target_include_directories(${library} INTERFACE "$<INSTALL_INTERFACE:${${library}_INCLUDE_INSTALL_DIR}>" ) else() target_include_directories(${library} INTERFACE "$<INSTALL_INTERFACE: $<INSTALL_PREFIX>/${${library}_INCLUDE_INSTALL_DIR}>" ) endif() endmacro() Is this correct? Also, do you think adding such a macro to ECM is a good idea? Aurélien _______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel