exception: move InvalidEnumString functions to library

Change-Id: Ic5020eddb48d22041a51a39bae2090f379aeaeb6
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/Makefile.am b/Makefile.am
index 175355c..4bed320 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,7 +22,8 @@
 	sdbusplus/utility/type_traits.hpp \
 	sdbusplus/vtable.hpp
 
-LIBSDBUSPLUS_FILES =
+LIBSDBUSPLUS_FILES = \
+	sdbusplus/exception.cpp
 
 if WANT_TRANSACTION
 LIBSDBUPLUS_FILES_TRANSACTION = \
diff --git a/sdbusplus/exception.cpp b/sdbusplus/exception.cpp
new file mode 100644
index 0000000..e3a5ac9
--- /dev/null
+++ b/sdbusplus/exception.cpp
@@ -0,0 +1,24 @@
+#include <sdbusplus/exception.hpp>
+
+namespace sdbusplus
+{
+namespace exception
+{
+
+const char* InvalidEnumString::name() const noexcept
+{
+    return errName;
+}
+
+const char* InvalidEnumString::description() const noexcept
+{
+    return errDesc;
+}
+
+const char* InvalidEnumString::what() const noexcept
+{
+    return errWhat;
+}
+
+} // namespace exception
+} // namespace sdbusplus
diff --git a/sdbusplus/exception.hpp b/sdbusplus/exception.hpp
index a0e628e..54ba16b 100644
--- a/sdbusplus/exception.hpp
+++ b/sdbusplus/exception.hpp
@@ -35,20 +35,9 @@
         "An enumeration mapping was attempted for which no valid enumeration "
         "value exists.";
 
-    const char* name() const noexcept override
-    {
-        return errName;
-    }
-
-    const char* description() const noexcept override
-    {
-        return errDesc;
-    }
-
-    const char* what() const noexcept override
-    {
-        return errWhat;
-    }
+    const char* name() const noexcept override;
+    const char* description() const noexcept override;
+    const char* what() const noexcept override;
 };
 
 } // namespace exception