Sachverhalt: A. Die Strafkammer des Kantonsgerichts Glarus sprach X._ mit Urteil vom 3. Mai 2006 unter anderem der mehrfachen qualifizierten Widerhandlung gegen das Betäubungsmittelgesetz sowie der mehrfachen einfachen und groben Verletzung der Verkehrsregeln schuldig. Sie verurteilte ihn zu 30 Monaten Gefängnis und ordnete eine ambulante Massnahme an. Zudem widerrief die Strafkammer in einem Zusatzbeschluss die vom Obergericht des Kantons Zürich mit Urteil vom 30. September 1999 ausgesprochene bedingte Strafe von 16 Monaten Gefängnis. Die von X._ erklärte Appellation wies das Obergericht des Kantons Glarus mit Urteil vom 29. April 2008 ab. B. Mit Beschwerde in Strafsachen beantragt X._, das Urteil des Obergerichts vom 29. April 2008 sei aufzuheben, und die Sache sei zur Neubeurteilung an die Vorinstanz zurückzuweisen. Eventualiter sei der Schuldspruch des Kantonsgerichts Glarus vom 3. Mai 2006 zu bestätigen, und er sei mit einer Freiheitsstrafe von 16 Monaten - als Zusatzstrafe zum Entscheid der Staatsanwaltschaft Zürich-Limmat vom 28. April 2006 und zum Entscheid der Staatsanwaltschaft Zürich-Sihl vom 10. August 2006 - zu bestrafen, unter Gewährung des bedingten Strafvollzuges bei einer Probezeit von drei Jahren. Ihm sei die Weisung zu erteilen, die im August 2006 begonnene ambulante Massnahme weiterzuführen. Die vom Obergericht des Kantons Zürich mit Urteil vom 30. September 1999 ausgesprochene Gefängnisstrafe sei nicht zu widerrufen. Subeventualiter sei eine ambulante Massnahme anzuordnen und der Vollzug der auszusprechenden Freiheitsstrafe und der zu widerrufenen Gefängnisstrafe aufzuschieben.