diff --git a/reactos/lib/cmlib/CMakeLists.txt b/reactos/lib/cmlib/CMakeLists.txt
index 38c1b530a59..707707b28a2 100644
--- a/reactos/lib/cmlib/CMakeLists.txt
+++ b/reactos/lib/cmlib/CMakeLists.txt
@@ -15,6 +15,7 @@ list(APPEND SOURCE
if(CMAKE_CROSSCOMPILING)
add_library(cmlib ${SOURCE})
add_dependencies(cmlib bugcodes)
+ add_pch(cmlib cmlib.h)
else()
add_definitions(
-D__NO_CTYPE_INLINES
diff --git a/reactos/lib/cmlib/cmlib.h b/reactos/lib/cmlib/cmlib.h
index 5fb85060130..5a4abbfeff9 100644
--- a/reactos/lib/cmlib/cmlib.h
+++ b/reactos/lib/cmlib/cmlib.h
@@ -5,8 +5,6 @@
* Copyright 2001 - 2005 Eric Kohl
*/
-#pragma once
-
//
// Debug support switch
//
diff --git a/reactos/lib/cmlib/cmlib.rbuild b/reactos/lib/cmlib/cmlib.rbuild
index 506eef92334..889ec2f3e4c 100644
--- a/reactos/lib/cmlib/cmlib.rbuild
+++ b/reactos/lib/cmlib/cmlib.rbuild
@@ -12,6 +12,7 @@
hiveinit.c
hivesum.c
hivewrt.c
+ cmlib.h
.
diff --git a/reactos/lib/dnslib/CMakeLists.txt b/reactos/lib/dnslib/CMakeLists.txt
index f726f758e17..eae9061928a 100644
--- a/reactos/lib/dnslib/CMakeLists.txt
+++ b/reactos/lib/dnslib/CMakeLists.txt
@@ -23,4 +23,5 @@ list(APPEND SOURCE
utf8.c)
add_library(dnslib ${SOURCE})
-add_dependencies(dnslib psdk)
\ No newline at end of file
+add_pch(dnslib inc/precomp.h)
+add_dependencies(dnslib psdk)
diff --git a/reactos/lib/dnslib/dnslib.rbuild b/reactos/lib/dnslib/dnslib.rbuild
index 6186055c04f..c3862364894 100644
--- a/reactos/lib/dnslib/dnslib.rbuild
+++ b/reactos/lib/dnslib/dnslib.rbuild
@@ -19,4 +19,7 @@
string.c
table.c
utf8.c
+
+ precomp.h
+
diff --git a/reactos/lib/drivers/sound/CMakeLists.txt b/reactos/lib/drivers/sound/CMakeLists.txt
index 17bc771d157..3865a53aaf8 100644
--- a/reactos/lib/drivers/sound/CMakeLists.txt
+++ b/reactos/lib/drivers/sound/CMakeLists.txt
@@ -1,5 +1,5 @@
-add_subdirectory(legacy)
+#add_subdirectory(legacy)
add_subdirectory(mmebuddy)
add_subdirectory(mment4)
add_subdirectory(mmixer)
diff --git a/reactos/lib/drivers/sound/mmixer/CMakeLists.txt b/reactos/lib/drivers/sound/mmixer/CMakeLists.txt
index 4edfc124e47..213b0800bdd 100644
--- a/reactos/lib/drivers/sound/mmixer/CMakeLists.txt
+++ b/reactos/lib/drivers/sound/mmixer/CMakeLists.txt
@@ -15,5 +15,6 @@ list(APPEND SOURCE
topology.c)
add_library(mmixer ${SOURCE})
+add_pch(mmixer priv.h)
add_dependencies(mmixer bugcodes)
diff --git a/reactos/lib/drivers/sound/mmixer/mmixer.rbuild b/reactos/lib/drivers/sound/mmixer/mmixer.rbuild
index c2d7fdae645..79b09eefe17 100644
--- a/reactos/lib/drivers/sound/mmixer/mmixer.rbuild
+++ b/reactos/lib/drivers/sound/mmixer/mmixer.rbuild
@@ -10,4 +10,5 @@
sup.c
wave.c
topology.c
+ priv.h
diff --git a/reactos/lib/drivers/sound/mmixer/priv.h b/reactos/lib/drivers/sound/mmixer/priv.h
index 3746f6d247b..d5446b81b37 100644
--- a/reactos/lib/drivers/sound/mmixer/priv.h
+++ b/reactos/lib/drivers/sound/mmixer/priv.h
@@ -1,5 +1,3 @@
-#pragma once
-
#include
#include
diff --git a/reactos/lib/fslib/vfatlib/CMakeLists.txt b/reactos/lib/fslib/vfatlib/CMakeLists.txt
index 675bbbd16af..8dfeaa58a66 100644
--- a/reactos/lib/fslib/vfatlib/CMakeLists.txt
+++ b/reactos/lib/fslib/vfatlib/CMakeLists.txt
@@ -12,4 +12,5 @@ list(APPEND SOURCE
fat32.c
vfatlib.c)
add_library(vfatlib ${SOURCE})
+add_pch(vfatlib vfatlib.h)
add_dependencies(vfatlib psdk)
diff --git a/reactos/lib/fslib/vfatlib/vfatlib.rbuild b/reactos/lib/fslib/vfatlib/vfatlib.rbuild
index 1d40958cdf9..037df56faca 100644
--- a/reactos/lib/fslib/vfatlib/vfatlib.rbuild
+++ b/reactos/lib/fslib/vfatlib/vfatlib.rbuild
@@ -6,6 +6,7 @@
fat16.c
fat32.c
vfatlib.c
+ vfatlib.h
boot.c
diff --git a/reactos/lib/fslib/vfatxlib/CMakeLists.txt b/reactos/lib/fslib/vfatxlib/CMakeLists.txt
index fdc7414fe34..1f4e54439d4 100644
--- a/reactos/lib/fslib/vfatxlib/CMakeLists.txt
+++ b/reactos/lib/fslib/vfatxlib/CMakeLists.txt
@@ -1,6 +1,6 @@
add_library(vfatxlib fatx.c vfatxlib.c)
-
+add_pch(vfatxlib vfatxlib.h)
target_link_libraries(vfatxlib chkstk)
if(NOT MSVC)
diff --git a/reactos/lib/fslib/vfatxlib/vfatxlib.rbuild b/reactos/lib/fslib/vfatxlib/vfatxlib.rbuild
index bc7736cd6a7..2a41ebcbd73 100644
--- a/reactos/lib/fslib/vfatxlib/vfatxlib.rbuild
+++ b/reactos/lib/fslib/vfatxlib/vfatxlib.rbuild
@@ -4,4 +4,5 @@
.
fatx.c
vfatxlib.c
+ vfatxlib.h
diff --git a/reactos/lib/newinflib/CMakeLists.txt b/reactos/lib/newinflib/CMakeLists.txt
index bc57ae6b649..65b092e11fc 100644
--- a/reactos/lib/newinflib/CMakeLists.txt
+++ b/reactos/lib/newinflib/CMakeLists.txt
@@ -11,6 +11,7 @@ if(CMAKE_CROSSCOMPILING)
infrosput.c)
add_library(inflib ${GLOBAL_FILES} ${SOURCE})
+ add_pch(inflib inflib.h)
add_dependencies(inflib psdk)
else()
list(APPEND SOURCE
diff --git a/reactos/lib/newinflib/inflib.rbuild b/reactos/lib/newinflib/inflib.rbuild
index d43e7ec424c..c6758ab5559 100644
--- a/reactos/lib/newinflib/inflib.rbuild
+++ b/reactos/lib/newinflib/inflib.rbuild
@@ -9,6 +9,7 @@
infrosgen.c
infrosget.c
infrosput.c
+ inflib.h
.
diff --git a/reactos/lib/smlib/CMakeLists.txt b/reactos/lib/smlib/CMakeLists.txt
index ca5c16de4cd..2bcda9d48c8 100644
--- a/reactos/lib/smlib/CMakeLists.txt
+++ b/reactos/lib/smlib/CMakeLists.txt
@@ -8,4 +8,5 @@ list(APPEND SOURCE
lookupss.c)
add_library(smlib ${SOURCE})
+add_pch(smlib precomp.h)
add_dependencies(smlib psdk)