diff --git a/cmake/create_cmake_config_files.cmake b/cmake/create_cmake_config_files.cmake index 13fc78de05cd58b66df1654ba51b0f98cdff1479..5a8ce377cb1ef4f77598913493897a149a26b7aa 100644 --- a/cmake/create_cmake_config_files.cmake +++ b/cmake/create_cmake_config_files.cmake @@ -48,6 +48,9 @@ foreach(LIBRARY ${LIST}) set(${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE "${${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE} ${LIBRARY}") elseif(LIBRARY MATCHES "^-l") # library name does not contain slashes but already the -l option: directly quote it set(${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE "${${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE} ${LIBRARY}") + elseif(LIBRARY MATCHES "::") # library name is an exported target - we need to resolve it for Makefiles + get_property(lib_loc TARGET ${LIBRARY} PROPERTY LOCATION) + string(APPEND ${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE " ${lib_loc}") else() # link against library with -l option set(${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE "${${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE} -l${LIBRARY}") endif()