From a0307652f37474cb0bba1143a644e8692b3b23f0 Mon Sep 17 00:00:00 2001 From: Charles Pigott Date: Fri, 25 Sep 2020 22:41:34 +0100 Subject: [PATCH] Fix: Work around cmake bug by stripping link target strings --- cmake/LinkPackage.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/LinkPackage.cmake b/cmake/LinkPackage.cmake index 9977ecc453..0f62d3296c 100644 --- a/cmake/LinkPackage.cmake +++ b/cmake/LinkPackage.cmake @@ -4,10 +4,15 @@ function(link_package NAME) if(${NAME}_FOUND) string(TOUPPER "${NAME}" UCNAME) add_definitions(-DWITH_${UCNAME}) + # Some libraries' cmake packages (looking at you, SDL2) leave trailing whitespace in the link commands, + # which (later) cmake considers to be an error. Work around this with by stripping the incoming string. if(LP_TARGET AND TARGET ${LP_TARGET}) + string(STRIP "${LP_TARGET}" LP_TARGET) target_link_libraries(openttd ${LP_TARGET}) message(STATUS "${NAME} found -- -DWITH_${UCNAME} -- ${LP_TARGET}") else() + string(STRIP "${${NAME}_LIBRARY}" ${NAME}_LIBRARY) + string(STRIP "${${NAME}_LIBRARIES}" ${NAME}_LIBRARIES) include_directories(${${NAME}_INCLUDE_DIRS} ${${NAME}_INCLUDE_DIR}) target_link_libraries(openttd ${${NAME}_LIBRARIES} ${${NAME}_LIBRARY}) message(STATUS "${NAME} found -- -DWITH_${UCNAME} -- ${${NAME}_INCLUDE_DIRS} ${${NAME}_INCLUDE_DIR} -- ${${NAME}_LIBRARIES} ${${NAME}_LIBRARY}")