hmm shouldn’t it be:
target_link_libraries(mylib PUBLIC ${OpenCV_LIBS} -static)
??
also, cmake still generates some kind of makefile, it might be useful to look at that.
maybe you can show us, what it actually links ?
(remember, order matters with static linking !)