mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
26 lines
1.4 KiB
CMake
26 lines
1.4 KiB
CMake
function(link_package NAME)
|
|
cmake_parse_arguments(LP "ENCOURAGED;RECOMMENDED" "TARGET" "" ${ARGN})
|
|
|
|
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}")
|
|
endif()
|
|
elseif(LP_ENCOURAGED)
|
|
message(WARNING "${NAME} not found; compiling OpenTTD without ${NAME} is strongly disencouraged")
|
|
elseif(LP_RECOMMENDED)
|
|
message(WARNING "${NAME} not found; compiling OpenTTD without ${NAME} is not recommended")
|
|
endif()
|
|
endfunction()
|