--- /dev/null
+
+add_subdirectory(adns)
+add_subdirectory(bzip2)
+add_subdirectory(cardlib)
+add_subdirectory(expat)
+#add_subdirectory(freetype) # Add files by hand, not with a glob!
+add_subdirectory(fullfat)
+#add_subdirectory(icu4ros) # Add files by hand, not with a glob??
+add_subdirectory(libsamplerate)
+add_subdirectory(libwine)
+add_subdirectory(libxml2)
+#add_subdirectory(mingw) # Multiple targets, watch out for isstartuplib="true" crt="..."
+add_subdirectory(zlib)
\ No newline at end of file
--- /dev/null
+include_directories(./src)
+include_directories(./adns_win32)
+
+add_definitions(-DADNS_JGAA_WIN32)
+
+file(GLOB_RECURSE SOURCE "/src/*.c" "./adns_win32/*.c")
+
+add_library(adns ${SOURCE})
\ No newline at end of file
--- /dev/null
+add_definitions(-DBZ_NO_STDIO -DBZ_DECOMPRESS_ONLY)
+
+file(GLOB_RECURSE SOURCE "*.c")
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/bzip2.c ${CMAKE_CURRENT_SOURCE_DIR}/dlltest.c ${CMAKE_CURRENT_SOURCE_DIR}/spewG.c ${CMAKE_CURRENT_SOURCE_DIR}/unzcrash.c)
+
+add_library(bzip2 ${SOURCE})
\ No newline at end of file
--- /dev/null
+file(GLOB_RECURSE SOURCE "*.cpp")
+
+add_library(cardlib ${SOURCE})
\ No newline at end of file
--- /dev/null
+include_directories(.)
+include_directories(./lib)
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/expat)
+
+add_definitions(-DHAVE_EXPAT_CONFIG_H)
+file(GLOB_RECURSE SOURCE "lib/*.c")
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/lib/xmltok_impl.c ${CMAKE_CURRENT_SOURCE_DIR}/lib/xmltok_ns.c)
+
+add_library(expat ${SOURCE})
\ No newline at end of file
--- /dev/null
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/fullfat)
+
+add_definitions(-D__NTDRIVER__)
+file(GLOB_RECURSE SOURCE "*.c")
+
+add_library(fullfat ${SOURCE})
\ No newline at end of file
--- /dev/null
+add_definitions(-DHAVE_LRINT -DHAVE_LRINTF)
+file(GLOB_RECURSE SOURCE "*.c")
+
+add_library(libsamplerate ${SOURCE})
\ No newline at end of file
--- /dev/null
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
+add_definitions(-D__WINESRC__)
+
+file(GLOB_RECURSE SOURCE "*.c")
+
+add_library(wine ${SOURCE})
+
+add_library(wineldr loader.c)
--- /dev/null
+include_directories(.)
+include_directories(./include)
+
+add_definitions(-D__MINGW32__ -DLIBXML_STATIC -D_REENTRANT -DHAVE_WIN32_THREADS -D_MBCS -D_WINDOWS -DWIN32 -DHAVE_CONFIG_H)
+add_definitions(-D_DLL -D__USE_CRTIMP)
+# FIXME: workarounds until we have a proper oldnames library
+add_definitions(-Dgetcwd=_getcwd -Dclose=_close -Dwrite=_write -Dread=_read -Dopen=_open)
+
+file(GLOB_RECURSE SOURCE "*.c")
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/runsuite.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/runtest.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/runxmlconf.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/schematron.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testapi.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testAutomata.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testC14N.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testchar.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testdict.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testdso.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testHTML.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testModule.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testReader.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testrecurse.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testRegexp.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testRelax.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testSAX.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testSchemas.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testThreads.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testThreadsWin32.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testURI.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/testXPath.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/trio.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/trionan.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/triostr.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/xmlint.c)
+
+add_library(libxml2 ${SOURCE})
--- /dev/null
+
+file(GLOB_RECURSE SOURCE "*.c")
+
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/minigzip.c)
+LIST(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/example.c)
+
+add_definitions(-DNO_VIZ)
+
+if(CMAKE_CROSSCOMPILING)
+
+add_library(zlib ${SOURCE})
+
+else()
+
+add_library(zlibhost ${SOURCE})
+
+endif()
+
if(CMAKE_CROSSCOMPILING)
+add_subdirectory(3rdparty)
add_subdirectory(atl)
add_subdirectory(dnslib)
add_subdirectory(epsapi)
else()
add_subdirectory(host/wcsfuncs)
+add_subdirectory(3rdparty/zlib)
endif()
\ No newline at end of file