"neither cold nor hot, tepid," late 14c., from warm (adj.) + luke (adj.) "tepid" (c. 1200), a word of unknown origin. Perhaps it is from Middle Dutch or Old Frisian leuk "tepid, weak," or an unexplained variant of Old English hleowe (adv.) "warm," all of which are from Proto-Germanic *khlewaz (from PIE root *kele- (1) "warm;" compare lee).
Figurative sense of "lacking in zeal, not ardent" (of persons or their actions) is from 1520s. Related: Lukewarmly; lukewarmness. Luke-warmth (1590s) is marked "rare" in OED.