computer architecture – How is conditional jump implemented in the CPU?

After reading the question I’m still not sure how CPU does branching.

I understand that we have an instruction counter which points to the current instruction. And after performing conditional jump it either stays the same (increments as usual) or increases (jumps) and points to another branch, that’s clear.

The problem: to define conditional jump we need a conditional jump? I mean in order to evaluate an IF the processor has to evaluate condition and IF it’s true, then jump, otherwise not. It’s an endless recursion.

So how does the conditional jump work on the lowest level?