mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-01-18 20:53:02 +08:00
[gflags] Initial addition
This commit is contained in:
parent
d9aba9f0fe
commit
827b514063
@ -0,0 +1,51 @@
|
||||
From 5af642bdfe023a7c857d1d26593af586516bf696 Mon Sep 17 00:00:00 2001
|
||||
From: Sergey Sharybin <sergey.vfx@gmail.com>
|
||||
Date: Thu, 31 Dec 2015 17:16:26 +0500
|
||||
Subject: [PATCH] Fix some compilation warnings with MSVC 2015
|
||||
|
||||
MSVC 2015 already defines vsnprintf() and va_copy().
|
||||
---
|
||||
src/windows_port.cc | 2 ++
|
||||
src/windows_port.h | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/windows_port.cc b/src/windows_port.cc
|
||||
index 1f40458..b5b7194 100644
|
||||
--- a/src/windows_port.cc
|
||||
+++ b/src/windows_port.cc
|
||||
@@ -44,6 +44,7 @@
|
||||
|
||||
// These call the windows _vsnprintf, but always NUL-terminate.
|
||||
#if !defined(__MINGW32__) && !defined(__MINGW64__) /* mingw already defines */
|
||||
+#if !(defined(_MSC_VER) && _MSC_VER >= 1900) /* msvc 2015 already defines */
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning(push)
|
||||
@@ -68,4 +69,5 @@ int snprintf(char *str, size_t size, const char *format, ...) {
|
||||
return r;
|
||||
}
|
||||
|
||||
+#endif /* if !(defined(_MSC_VER) && _MSC_VER >= 1900) */
|
||||
#endif /* #if !defined(__MINGW32__) && !defined(__MINGW64__) */
|
||||
diff --git a/src/windows_port.h b/src/windows_port.h
|
||||
index c8ff24f..554b9c9 100644
|
||||
--- a/src/windows_port.h
|
||||
+++ b/src/windows_port.h
|
||||
@@ -63,12 +63,14 @@
|
||||
* name vsnprintf, since windows defines that (but not snprintf (!)).
|
||||
*/
|
||||
#if !defined(__MINGW32__) && !defined(__MINGW64__) /* mingw already defines */
|
||||
+#if !(defined(_MSC_VER) && _MSC_VER >= 1900) /* msvc 2015 already defines */
|
||||
extern GFLAGS_DLL_DECL int snprintf(char *str, size_t size,
|
||||
const char *format, ...);
|
||||
extern int GFLAGS_DLL_DECL safe_vsnprintf(char *str, size_t size,
|
||||
const char *format, va_list ap);
|
||||
#define vsnprintf(str, size, format, ap) safe_vsnprintf(str, size, format, ap)
|
||||
#define va_copy(dst, src) (dst) = (src)
|
||||
+#endif
|
||||
#endif /* #if !defined(__MINGW32__) && !defined(__MINGW64__) */
|
||||
|
||||
#ifdef _MSC_VER
|
||||
--
|
||||
2.10.0.windows.1
|
||||
|
3
ports/gflags/CONTROL
Normal file
3
ports/gflags/CONTROL
Normal file
@ -0,0 +1,3 @@
|
||||
Source: gflags
|
||||
Version: 2.1.2
|
||||
Description: A C++ library that implements commandline flags processing
|
54
ports/gflags/portfile.cmake
Normal file
54
ports/gflags/portfile.cmake
Normal file
@ -0,0 +1,54 @@
|
||||
include(vcpkg_common_functions)
|
||||
find_program(GIT git)
|
||||
|
||||
set(GIT_URL "https://github.com/gflags/gflags.git")
|
||||
set(GIT_TAG "v2.1.2")
|
||||
|
||||
if(NOT EXISTS "${DOWNLOADS}/gflags.git")
|
||||
message(STATUS "Cloning")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${GIT} clone --bare ${GIT_URL} ${DOWNLOADS}/gflags.git
|
||||
WORKING_DIRECTORY ${DOWNLOADS}
|
||||
LOGNAME clone
|
||||
)
|
||||
endif()
|
||||
message(STATUS "Cloning done")
|
||||
|
||||
if(NOT EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git")
|
||||
message(STATUS "Adding worktree and patching")
|
||||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR})
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${GIT} worktree add -f --detach ${CURRENT_BUILDTREES_DIR}/src ${GIT_TAG}
|
||||
WORKING_DIRECTORY ${DOWNLOADS}/gflags.git
|
||||
LOGNAME worktree
|
||||
)
|
||||
message(STATUS "Patching")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${GIT} apply ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-some-compilation-warnings-with-MSVC-2015.patch --ignore-whitespace --whitespace=fix
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src
|
||||
LOGNAME patch
|
||||
)
|
||||
endif()
|
||||
message(STATUS "Adding worktree and patching done")
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src
|
||||
OPTIONS
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
)
|
||||
|
||||
vcpkg_build_cmake()
|
||||
vcpkg_install_cmake()
|
||||
|
||||
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/cmake ${CURRENT_PACKAGES_DIR}/share/gflags)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gflags.dll ${CURRENT_PACKAGES_DIR}/bin/gflags.dll)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gflags_nothreads.dll ${CURRENT_PACKAGES_DIR}/bin/gflags_nothreads.dll)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gflags.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gflags.dll)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gflags_nothreads.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gflags_nothreads.dll)
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
|
||||
|
||||
file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/gflags RENAME copyright)
|
||||
|
||||
vcpkg_copy_pdbs()
|
Loading…
Reference in New Issue
Block a user