The error messages you get from apt in this kind of situation are slightly misleading: it's in fact telling you that the libwxgtk2.8-dev package is present but uninstallable. You can get better diagnostics by setting up an environment where apt has your PPA in its sources.list (the chdist tool can be helpful here to avoid disturbing your normal environment or bothering with a full chroot or similar) and drilling down interactively:
$ chdist create codeblocks
Now edit /home/cjwatson/.chdist/codeblocks/etc/apt/sources.list
Run chdist apt-get codeblocks update
And enjoy.
$ cat >.chdist/codeblocks/etc/apt/sources.list <<EOF
deb [trusted=yes] http://ppa.launchpad.net/damien-moore/codeblocks-stable/ubuntu xenial main
deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu xenial-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
EOF
$ chdist apt-get codeblocks update
# ignore GPG errors in the output, which don't matter for the purposes of
# inspection
$ chdist apt-get codeblocks install libwxgtk2.8-dev
Reading package lists... Done
Building dependency tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies.
libwxgtk2.8-dev : Depends: libwxgtk2.8-0 (= 2.8.12.1+dfsg2-0~48~ubuntu16.04.1) but it is not going to be installed
Depends: libwxbase2.8-dev (= 2.8.12.1+dfsg2-0~48~ubuntu16.04.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Then you add package names to the command line until you get a more specific message than "is not going to be installed":
$ chdist apt-get codeblocks install libwxgtk2.8-dev libwxgtk2.8-0 libwxbase2.8-dev libwxbase2.8-0
Reading package lists... Done
Building dependency tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies.
libwxbase2.8-0 : Depends: libwxbase2.8-0 (>= 2.8.12.1+dfsg2) but 2.8.12.1+dfsg2-0~48~ubuntu16.04.1 is to be installed
libwxgtk2.8-0 : Depends: libwxbase2.8-0 (>= 2.8.12.1+dfsg2) but 2.8.12.1+dfsg2-0~48~ubuntu16.04.1 is to be installed
Depends: libwxgtk2.8-0 (>= 2.8.12.1+dfsg2) but 2.8.12.1+dfsg2-0~48~ubuntu16.04.1 is to be installed
E: Unable to correct problems, you have held broken packages.
$ dpkg --compare-versions 2.8.12.1+dfsg2-0~48~ubuntu16.04.1 gt 2.8.12.1+dfsg2 && echo yes || echo no
no
So, translating to English, the wx packages in your PPA have internal dependencies on at least 2.8.12.1+dfsg2, but the version you've used for your forward-port to xenial in your PPA is 2.8.12.1+dfsg2-0~48~ubuntu16.04.1 which is (subtly) in fact slightly less than the required version. You would have to fix the version number, or (more intrusively) adjust the dependencies to be more liberal.
Why not simply copy the source and built binary packages from wily, though? While they've been removed from xenial, they're apparently still installable if just directly copied forward, and that would be by far the least-effort option. Grab lp:ubuntu-archive-tools with bzr and run:
$ ./copy-package --from ubuntu --from-suite wily --to ppa:damien-moore/ubuntu/codeblocks-stable --to-suite xenial -b wxwidgets2.8
Then wait a bit for that to copy and publish, and all should be well. Failing that, I would recommend basing your wxwidgets2.8 source package on the one in wily (2.8.12.1+dfsg2-2ubuntu2) and making sure the version number you use compares greater than or equal to that.
As a side note, your build should actually have been recorded by Launchpad as a build failure rather than a dependency wait, because we can't produce an unambiguous dependency wait in the case of a build-dependency that is present but uninstallable. I've filed this as bug 1575965.