diff --git a/cmake/FindModule.cmake b/cmake/FindModule.cmake index d0c85da2..14737c71 100644 --- a/cmake/FindModule.cmake +++ b/cmake/FindModule.cmake @@ -3,11 +3,16 @@ name - find the library name path - find the library path #]] -function(find_module module name path) +function(find_module module name) if (TARGET ${module}) return() endif() - add_library(${module} INTERFACE) + + set(options) + set(oneValueArgs) + set(multiValueArgs) + cmake_parse_arguments(MODULE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + set(path ${MODULE_UNPARSED_ARGUMENTS}) find_library(${module}_LIBRARY_DIR NAMES ${name} NAMES_PER_DIR PATHS ${path} PATH_SUFFIXES lib ) @@ -16,5 +21,9 @@ function(find_module module name path) if ("${${module}_LIBRARY_DIR}" STREQUAL "${module}_LIBRARY_DIR-NOTFOUND") message(FATAL_ERROR "${name} not found in ${path}") endif() - target_link_libraries(${module} INTERFACE ${${module}_LIBRARY_DIR}) + + add_library(${module} SHARED IMPORTED) + set_target_properties(${module} PROPERTIES + IMPORTED_LOCATION ${${module}_LIBRARY_DIR} + ) endfunction()