build: Refactor to ensure all headers run through compile

Change-Id: I06089ea54ace1acd79d4d12d9b7eb6cc01b38596
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/include/meson.build b/include/meson.build
index 53fd254..83b536c 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -4,19 +4,13 @@
   'stdplus/cancel.hpp',
   'stdplus/exception.hpp',
   'stdplus/flags.hpp',
+  'stdplus/handle/copyable.hpp',
+  'stdplus/handle/managed.hpp',
   'stdplus/pinned.hpp',
   'stdplus/raw.hpp',
   'stdplus/signal.hpp',
-  'stdplus/zstring.hpp',
-  'stdplus/zstring_view.hpp',
-  subdir: 'stdplus')
-
-install_headers(
-  'stdplus/handle/copyable.hpp',
-  'stdplus/handle/managed.hpp',
-  subdir: 'stdplus/handle')
-
-install_headers(
   'stdplus/util/cexec.hpp',
   'stdplus/util/string.hpp',
-  subdir: 'stdplus/util')
+  'stdplus/zstring.hpp',
+  'stdplus/zstring_view.hpp',
+  preserve_path: true)
diff --git a/meson.build b/meson.build
index d7dad2c..651089b 100644
--- a/meson.build
+++ b/meson.build
@@ -2,7 +2,7 @@
   'stdplus',
   'cpp',
   version: '0.1',
-  meson_version: '>=0.57.0',
+  meson_version: '>=0.63.0',
   default_options: [
     'warning_level=3',
     'cpp_std=c++20',
diff --git a/src/cancel.cpp b/src/cancel.cpp
new file mode 100644
index 0000000..78f29c3
--- /dev/null
+++ b/src/cancel.cpp
@@ -0,0 +1 @@
+#include <stdplus/cancel.hpp>
diff --git a/src/flags.cpp b/src/flags.cpp
new file mode 100644
index 0000000..1a8d495
--- /dev/null
+++ b/src/flags.cpp
@@ -0,0 +1 @@
+#include <stdplus/flags.hpp>
diff --git a/src/handle/copyable.cpp b/src/handle/copyable.cpp
new file mode 100644
index 0000000..2af8ccd
--- /dev/null
+++ b/src/handle/copyable.cpp
@@ -0,0 +1 @@
+#include <stdplus/handle/copyable.hpp>
diff --git a/src/handle/managed.cpp b/src/handle/managed.cpp
new file mode 100644
index 0000000..e9c0c79
--- /dev/null
+++ b/src/handle/managed.cpp
@@ -0,0 +1 @@
+#include <stdplus/handle/managed.hpp>
diff --git a/src/meson.build b/src/meson.build
index 204110f..464bade 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -42,8 +42,16 @@
 ]
 
 stdplus_srcs = [
+  'cancel.cpp',
   'exception.cpp',
+  'flags.cpp',
+  'handle/copyable.cpp',
+  'handle/managed.cpp',
+  'pinned.cpp',
+  'raw.cpp',
   'signal.cpp',
+  'util/cexec.cpp',
+  'util/string.cpp',
   'zstring.cpp',
   'zstring_view.cpp',
 ]
diff --git a/src/pinned.cpp b/src/pinned.cpp
new file mode 100644
index 0000000..855ddcd
--- /dev/null
+++ b/src/pinned.cpp
@@ -0,0 +1 @@
+#include <stdplus/pinned.hpp>
diff --git a/src/raw.cpp b/src/raw.cpp
new file mode 100644
index 0000000..f12c0db
--- /dev/null
+++ b/src/raw.cpp
@@ -0,0 +1 @@
+#include <stdplus/raw.hpp>
diff --git a/src/util/cexec.cpp b/src/util/cexec.cpp
new file mode 100644
index 0000000..189935d
--- /dev/null
+++ b/src/util/cexec.cpp
@@ -0,0 +1 @@
+#include <stdplus/util/cexec.hpp>
diff --git a/src/util/string.cpp b/src/util/string.cpp
new file mode 100644
index 0000000..d64a321
--- /dev/null
+++ b/src/util/string.cpp
@@ -0,0 +1 @@
+#include <stdplus/util/string.hpp>