@@ -110,8 +110,8 @@ macro(_userver_module_find_part)
110110 # return()
111111 # endif()
112112
113- set (options )
114- set (oneValueArgs PART_TYPE MODE )
113+ set (options OPTIONAL )
114+ set (oneValueArgs PART_TYPE)
115115 set (multiValueArgs NAMES PATHS PATH_SUFFIXES )
116116
117117 cmake_parse_arguments (ARG "${options} " "${oneValueArgs} " "${multiValueArgs} " "${ARGN} " )
@@ -138,16 +138,19 @@ macro(_userver_module_find_part)
138138 set (find_command_args "${mangled_name} " NAMES ${ARG_NAMES} PATH_SUFFIXES ${ARG_PATH_SUFFIXES} PATHS ${ARG_PATHS} )
139139 message (DEBUG "STATUS FIND(${ARG_NAMES} ) ARGS: ${find_command_args} " )
140140 if ("${ARG_PART_TYPE} " STREQUAL "library" )
141- find_library (${find_command_args} ${ARG_MODE} )
141+ find_library (${find_command_args} )
142142 elseif ("${ARG_PART_TYPE} " STREQUAL "path" )
143- find_path (${find_command_args} ${ARG_MODE} )
143+ find_path (${find_command_args} )
144144 elseif ("${ARG_PART_TYPE} " STREQUAL "program" )
145- find_program (${find_command_args} ${ARG_MODE} )
145+ find_program (${find_command_args} )
146146 else ()
147147 message (FATAL_ERROR "Invalid PART_TYPE" )
148148 endif ()
149- if (${mangled_name} _FOUND)
149+
150+ if (${mangled_name} )
150151 list (APPEND "${variable} " "${${mangled_name} }" )
152+ elseif (NOT ARG_OPTIONAL)
153+ message (FATAL_ERROR "Failed to find ${ARG_PART_TYPE} '${ARG_NAMES} '" )
151154 endif ()
152155
153156 unset (variable )
@@ -157,19 +160,20 @@ macro(_userver_module_find_part)
157160endmacro ()
158161
159162macro (_userver_module_find_library)
160- set (options )
161- set (oneValueArgs MODE )
163+ set (options OPTIONAL )
164+ set (oneValueArgs)
162165 set (multiValueArgs NAMES PATHS PATH_SUFFIXES )
163166
164167 cmake_parse_arguments (ARG "${options} " "${oneValueArgs} " "${multiValueArgs} " "${ARGN} " )
165- if (NOT ${ARG_MODE} )
166- set (ARG_MODE REQUIRED)
168+ set (OPTIONAL_TO_PASS)
169+ if (ARG_OPTIONAL)
170+ set (OPTIONAL_TO_PASS OPTIONAL )
167171 endif ()
168172
169173 _userver_module_find_part(
170174 PART_TYPE
171175 library
172- MODE ${ARG_MODE }
176+ ${OPTIONAL_TO_PASS }
173177 NAMES
174178 ${ARG_NAMES}
175179 PATHS
0 commit comments