function(get_target_name target_name) get_filename_component(implementation ${CMAKE_CURRENT_LIST_DIR} NAME) get_filename_component(implementation_path ${CMAKE_CURRENT_LIST_DIR} DIRECTORY) get_filename_component(algorithm ${implementation_path} NAME) set(${target_name} "${algorithm}-${implementation}" PARENT_SCOPE) endfunction(get_target_name)