]> git.proxmox.com Git - libgit2.git/commitdiff
Precompile headers for MSVC.
authorBen Straub <bstraub@github.com>
Wed, 13 Jun 2012 21:22:33 +0000 (14:22 -0700)
committerBen Straub <bstraub@github.com>
Wed, 13 Jun 2012 21:28:47 +0000 (14:28 -0700)
CMakeLists.txt
src/win32/precompiled.c [new file with mode: 0644]
src/win32/precompiled.h [new file with mode: 0644]

index b09729364e834ee8c69ba3e0d0cc18b4049ddd47..6db18269ba5ccc2a32995a9c2e57105f0a3ba7d6 100644 (file)
@@ -133,6 +133,12 @@ SET_TARGET_PROPERTIES(git2 PROPERTIES VERSION ${LIBGIT2_VERSION_STRING})
 SET_TARGET_PROPERTIES(git2 PROPERTIES SOVERSION ${LIBGIT2_VERSION_MAJOR})
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libgit2.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libgit2.pc @ONLY)
 
+IF (MSVC)
+   # Precompiled headers
+   SET_TARGET_PROPERTIES(git2 PROPERTIES COMPILE_FLAGS "/Yuprecompiled.h /FIprecompiled.h")
+   SET_SOURCE_FILES_PROPERTIES(src/win32/precompiled.c COMPILE_FLAGS "/Ycprecompiled.h")
+ENDIF ()
+
 # Install
 INSTALL(TARGETS git2
        RUNTIME DESTINATION ${INSTALL_BIN}
@@ -165,6 +171,12 @@ IF (BUILD_CLAR)
        )
        ADD_EXECUTABLE(libgit2_clar ${SRC} ${CLAR_PATH}/clar_main.c ${SRC_TEST} ${SRC_ZLIB} ${SRC_HTTP} ${SRC_REGEX})
        TARGET_LINK_LIBRARIES(libgit2_clar ${CMAKE_THREAD_LIBS_INIT} ${SSL_LIBRARIES})
+
+        IF (MSVC)
+           # Precompiled headers
+           SET_TARGET_PROPERTIES(libgit2_clar PROPERTIES COMPILE_FLAGS "/Yuprecompiled.h /FIprecompiled.h")
+        ENDIF ()
+
        IF (WIN32)
                TARGET_LINK_LIBRARIES(libgit2_clar ws2_32)
        ELSEIF (CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
diff --git a/src/win32/precompiled.c b/src/win32/precompiled.c
new file mode 100644 (file)
index 0000000..c08ca1f
--- /dev/null
@@ -0,0 +1 @@
+#include "precompiled.h"
\ No newline at end of file
diff --git a/src/win32/precompiled.h b/src/win32/precompiled.h
new file mode 100644 (file)
index 0000000..5de7e6f
--- /dev/null
@@ -0,0 +1,19 @@
+#include "git2.h"
+
+#include <assert.h>
+#include <errno.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include <regex.h>
+
+#include <io.h>
+#include <direct.h>
+#ifdef GIT_THREADS
+ #include "win32/pthread.h"
+#endif