The EU is not keeping Turkey from joining. The only obstacles to EU accession are of Turkey's own making. If Turkey follows the accession rules and keeps to its commitments, like all other applicant countries, then it would be well on the way to membership. These rules include normalising its relations with the Republic of Cyprus and reaching a just settlement on the island.
Turkey claims it wants to join the EU but it wants to join on its own terms. It wants to be an EU member and to enjoy all the benefits of membership but it wants to continue to occupy Cyprus. It doesn't actually think there is a contradiction in this position.
Because Turkey is refusing to fulfill its obligations to the EU, its accession process has ground to a halt. Instead of realising the door is wide open, Turkey is blaming the EU for blocking its progress and then accusing the EU of being anti-Turkish. In fact, Turkey is shutting itself out of the EU. Cyprus is a test of Turkey's commitment to EU norms and standards. Turkey knows what it must do but its just not capable of making a decision that would leave its bloody and belligerent history behind.