diff --git a/CMakeLists.txt b/CMakeLists.txt
index bcb4096..b34ce7a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,6 +8,8 @@ option(WORKDIR_CURRENT "Keep current directory on startup" OFF)
 option(FORCE32 "Force 32bit compile on 64bit OS" OFF)
 set(BINDING "MRI" CACHE STRING "The Binding Type (MRI, MRUBY, NULL)")
 set(EXTERNAL_LIB_PATH "" CACHE PATH "External precompiled lib prefix")
+set(BUNDLED_FONT "liberation" CACHE STRING "Bundled font name; file must exist in assets")
+set_property(CACHE BUNDLED_FONT PROPERTY ADVANCED ON)
 
 ## Misc setup ##
 
@@ -241,7 +243,7 @@ set(EMBEDDED_INPUT
 	shader/blurH.vert
 	shader/blurV.vert
 	shader/simpleMatrix.vert
-	assets/liberation.ttf
+	assets/${BUNDLED_FONT}.ttf
 	assets/icon.png
 )
 
@@ -409,6 +411,7 @@ add_executable(${PROJECT_NAME} MACOSX_BUNDLE
 
 target_compile_definitions(${PROJECT_NAME} PRIVATE
 	${DEFINES}
+	BUNDLED_FONT=${BUNDLED_FONT}
 )
 target_include_directories(${PROJECT_NAME} PRIVATE
 	src
diff --git a/mkxp.pro b/mkxp.pro
index ae229d7..1346c45 100644
--- a/mkxp.pro
+++ b/mkxp.pro
@@ -228,6 +228,8 @@ defineReplace(xxdOutput) {
 	return($$basename(1).xxd)
 }
 
+DEFINES += BUNDLED_FONT=liberation
+
 # xxd
 xxd.output_function = xxdOutput
 xxd.commands = xxd -i ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
diff --git a/src/bundledfont.cpp b/src/bundledfont.cpp
index 9ad3f1f..ae33674 100644
--- a/src/bundledfont.cpp
+++ b/src/bundledfont.cpp
@@ -1 +1,4 @@
-#include "liberation.ttf.xxd"
+#define BUNDLED_FONT_NAME BUNDLED_FONT.ttf.xxd
+#define STRINGIFY(x) #x
+#define INCLUDE_FILE(x) STRINGIFY(x)
+#include INCLUDE_FILE(BUNDLED_FONT_NAME)
diff --git a/src/font.cpp b/src/font.cpp
index 5c1d304..5f26bf6 100644
--- a/src/font.cpp
+++ b/src/font.cpp
@@ -33,17 +33,15 @@
 
 #include <SDL_ttf.h>
 
-#define BUNDLED_FONT liberation
-
-#define BUNDLED_FONT_DECL(FONT) \
-	extern unsigned char assets_##FONT##_ttf[]; \
-	extern unsigned int assets_##FONT##_ttf_len;
-
-BUNDLED_FONT_DECL(liberation)
-
 #define BUNDLED_FONT_D(f) assets_## f ##_ttf
 #define BUNDLED_FONT_L(f) assets_## f ##_ttf_len
 
+#define BUNDLED_FONT_DECL(FONT) \
+	extern unsigned char BUNDLED_FONT_D(FONT)[]; \
+	extern unsigned int BUNDLED_FONT_L(FONT);
+
+BUNDLED_FONT_DECL(BUNDLED_FONT)
+
 // Go fuck yourself CPP
 #define BNDL_F_D(f) BUNDLED_FONT_D(f)
 #define BNDL_F_L(f) BUNDLED_FONT_L(f)