If you had enabled whole drive encryption (i.e. FileVault) then you don't have to worry about destroying the drive, since the encrypted data is completely inaccessible without the password (you do use a strong password, right?)
Also, some hard drives use glass platters that can be broken just by dropping the drive from several feet or just throwing it on the ground. The best way to know is to just try it, since if it works you'll hear the bits of broken glass if you shake the drive. I've found it works better if you manage to get the drive to land flat on the ground, since that's the most vulnerable direction of the platters. In general it's pretty hard to degauss a hard drive without equipment specifically designed to do that. Strong magnets and CRT degaussing coils won't be strong enough to work.
Finally, if you can attach the drive to some other computer via an adapter, or even mount it in some other computer via the SATA connection you can use any of a number of drive wiping utilities to securely wipe the drive. One commonly recommended utility is "DBAN" ("Darik's Boot and Nuke"), which is a free bootable Linux that has a tool for performing a variety of data wiping passes. This can be a slow process depending on the size of the drive, but you don't really need to do that many passes of even just zero data, since the density of the data tracks on modern hard drives makes it extremely challenging to recover data even after a single pass of zeros. The generation of "random" data for the wipe passes is not the slow part of the process, however, so it generally doesn't hurt to enable that option. Three passes of random data is more than enough for the typical user's hard drive.
Again, this problem goes away if you enable whole drive encryption, so that's a good feature to enable going forward.