target_link_libraries use LINK_PUBLIC not PUBLIC