initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
299
libs/wxWidgets-3.3.1/samples/sockets/Makefile.in
Normal file
299
libs/wxWidgets-3.3.1/samples/sockets/Makefile.in
Normal file
@@ -0,0 +1,299 @@
|
||||
# =========================================================================
|
||||
# This makefile was generated by
|
||||
# Bakefile 0.2.13 (http://www.bakefile.org)
|
||||
# Do not modify, all changes will be overwritten!
|
||||
# =========================================================================
|
||||
|
||||
|
||||
@MAKE_SET@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datarootdir = @datarootdir@
|
||||
INSTALL = @INSTALL@
|
||||
EXEEXT = @EXEEXT@
|
||||
WINDRES = @WINDRES@
|
||||
NM = @NM@
|
||||
BK_DEPS = @BK_DEPS@
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
LIBS = @LIBS@
|
||||
LDFLAGS_GUI = @LDFLAGS_GUI@
|
||||
CXX = @CXX@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
USE_DPI_AWARE_MANIFEST = @USE_DPI_AWARE_MANIFEST@
|
||||
WX_LIB_FLAVOUR = @WX_LIB_FLAVOUR@
|
||||
TOOLKIT = @TOOLKIT@
|
||||
TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
|
||||
TOOLKIT_VERSION = @TOOLKIT_VERSION@
|
||||
TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@
|
||||
EXTRALIBS = @EXTRALIBS@
|
||||
EXTRALIBS_XML = @EXTRALIBS_XML@
|
||||
EXTRALIBS_GUI = @EXTRALIBS_GUI@
|
||||
WX_CPPFLAGS = @WX_CPPFLAGS@
|
||||
WX_CXXFLAGS = @WX_CXXFLAGS@
|
||||
WX_LDFLAGS = @WX_LDFLAGS@
|
||||
HOST_SUFFIX = @HOST_SUFFIX@
|
||||
DYLIB_RPATH_FLAG = @DYLIB_RPATH_FLAG@
|
||||
SAMPLES_CXXFLAGS = @SAMPLES_CXXFLAGS@
|
||||
wx_top_builddir = @wx_top_builddir@
|
||||
|
||||
### Variables: ###
|
||||
|
||||
DESTDIR =
|
||||
WX_RELEASE = 3.3
|
||||
WX_VERSION = $(WX_RELEASE).1
|
||||
LIBDIRNAME = $(wx_top_builddir)/lib
|
||||
CLIENT_CXXFLAGS = $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
|
||||
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
|
||||
$(__THREAD_DEFINE_p) -I$(srcdir) $(__DLLFLAG_p) -I$(srcdir)/../../samples \
|
||||
$(WX_CXXFLAGS) $(SAMPLES_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
|
||||
CLIENT_OBJECTS = \
|
||||
$(__client___win32rc) \
|
||||
client_client.o
|
||||
SERVER_CXXFLAGS = $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
|
||||
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
|
||||
$(__THREAD_DEFINE_p) -I$(srcdir) $(__DLLFLAG_p) -I$(srcdir)/../../samples \
|
||||
$(WX_CXXFLAGS) $(SAMPLES_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
|
||||
SERVER_OBJECTS = \
|
||||
$(__server___win32rc) \
|
||||
server_server.o
|
||||
BASECLIENT_CXXFLAGS = $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
|
||||
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
|
||||
$(__THREAD_DEFINE_p) -I$(srcdir) $(__DLLFLAG_p) -DwxUSE_GUI=0 $(WX_CXXFLAGS) \
|
||||
$(SAMPLES_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
|
||||
BASECLIENT_OBJECTS = \
|
||||
baseclient_baseclient.o
|
||||
BASESERVER_CXXFLAGS = $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
|
||||
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
|
||||
$(__THREAD_DEFINE_p) -I$(srcdir) $(__DLLFLAG_p) -DwxUSE_GUI=0 $(WX_CXXFLAGS) \
|
||||
$(SAMPLES_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
|
||||
BASESERVER_OBJECTS = \
|
||||
baseserver_baseserver.o
|
||||
|
||||
### Conditionally set variables: ###
|
||||
|
||||
@COND_DEPS_TRACKING_0@CXXC = $(CXX)
|
||||
@COND_DEPS_TRACKING_1@CXXC = $(BK_DEPS) $(CXX)
|
||||
@COND_USE_GUI_0@PORTNAME = base
|
||||
@COND_USE_GUI_1@PORTNAME = $(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
|
||||
@COND_TOOLKIT_MAC@WXBASEPORT = _carbon
|
||||
@COND_BUILD_debug@WXDEBUGFLAG = d
|
||||
@COND_WXUNIV_1@WXUNIVNAME = univ
|
||||
@COND_MONOLITHIC_0@EXTRALIBS_FOR_BASE = $(EXTRALIBS)
|
||||
@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) \
|
||||
@COND_MONOLITHIC_1@ $(EXTRALIBS_XML) $(EXTRALIBS_GUI)
|
||||
@COND_MONOLITHIC_0@EXTRALIBS_FOR_GUI = $(EXTRALIBS_GUI)
|
||||
@COND_MONOLITHIC_1@EXTRALIBS_FOR_GUI =
|
||||
@COND_USE_GUI_1@__client___depname = client$(EXEEXT)
|
||||
COND_PLATFORM_OS2_1___client___os2_emxbindcmd = $(NM) client$(EXEEXT) | if grep \
|
||||
-q pmwin.763 ; then emxbind -ep client$(EXEEXT) ; fi
|
||||
@COND_PLATFORM_OS2_1@__client___os2_emxbindcmd = $(COND_PLATFORM_OS2_1___client___os2_emxbindcmd)
|
||||
@COND_PLATFORM_WIN32_1@__client___win32rc = client_sample_rc.o
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@__client_app_Contents_PkgInfo___depname \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ = client.app/Contents/PkgInfo
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@__client_bundle___depname = client_bundle
|
||||
@COND_TOOLKIT_COCOA@____client_BUNDLE_TGT_REF_DEP = \
|
||||
@COND_TOOLKIT_COCOA@ $(__client_app_Contents_PkgInfo___depname)
|
||||
@COND_TOOLKIT_MAC@____client_BUNDLE_TGT_REF_DEP = \
|
||||
@COND_TOOLKIT_MAC@ $(__client_app_Contents_PkgInfo___depname)
|
||||
@COND_TOOLKIT_OSX_CARBON@____client_BUNDLE_TGT_REF_DEP \
|
||||
@COND_TOOLKIT_OSX_CARBON@ = $(__client_app_Contents_PkgInfo___depname)
|
||||
@COND_TOOLKIT_OSX_COCOA@____client_BUNDLE_TGT_REF_DEP \
|
||||
@COND_TOOLKIT_OSX_COCOA@ = $(__client_app_Contents_PkgInfo___depname)
|
||||
@COND_TOOLKIT_OSX_IPHONE@____client_BUNDLE_TGT_REF_DEP \
|
||||
@COND_TOOLKIT_OSX_IPHONE@ = $(__client_app_Contents_PkgInfo___depname)
|
||||
@COND_MONOLITHIC_1_USE_STC_1@__LIB_SCINTILLA_IF_MONO_p \
|
||||
@COND_MONOLITHIC_1_USE_STC_1@ = $(__LIB_SCINTILLA_p)
|
||||
@COND_MONOLITHIC_1_USE_STC_1@__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
|
||||
@COND_USE_GUI_1@__server___depname = server$(EXEEXT)
|
||||
COND_PLATFORM_OS2_1___server___os2_emxbindcmd = $(NM) server$(EXEEXT) | if grep \
|
||||
-q pmwin.763 ; then emxbind -ep server$(EXEEXT) ; fi
|
||||
@COND_PLATFORM_OS2_1@__server___os2_emxbindcmd = $(COND_PLATFORM_OS2_1___server___os2_emxbindcmd)
|
||||
@COND_PLATFORM_WIN32_1@__server___win32rc = server_sample_rc.o
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@__server_app_Contents_PkgInfo___depname \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ = server.app/Contents/PkgInfo
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@__server_bundle___depname = server_bundle
|
||||
@COND_TOOLKIT_COCOA@____server_BUNDLE_TGT_REF_DEP = \
|
||||
@COND_TOOLKIT_COCOA@ $(__server_app_Contents_PkgInfo___depname)
|
||||
@COND_TOOLKIT_MAC@____server_BUNDLE_TGT_REF_DEP = \
|
||||
@COND_TOOLKIT_MAC@ $(__server_app_Contents_PkgInfo___depname)
|
||||
@COND_TOOLKIT_OSX_CARBON@____server_BUNDLE_TGT_REF_DEP \
|
||||
@COND_TOOLKIT_OSX_CARBON@ = $(__server_app_Contents_PkgInfo___depname)
|
||||
@COND_TOOLKIT_OSX_COCOA@____server_BUNDLE_TGT_REF_DEP \
|
||||
@COND_TOOLKIT_OSX_COCOA@ = $(__server_app_Contents_PkgInfo___depname)
|
||||
@COND_TOOLKIT_OSX_IPHONE@____server_BUNDLE_TGT_REF_DEP \
|
||||
@COND_TOOLKIT_OSX_IPHONE@ = $(__server_app_Contents_PkgInfo___depname)
|
||||
@COND_MONOLITHIC_1_USE_STC_1@__LIB_SCINTILLA_IF_MONO_p_1 \
|
||||
@COND_MONOLITHIC_1_USE_STC_1@ = $(__LIB_SCINTILLA_p)
|
||||
@COND_MONOLITHIC_1_USE_STC_1@__LIB_LEXILLA_IF_MONO_p_1 = $(__LIB_LEXILLA_p)
|
||||
@COND_MONOLITHIC_1@__LIB_PNG_IF_MONO_p = $(__LIB_PNG_p)
|
||||
@COND_MONOLITHIC_1@__LIB_PNG_IF_MONO_p_1 = $(__LIB_PNG_p)
|
||||
@COND_WXUNIV_1@__WXUNIV_DEFINE_p_0 = --define __WXUNIVERSAL__
|
||||
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p_0 = --define wxDEBUG_LEVEL=0
|
||||
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p_0 = --define wxNO_EXCEPTIONS
|
||||
@COND_USE_RTTI_0@__RTTI_DEFINE_p_0 = --define wxNO_RTTI
|
||||
@COND_USE_THREADS_0@__THREAD_DEFINE_p_0 = --define wxNO_THREADS
|
||||
@COND_SHARED_1@__DLLFLAG_p_0 = --define WXUSINGDLL
|
||||
@COND_PLATFORM_WIN32_1@__WIN32_DPI_MANIFEST_p = \
|
||||
@COND_PLATFORM_WIN32_1@ --define \
|
||||
@COND_PLATFORM_WIN32_1@ wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST)
|
||||
@COND_TOOLKIT_MSW@__RCDEFDIR_p = --include-dir \
|
||||
@COND_TOOLKIT_MSW@ $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
|
||||
COND_MONOLITHIC_0___WXLIB_CORE_p = \
|
||||
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_MONOLITHIC_0@__WXLIB_CORE_p = $(COND_MONOLITHIC_0___WXLIB_CORE_p)
|
||||
@COND_USE_STC_1@__LIB_SCINTILLA_p = \
|
||||
@COND_USE_STC_1@ -lwxscintilla$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_USE_STC_1@__LIB_LEXILLA_p = \
|
||||
@COND_USE_STC_1@ -lwxlexilla$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@__LIB_TIFF_p \
|
||||
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ = \
|
||||
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ -lwxtiff$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@__LIB_JPEG_p \
|
||||
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ = \
|
||||
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ -lwxjpeg$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_USE_GUI_1_wxUSE_LIBWEBP_builtin@__LIB_WEBP_p \
|
||||
@COND_USE_GUI_1_wxUSE_LIBWEBP_builtin@ = \
|
||||
@COND_USE_GUI_1_wxUSE_LIBWEBP_builtin@ -lwxwebp$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_WXUNIV_1@__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
|
||||
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
|
||||
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
|
||||
@COND_USE_RTTI_0@__RTTI_DEFINE_p = -DwxNO_RTTI
|
||||
@COND_USE_THREADS_0@__THREAD_DEFINE_p = -DwxNO_THREADS
|
||||
@COND_SHARED_1@__DLLFLAG_p = -DWXUSINGDLL
|
||||
COND_MONOLITHIC_0___WXLIB_NET_p = \
|
||||
-lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_MONOLITHIC_0@__WXLIB_NET_p = $(COND_MONOLITHIC_0___WXLIB_NET_p)
|
||||
COND_MONOLITHIC_0___WXLIB_BASE_p = \
|
||||
-lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p)
|
||||
COND_MONOLITHIC_1___WXLIB_MONO_p = \
|
||||
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p)
|
||||
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@__LIB_PNG_p \
|
||||
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ = \
|
||||
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ -lwxpng$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_wxUSE_ZLIB_builtin@__LIB_ZLIB_p = \
|
||||
@COND_wxUSE_ZLIB_builtin@ -lwxzlib$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_wxUSE_REGEX_builtin@__LIB_REGEX_p = \
|
||||
@COND_wxUSE_REGEX_builtin@ -lwxregexu$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_wxUSE_EXPAT_builtin@__LIB_EXPAT_p = \
|
||||
@COND_wxUSE_EXPAT_builtin@ -lwxexpat$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
|
||||
### Targets: ###
|
||||
|
||||
all: $(__client___depname) $(__client_bundle___depname) $(__server___depname) $(__server_bundle___depname) baseclient$(EXEEXT) baseserver$(EXEEXT)
|
||||
|
||||
install:
|
||||
|
||||
uninstall:
|
||||
|
||||
install-strip: install
|
||||
|
||||
clean:
|
||||
rm -rf ./.deps ./.pch
|
||||
rm -f ./*.o
|
||||
rm -f client$(EXEEXT)
|
||||
rm -rf client.app
|
||||
rm -f server$(EXEEXT)
|
||||
rm -rf server.app
|
||||
rm -f baseclient$(EXEEXT)
|
||||
rm -f baseserver$(EXEEXT)
|
||||
|
||||
distclean: clean
|
||||
rm -f config.cache config.log config.status bk-deps bk-make-pch Makefile
|
||||
|
||||
@COND_USE_GUI_1@client$(EXEEXT): $(CLIENT_OBJECTS) $(__client___win32rc)
|
||||
@COND_USE_GUI_1@ $(CXX) -o $@ $(CLIENT_OBJECTS) -L$(LIBDIRNAME) $(DYLIB_RPATH_FLAG) $(LDFLAGS_GUI) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
|
||||
@COND_USE_GUI_1@ $(__client___os2_emxbindcmd)
|
||||
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@client.app/Contents/PkgInfo: $(__client___depname) $(top_srcdir)/src/osx/carbon/Info.plist.in $(top_srcdir)/src/osx/carbon/wxmac.icns
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ mkdir -p client.app/Contents
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ mkdir -p client.app/Contents/MacOS
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ mkdir -p client.app/Contents/Resources
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ sed -e "s/\$${MACOSX_BUNDLE_GUI_IDENTIFIER}/org.wxwidgets.client/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_EXECUTABLE_NAME}/client/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_BUNDLE_NAME}/client/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_COPYRIGHT}/Copyright 2002-2025 wxWidgets/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_BUNDLE_VERSION}/$(WX_VERSION)/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_INFO_STRING}/client version $(WX_VERSION), (c) 2002-2025 wxWidgets/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_LONG_VERSION_STRING}/$(WX_VERSION), (c) 2002-2025 wxWidgets/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_SHORT_VERSION_STRING}/$(WX_RELEASE)/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ $(top_srcdir)/src/osx/carbon/Info.plist.in >client.app/Contents/Info.plist
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ /bin/echo "APPL????" >client.app/Contents/PkgInfo
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ ln -f client$(EXEEXT) client.app/Contents/MacOS/client
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ cp -f $(top_srcdir)/src/osx/carbon/wxmac.icns client.app/Contents/Resources/wxmac.icns
|
||||
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@client_bundle: $(____client_BUNDLE_TGT_REF_DEP)
|
||||
|
||||
@COND_USE_GUI_1@server$(EXEEXT): $(SERVER_OBJECTS) $(__server___win32rc)
|
||||
@COND_USE_GUI_1@ $(CXX) -o $@ $(SERVER_OBJECTS) -L$(LIBDIRNAME) $(DYLIB_RPATH_FLAG) $(LDFLAGS_GUI) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p_1) $(__LIB_LEXILLA_IF_MONO_p_1) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
|
||||
@COND_USE_GUI_1@ $(__server___os2_emxbindcmd)
|
||||
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@server.app/Contents/PkgInfo: $(__server___depname) $(top_srcdir)/src/osx/carbon/Info.plist.in $(top_srcdir)/src/osx/carbon/wxmac.icns
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ mkdir -p server.app/Contents
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ mkdir -p server.app/Contents/MacOS
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ mkdir -p server.app/Contents/Resources
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ sed -e "s/\$${MACOSX_BUNDLE_GUI_IDENTIFIER}/org.wxwidgets.server/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_EXECUTABLE_NAME}/server/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_BUNDLE_NAME}/server/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_COPYRIGHT}/Copyright 2002-2025 wxWidgets/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_BUNDLE_VERSION}/$(WX_VERSION)/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_INFO_STRING}/server version $(WX_VERSION), (c) 2002-2025 wxWidgets/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_LONG_VERSION_STRING}/$(WX_VERSION), (c) 2002-2025 wxWidgets/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ -e "s/\$${MACOSX_BUNDLE_SHORT_VERSION_STRING}/$(WX_RELEASE)/" \
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ $(top_srcdir)/src/osx/carbon/Info.plist.in >server.app/Contents/Info.plist
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ /bin/echo "APPL????" >server.app/Contents/PkgInfo
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ ln -f server$(EXEEXT) server.app/Contents/MacOS/server
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@ cp -f $(top_srcdir)/src/osx/carbon/wxmac.icns server.app/Contents/Resources/wxmac.icns
|
||||
|
||||
@COND_PLATFORM_MACOSX_1_USE_GUI_1@server_bundle: $(____server_BUNDLE_TGT_REF_DEP)
|
||||
|
||||
baseclient$(EXEEXT): $(BASECLIENT_OBJECTS)
|
||||
$(CXX) -o $@ $(BASECLIENT_OBJECTS) -L$(LIBDIRNAME) $(DYLIB_RPATH_FLAG) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
|
||||
|
||||
baseserver$(EXEEXT): $(BASESERVER_OBJECTS)
|
||||
$(CXX) -o $@ $(BASESERVER_OBJECTS) -L$(LIBDIRNAME) $(DYLIB_RPATH_FLAG) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p_1) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
|
||||
|
||||
client_sample_rc.o: $(srcdir)/../../samples/sample.rc
|
||||
$(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_0) $(__DEBUG_DEFINE_p_0) $(__EXCEPTIONS_DEFINE_p_0) $(__RTTI_DEFINE_p_0) $(__THREAD_DEFINE_p_0) --include-dir $(srcdir) $(__DLLFLAG_p_0) $(__WIN32_DPI_MANIFEST_p) --include-dir $(srcdir)/../../samples $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include
|
||||
|
||||
client_client.o: $(srcdir)/client.cpp
|
||||
$(CXXC) -c -o $@ $(CLIENT_CXXFLAGS) $(srcdir)/client.cpp
|
||||
|
||||
server_sample_rc.o: $(srcdir)/../../samples/sample.rc
|
||||
$(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_0) $(__DEBUG_DEFINE_p_0) $(__EXCEPTIONS_DEFINE_p_0) $(__RTTI_DEFINE_p_0) $(__THREAD_DEFINE_p_0) --include-dir $(srcdir) $(__DLLFLAG_p_0) $(__WIN32_DPI_MANIFEST_p) --include-dir $(srcdir)/../../samples $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include
|
||||
|
||||
server_server.o: $(srcdir)/server.cpp
|
||||
$(CXXC) -c -o $@ $(SERVER_CXXFLAGS) $(srcdir)/server.cpp
|
||||
|
||||
baseclient_baseclient.o: $(srcdir)/baseclient.cpp
|
||||
$(CXXC) -c -o $@ $(BASECLIENT_CXXFLAGS) $(srcdir)/baseclient.cpp
|
||||
|
||||
baseserver_baseserver.o: $(srcdir)/baseserver.cpp
|
||||
$(CXXC) -c -o $@ $(BASESERVER_CXXFLAGS) $(srcdir)/baseserver.cpp
|
||||
|
||||
|
||||
# Include dependency info, if present:
|
||||
@IF_GNU_MAKE@-include ./.deps/*.d
|
||||
|
||||
.PHONY: all install uninstall clean distclean client_bundle server_bundle
|
||||
734
libs/wxWidgets-3.3.1/samples/sockets/baseclient.cpp
Normal file
734
libs/wxWidgets-3.3.1/samples/sockets/baseclient.cpp
Normal file
@@ -0,0 +1,734 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: samples/sockbase/client.cpp
|
||||
// Purpose: Sockets sample for wxBase
|
||||
// Author: Lukasz Michalski
|
||||
// Created: 27.06.2005
|
||||
// Copyright: (c) 2005 Lukasz Michalski <lmichalski@sf.net>
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ============================================================================
|
||||
// declarations
|
||||
// ============================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#include "wx/wx.h"
|
||||
#include "wx/socket.h"
|
||||
#include "wx/event.h"
|
||||
#include "wx/list.h"
|
||||
#include "wx/cmdline.h"
|
||||
#include "wx/ffile.h"
|
||||
#include "wx/datetime.h"
|
||||
#include "wx/timer.h"
|
||||
#include "wx/thread.h"
|
||||
|
||||
const wxEventType wxEVT_WORKER = wxNewEventType();
|
||||
#define EVT_WORKER(func) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_WORKER, -1, -1, wxEVENT_HANDLER_CAST(WorkerEventFunction, func), (wxObject *) nullptr ),
|
||||
|
||||
const int timeout_val = 1000;
|
||||
|
||||
class WorkerEvent : public wxEvent {
|
||||
public:
|
||||
typedef enum {
|
||||
CONNECTING,
|
||||
SENDING,
|
||||
RECEIVING,
|
||||
DISCONNECTING,
|
||||
DONE
|
||||
} evt_type;
|
||||
WorkerEvent(void* pSender, evt_type type)
|
||||
{
|
||||
SetId(-1);
|
||||
SetEventType(wxEVT_WORKER);
|
||||
m_sender = pSender;
|
||||
m_eventType = type;
|
||||
m_isFailed = false;
|
||||
}
|
||||
|
||||
void setFailed() { m_isFailed = true; }
|
||||
bool isFailed() const { return m_isFailed; }
|
||||
|
||||
virtual wxEvent* Clone() const override
|
||||
{
|
||||
return new WorkerEvent(*this);
|
||||
}
|
||||
void* m_sender;
|
||||
bool m_isFailed;
|
||||
wxString m_workerIdent;
|
||||
evt_type m_eventType;
|
||||
};
|
||||
|
||||
typedef void (wxEvtHandler::*WorkerEventFunction)(WorkerEvent&);
|
||||
|
||||
class ThreadWorker;
|
||||
class EventWorker;
|
||||
|
||||
WX_DECLARE_LIST(ThreadWorker, TList);
|
||||
WX_DECLARE_LIST(EventWorker, EList);
|
||||
|
||||
class Client : public wxApp {
|
||||
wxDECLARE_EVENT_TABLE();
|
||||
public:
|
||||
void RemoveEventWorker(EventWorker* p_worker);
|
||||
private:
|
||||
typedef enum
|
||||
{
|
||||
THREADS,
|
||||
EVENTS
|
||||
} workMode;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
SEND_RANDOM,
|
||||
SEND_MESSAGE,
|
||||
STRESS_TEST
|
||||
} sendType;
|
||||
|
||||
workMode m_workMode;
|
||||
sendType m_sendType;
|
||||
wxString m_message;
|
||||
wxString m_host;
|
||||
long m_stressWorkers;
|
||||
|
||||
virtual bool OnInit() override;
|
||||
virtual int OnRun() override;
|
||||
virtual int OnExit() override;
|
||||
void OnInitCmdLine(wxCmdLineParser& pParser) override;
|
||||
bool OnCmdLineParsed(wxCmdLineParser& pParser) override;
|
||||
void OnWorkerEvent(WorkerEvent& pEvent);
|
||||
void OnTimerEvent(wxTimerEvent& pEvent);
|
||||
|
||||
void StartWorker(workMode pMode, const wxString& pMessage);
|
||||
void StartWorker(workMode pMode);
|
||||
char* CreateBuffer(int *msgsize);
|
||||
|
||||
void dumpStatistics();
|
||||
|
||||
TList m_threadWorkers;
|
||||
EList m_eventWorkers;
|
||||
|
||||
unsigned m_statConnecting;
|
||||
unsigned m_statSending;
|
||||
unsigned m_statReceiving;
|
||||
unsigned m_statDisconnecting;
|
||||
unsigned m_statDone;
|
||||
unsigned m_statFailed;
|
||||
|
||||
wxTimer mTimer;
|
||||
};
|
||||
|
||||
wxDECLARE_APP(Client);
|
||||
|
||||
class ThreadWorker : public wxThread
|
||||
{
|
||||
public:
|
||||
ThreadWorker(const wxString& p_host, char* p_buf, int p_size);
|
||||
virtual ExitCode Entry() override;
|
||||
private:
|
||||
wxString m_host;
|
||||
wxSocketClient* m_clientSocket;
|
||||
char* m_inbuf;
|
||||
char* m_outbuf;
|
||||
int m_outsize;
|
||||
int m_insize;
|
||||
wxString m_workerIdent;
|
||||
};
|
||||
|
||||
class EventWorker : public wxEvtHandler
|
||||
{
|
||||
wxDECLARE_EVENT_TABLE();
|
||||
public:
|
||||
EventWorker(const wxString& p_host, char* p_buf, int p_size);
|
||||
void Run();
|
||||
virtual ~EventWorker();
|
||||
private:
|
||||
wxString m_host;
|
||||
wxSocketClient* m_clientSocket;
|
||||
char* m_inbuf;
|
||||
char* m_outbuf;
|
||||
int m_outsize;
|
||||
int m_written;
|
||||
int m_insize;
|
||||
int m_readed;
|
||||
|
||||
WorkerEvent::evt_type m_currentType;
|
||||
bool m_doneSent;
|
||||
wxIPV4address m_localaddr;
|
||||
|
||||
void OnSocketEvent(wxSocketEvent& pEvent);
|
||||
void SendEvent(bool failed);
|
||||
};
|
||||
|
||||
/******************* Implementation ******************/
|
||||
wxIMPLEMENT_APP_CONSOLE(Client);
|
||||
|
||||
#include <wx/listimpl.cpp>
|
||||
WX_DEFINE_LIST(TList);
|
||||
WX_DEFINE_LIST(EList);
|
||||
|
||||
wxString
|
||||
CreateIdent(const wxIPV4address& addr)
|
||||
{
|
||||
return wxString::Format("%s:%d",addr.IPAddress(),addr.Service());
|
||||
}
|
||||
|
||||
void
|
||||
Client::OnInitCmdLine(wxCmdLineParser& pParser)
|
||||
{
|
||||
wxApp::OnInitCmdLine(pParser);
|
||||
pParser.AddSwitch("e","event",_("Use event based worker (default)"),wxCMD_LINE_PARAM_OPTIONAL);
|
||||
pParser.AddSwitch("t","thread",_("Use thread based worker"),wxCMD_LINE_PARAM_OPTIONAL);
|
||||
pParser.AddSwitch("r","random",_("Send random data (default)"),wxCMD_LINE_PARAM_OPTIONAL);
|
||||
pParser.AddOption("m","message",_("Send message from <str>"),wxCMD_LINE_VAL_STRING,wxCMD_LINE_PARAM_OPTIONAL);
|
||||
pParser.AddOption("f","file",_("Send contents of <file>"),wxCMD_LINE_VAL_STRING,wxCMD_LINE_PARAM_OPTIONAL);
|
||||
pParser.AddOption("H","hostname",_("IP or name of host to connect to"),wxCMD_LINE_VAL_STRING,wxCMD_LINE_PARAM_OPTIONAL);
|
||||
pParser.AddOption("s","stress",_("stress test with <num> concurrent connections"),wxCMD_LINE_VAL_NUMBER,wxCMD_LINE_PARAM_OPTIONAL);
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
Client::OnCmdLineParsed(wxCmdLineParser& pParser)
|
||||
{
|
||||
wxString fname;
|
||||
m_workMode = EVENTS;
|
||||
m_stressWorkers = 50;
|
||||
|
||||
if (pParser.Found(_("verbose")))
|
||||
{
|
||||
wxLog::AddTraceMask("wxSocket");
|
||||
wxLog::AddTraceMask("epolldispatcher");
|
||||
wxLog::AddTraceMask("selectdispatcher");
|
||||
wxLog::AddTraceMask("thread");
|
||||
wxLog::AddTraceMask("events");
|
||||
}
|
||||
|
||||
if (pParser.Found("t"))
|
||||
m_workMode = THREADS;
|
||||
m_sendType = SEND_RANDOM;
|
||||
|
||||
if (pParser.Found("m",&m_message))
|
||||
m_sendType = SEND_MESSAGE;
|
||||
else if (pParser.Found("f",&fname))
|
||||
{
|
||||
wxFFile file(fname);
|
||||
if (!file.IsOpened()) {
|
||||
wxLogError("Cannot open file %s",fname);
|
||||
return false;
|
||||
}
|
||||
if (!file.ReadAll(&m_message)) {
|
||||
wxLogError("Cannot read content of file %s",fname);
|
||||
return false;
|
||||
}
|
||||
m_sendType = SEND_MESSAGE;
|
||||
}
|
||||
|
||||
if (pParser.Found("s",&m_stressWorkers))
|
||||
m_sendType = STRESS_TEST;
|
||||
|
||||
m_host = "127.0.0.1";
|
||||
pParser.Found("H",&m_host);
|
||||
return wxApp::OnCmdLineParsed(pParser);
|
||||
};
|
||||
|
||||
bool
|
||||
Client::OnInit()
|
||||
{
|
||||
if (!wxApp::OnInit())
|
||||
return false;
|
||||
srand(wxDateTime::Now().GetTicks());
|
||||
mTimer.SetOwner(this);
|
||||
m_statConnecting = 0;
|
||||
m_statSending = 0;
|
||||
m_statReceiving = 0;
|
||||
m_statDisconnecting = 0;
|
||||
m_statDone = 0;
|
||||
m_statFailed = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
int
|
||||
Client::OnRun()
|
||||
{
|
||||
int i;
|
||||
switch(m_sendType)
|
||||
{
|
||||
case STRESS_TEST:
|
||||
switch(m_workMode)
|
||||
{
|
||||
case THREADS:
|
||||
for (i = 0; i < m_stressWorkers; i++) {
|
||||
if (m_message.empty())
|
||||
StartWorker(THREADS);
|
||||
else
|
||||
StartWorker(THREADS, m_message);
|
||||
}
|
||||
break;
|
||||
case EVENTS:
|
||||
for (i = 0; i < m_stressWorkers; i++) {
|
||||
if (m_message.empty())
|
||||
StartWorker(EVENTS);
|
||||
else
|
||||
StartWorker(EVENTS, m_message);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
for (i = 0; i < m_stressWorkers; i++) {
|
||||
if (m_message.empty())
|
||||
StartWorker(i % 5 == 0 ? THREADS : EVENTS);
|
||||
else
|
||||
StartWorker(i % 5 == 0 ? THREADS : EVENTS, m_message);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SEND_MESSAGE:
|
||||
StartWorker(m_workMode,m_message);
|
||||
break;
|
||||
case SEND_RANDOM:
|
||||
StartWorker(m_workMode);
|
||||
break;
|
||||
}
|
||||
mTimer.Start(timeout_val,true);
|
||||
return wxApp::OnRun();
|
||||
}
|
||||
|
||||
int
|
||||
Client::OnExit()
|
||||
{
|
||||
for(EList::compatibility_iterator it = m_eventWorkers.GetFirst(); it ; it->GetNext()) {
|
||||
delete it->GetData();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Create buffer to be sent by client. Buffer contains test indicator
|
||||
// message size and place for data
|
||||
// msgsize parameter contains size of data in bytes and
|
||||
// if input value does not fit into 250 bytes then
|
||||
// on exit is updated to new value that is multiply of 1024 bytes
|
||||
char*
|
||||
Client::CreateBuffer(int* msgsize)
|
||||
{
|
||||
int bufsize = 0;
|
||||
char* buf;
|
||||
//if message should have more than 256 bytes then set it as
|
||||
//test3 for compatibility with GUI server sample
|
||||
if ((*msgsize) > 250)
|
||||
{
|
||||
//send at least one KB of data
|
||||
int size = (*msgsize)/1024 + 1;
|
||||
//returned buffer will contain test indicator, message size in KB and data
|
||||
bufsize = size*1024+2;
|
||||
buf = new char[bufsize];
|
||||
buf[0] = (unsigned char)0xDE; //second byte contains size in kilobytes
|
||||
buf[1] = (char)(size);
|
||||
*msgsize = size*1024;
|
||||
}
|
||||
else
|
||||
{
|
||||
//returned buffer will contain test indicator, message size in KB and data
|
||||
bufsize = (*msgsize)+2;
|
||||
buf = new char[bufsize];
|
||||
buf[0] = (unsigned char)0xBE; //second byte contains size in bytes
|
||||
buf[1] = (char)(*msgsize);
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
void
|
||||
Client::StartWorker(workMode pMode) {
|
||||
int msgsize = 1 + (int) (250000.0 * (rand() / (RAND_MAX + 1.0)));
|
||||
char* buf = CreateBuffer(&msgsize);
|
||||
|
||||
//fill data part of buffer with random bytes
|
||||
for (int i = 2; i < (msgsize); i++) {
|
||||
buf[i] = i % 256;
|
||||
}
|
||||
|
||||
if (pMode == THREADS) {
|
||||
ThreadWorker* c = new ThreadWorker(m_host,buf,msgsize+2);
|
||||
if (c->Create() != wxTHREAD_NO_ERROR) {
|
||||
wxLogError("Cannot create more threads");
|
||||
} else {
|
||||
c->Run();
|
||||
m_threadWorkers.Append(c);
|
||||
}
|
||||
} else {
|
||||
EventWorker* e = new EventWorker(m_host,buf,msgsize+2);
|
||||
e->Run();
|
||||
m_eventWorkers.Append(e);
|
||||
}
|
||||
m_statConnecting++;
|
||||
}
|
||||
|
||||
void
|
||||
Client::StartWorker(workMode pMode, const wxString& pMessage) {
|
||||
char* tmpbuf = wxStrdup(pMessage.mb_str());
|
||||
int msgsize = strlen(tmpbuf);
|
||||
char* buf = CreateBuffer(&msgsize);
|
||||
memset(buf+2,0x0,msgsize);
|
||||
memcpy(buf+2,tmpbuf,msgsize);
|
||||
free(tmpbuf);
|
||||
|
||||
if (pMode == THREADS) {
|
||||
ThreadWorker* c = new ThreadWorker(m_host,buf,msgsize+2);
|
||||
if (c->Create() != wxTHREAD_NO_ERROR) {
|
||||
wxLogError("Cannot create more threads");
|
||||
} else {
|
||||
c->Run();
|
||||
m_threadWorkers.Append(c);
|
||||
}
|
||||
} else {
|
||||
EventWorker* e = new EventWorker(m_host,buf,msgsize+2);
|
||||
e->Run();
|
||||
m_eventWorkers.Append(e);
|
||||
}
|
||||
m_statConnecting++;
|
||||
}
|
||||
|
||||
void
|
||||
Client::OnWorkerEvent(WorkerEvent& pEvent) {
|
||||
switch (pEvent.m_eventType) {
|
||||
case WorkerEvent::CONNECTING:
|
||||
if (pEvent.isFailed())
|
||||
{
|
||||
m_statConnecting--;
|
||||
m_statFailed++;
|
||||
}
|
||||
break;
|
||||
case WorkerEvent::SENDING:
|
||||
if (pEvent.isFailed())
|
||||
{
|
||||
m_statFailed++;
|
||||
m_statSending--;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_statConnecting--;
|
||||
m_statSending++;
|
||||
}
|
||||
break;
|
||||
case WorkerEvent::RECEIVING:
|
||||
if (pEvent.isFailed())
|
||||
{
|
||||
m_statReceiving--;
|
||||
m_statFailed++;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_statSending--;
|
||||
m_statReceiving++;
|
||||
}
|
||||
break;
|
||||
case WorkerEvent::DISCONNECTING:
|
||||
if (pEvent.isFailed())
|
||||
{
|
||||
m_statDisconnecting--;
|
||||
m_statFailed++;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_statReceiving--;
|
||||
m_statDisconnecting++;
|
||||
}
|
||||
break;
|
||||
case WorkerEvent::DONE:
|
||||
m_statDone++;
|
||||
m_statDisconnecting--;
|
||||
break;
|
||||
}
|
||||
|
||||
if (pEvent.isFailed() || pEvent.m_eventType == WorkerEvent::DONE)
|
||||
{
|
||||
for(TList::compatibility_iterator it = m_threadWorkers.GetFirst(); it ; it = it->GetNext()) {
|
||||
if (it->GetData() == pEvent.m_sender) {
|
||||
m_threadWorkers.DeleteNode(it);
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(EList::compatibility_iterator it2 = m_eventWorkers.GetFirst(); it2 ; it2 = it2->GetNext())
|
||||
{
|
||||
if (it2->GetData() == pEvent.m_sender) {
|
||||
delete it2->GetData();
|
||||
m_eventWorkers.DeleteNode(it2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((m_threadWorkers.GetCount() == 0) && (m_eventWorkers.GetCount() == 0))
|
||||
{
|
||||
mTimer.Stop();
|
||||
dumpStatistics();
|
||||
wxSleep(2);
|
||||
ExitMainLoop();
|
||||
}
|
||||
else
|
||||
{
|
||||
mTimer.Start(timeout_val,true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
Client::RemoveEventWorker(EventWorker* p_worker) {
|
||||
for(EList::compatibility_iterator it = m_eventWorkers.GetFirst(); it ; it = it->GetNext()) {
|
||||
if (it->GetData() == p_worker) {
|
||||
//wxLogDebug("Deleting event worker");
|
||||
delete it->GetData();
|
||||
m_eventWorkers.DeleteNode(it);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
Client::dumpStatistics() {
|
||||
wxString msg(
|
||||
wxString::Format(_("Connecting:\t%d\nSending\t\t%d\nReceiving\t%d\nDisconnecting:\t%d\nDone:\t\t%d\nFailed:\t\t%d\n"),
|
||||
m_statConnecting,
|
||||
m_statSending,
|
||||
m_statReceiving,
|
||||
m_statDisconnecting,
|
||||
m_statDone,
|
||||
m_statFailed
|
||||
));
|
||||
|
||||
wxLogMessage("Current status:\n%s\n",msg);
|
||||
}
|
||||
|
||||
void
|
||||
Client::OnTimerEvent(wxTimerEvent&) {
|
||||
dumpStatistics();
|
||||
}
|
||||
|
||||
wxBEGIN_EVENT_TABLE(Client,wxEvtHandler)
|
||||
EVT_WORKER(Client::OnWorkerEvent)
|
||||
EVT_TIMER(wxID_ANY,Client::OnTimerEvent)
|
||||
wxEND_EVENT_TABLE()
|
||||
|
||||
|
||||
|
||||
EventWorker::EventWorker(const wxString& p_host, char* p_buf, int p_size)
|
||||
: m_host(p_host),
|
||||
m_outbuf(p_buf),
|
||||
m_outsize(p_size),
|
||||
m_written(0),
|
||||
m_readed(0)
|
||||
{
|
||||
m_clientSocket = new wxSocketClient(wxSOCKET_NOWAIT);
|
||||
m_clientSocket->SetEventHandler(*this);
|
||||
m_insize = m_outsize - 2;
|
||||
m_inbuf = new char[m_insize];
|
||||
}
|
||||
|
||||
void
|
||||
EventWorker::Run() {
|
||||
wxIPV4address ca;
|
||||
ca.Hostname(m_host);
|
||||
ca.Service(3000);
|
||||
m_clientSocket->SetNotify(wxSOCKET_CONNECTION_FLAG|wxSOCKET_LOST_FLAG|wxSOCKET_OUTPUT_FLAG|wxSOCKET_INPUT_FLAG);
|
||||
m_clientSocket->Notify(true);
|
||||
m_currentType = WorkerEvent::CONNECTING;
|
||||
m_doneSent = false;
|
||||
//wxLogMessage("EventWorker: Connecting.....");
|
||||
m_clientSocket->Connect(ca,false);
|
||||
}
|
||||
|
||||
void
|
||||
EventWorker::OnSocketEvent(wxSocketEvent& pEvent) {
|
||||
switch(pEvent.GetSocketEvent()) {
|
||||
case wxSOCKET_INPUT:
|
||||
//wxLogDebug("EventWorker: INPUT");
|
||||
do {
|
||||
if (m_readed == m_insize)
|
||||
return; //event already posted
|
||||
m_clientSocket->Read(m_inbuf + m_readed, m_insize - m_readed);
|
||||
if (m_clientSocket->Error())
|
||||
{
|
||||
if (m_clientSocket->LastError() != wxSOCKET_WOULDBLOCK)
|
||||
{
|
||||
wxLogError("%s: read error",CreateIdent(m_localaddr));
|
||||
SendEvent(true);
|
||||
}
|
||||
}
|
||||
|
||||
m_readed += m_clientSocket->LastCount();
|
||||
//wxLogDebug("EventWorker: readed %d bytes, %d bytes to do",m_clientSocket->LastCount(), m_insize - m_readed);
|
||||
if (m_readed == m_insize)
|
||||
{
|
||||
if (!memcmp(m_inbuf,m_outbuf,m_insize)) {
|
||||
wxLogError("%s: data mismatch",CreateIdent(m_localaddr));
|
||||
SendEvent(true);
|
||||
}
|
||||
m_currentType = WorkerEvent::DISCONNECTING;
|
||||
wxLogDebug("%s: DISCONNECTING",CreateIdent(m_localaddr));
|
||||
SendEvent(false);
|
||||
|
||||
//wxLogDebug("EventWorker %p closing",this);
|
||||
m_clientSocket->Close();
|
||||
|
||||
m_currentType = WorkerEvent::DONE;
|
||||
wxLogDebug("%s: DONE",CreateIdent(m_localaddr));
|
||||
SendEvent(false);
|
||||
}
|
||||
} while (!m_clientSocket->Error());
|
||||
break;
|
||||
case wxSOCKET_OUTPUT:
|
||||
//wxLogDebug("EventWorker: OUTPUT");
|
||||
do {
|
||||
if (m_written == m_outsize)
|
||||
return;
|
||||
if (m_written == 0)
|
||||
{
|
||||
m_currentType = WorkerEvent::SENDING;
|
||||
wxLogDebug("%s: SENDING",CreateIdent(m_localaddr));
|
||||
}
|
||||
m_clientSocket->Write(m_outbuf + m_written, m_outsize - m_written);
|
||||
if (m_clientSocket->Error())
|
||||
{
|
||||
if (m_clientSocket->LastError() != wxSOCKET_WOULDBLOCK) {
|
||||
wxLogError("%s: Write error",CreateIdent(m_localaddr));
|
||||
SendEvent(true);
|
||||
}
|
||||
}
|
||||
m_written += m_clientSocket->LastCount();
|
||||
if (m_written != m_outsize)
|
||||
{
|
||||
//wxLogDebug("EventWorker: written %d bytes, %d bytes to do",m_clientSocket->LastCount(),m_outsize - m_written);
|
||||
}
|
||||
else
|
||||
{
|
||||
//wxLogDebug("EventWorker %p SENDING->RECEIVING",this);
|
||||
m_currentType = WorkerEvent::RECEIVING;
|
||||
wxLogDebug("%s: RECEIVING",CreateIdent(m_localaddr));
|
||||
SendEvent(false);
|
||||
}
|
||||
} while(!m_clientSocket->Error());
|
||||
break;
|
||||
case wxSOCKET_CONNECTION:
|
||||
{
|
||||
//wxLogMessage("EventWorker: got connection");
|
||||
wxLogMessage("%s: starting writing message (2 bytes for signature and %d bytes of data to write)",CreateIdent(m_localaddr),m_outsize-2);
|
||||
if (!m_clientSocket->GetLocal(m_localaddr))
|
||||
{
|
||||
wxLogError(_("Cannot get peer data for socket %p"),m_clientSocket);
|
||||
}
|
||||
m_currentType = WorkerEvent::SENDING;
|
||||
wxLogDebug("%s: CONNECTING",CreateIdent(m_localaddr));
|
||||
SendEvent(false);
|
||||
}
|
||||
break;
|
||||
case wxSOCKET_LOST:
|
||||
{
|
||||
wxLogError(_("%s: connection lost"),CreateIdent(m_localaddr));
|
||||
SendEvent(true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
EventWorker::SendEvent(bool failed) {
|
||||
if (m_doneSent)
|
||||
return;
|
||||
WorkerEvent e(this,m_currentType);
|
||||
if (failed) e.setFailed();
|
||||
wxGetApp().AddPendingEvent(e);
|
||||
m_doneSent = failed || m_currentType == WorkerEvent::DONE;
|
||||
};
|
||||
|
||||
EventWorker::~EventWorker() {
|
||||
m_clientSocket->Destroy();
|
||||
delete [] m_outbuf;
|
||||
delete [] m_inbuf;
|
||||
}
|
||||
|
||||
wxBEGIN_EVENT_TABLE(EventWorker,wxEvtHandler)
|
||||
EVT_SOCKET(wxID_ANY,EventWorker::OnSocketEvent)
|
||||
wxEND_EVENT_TABLE()
|
||||
|
||||
|
||||
ThreadWorker::ThreadWorker(const wxString& p_host, char* p_buf, int p_size)
|
||||
: wxThread(wxTHREAD_DETACHED),
|
||||
m_host(p_host),
|
||||
m_outbuf(p_buf),
|
||||
m_outsize(p_size)
|
||||
{
|
||||
m_clientSocket = new wxSocketClient(wxSOCKET_BLOCK|wxSOCKET_WAITALL);
|
||||
m_insize = m_outsize - 2;
|
||||
m_inbuf = new char[m_insize];
|
||||
}
|
||||
|
||||
wxThread::ExitCode ThreadWorker::Entry()
|
||||
{
|
||||
wxIPV4address ca;
|
||||
ca.Hostname(m_host);
|
||||
ca.Service(5678);
|
||||
//wxLogDebug("ThreadWorker: Connecting.....");
|
||||
m_clientSocket->SetTimeout(60);
|
||||
bool failed = false;
|
||||
WorkerEvent::evt_type etype = WorkerEvent::CONNECTING;
|
||||
if (!m_clientSocket->Connect(ca)) {
|
||||
wxLogError("Cannot connect to %s:%d",ca.IPAddress(), ca.Service());
|
||||
failed = true;
|
||||
} else {
|
||||
//wxLogMessage("ThreadWorker: Connected. Sending %d bytes of data",m_outsize);
|
||||
etype = WorkerEvent::SENDING;
|
||||
WorkerEvent e1(this,etype);
|
||||
wxGetApp().AddPendingEvent(e1);
|
||||
int to_process = m_outsize;
|
||||
do {
|
||||
m_clientSocket->Write(m_outbuf,m_outsize);
|
||||
if (m_clientSocket->Error()) {
|
||||
wxLogError("ThreadWorker: Write error");
|
||||
failed = true;
|
||||
}
|
||||
to_process -= m_clientSocket->LastCount();
|
||||
//wxLogDebug("EventWorker: written %d bytes, %d bytes to do",m_clientSocket->LastCount(),to_process);
|
||||
} while(!m_clientSocket->Error() && to_process != 0);
|
||||
|
||||
if (!failed) {
|
||||
etype = WorkerEvent::RECEIVING;
|
||||
WorkerEvent e2(this,etype);
|
||||
wxGetApp().AddPendingEvent(e2);
|
||||
to_process = m_insize;
|
||||
do {
|
||||
m_clientSocket->Read(m_inbuf,m_insize);
|
||||
if (m_clientSocket->Error()) {
|
||||
wxLogError("ThreadWorker: Read error");
|
||||
failed = true;
|
||||
break;
|
||||
}
|
||||
to_process -= m_clientSocket->LastCount();
|
||||
//wxLogDebug("EventWorker: readed %d bytes, %d bytes to do",m_clientSocket->LastCount(),to_process);
|
||||
} while(!m_clientSocket->Error() && to_process != 0);
|
||||
}
|
||||
|
||||
char* outdat = (char*)m_outbuf+2;
|
||||
if (!failed && (memcmp(m_inbuf,outdat,m_insize) != 0))
|
||||
{
|
||||
wxLogError("Data mismatch");
|
||||
failed = true;
|
||||
}
|
||||
}
|
||||
//wxLogDebug("ThreadWorker: Finished");
|
||||
if (!failed) {
|
||||
etype = WorkerEvent::DISCONNECTING;
|
||||
WorkerEvent e(this,etype);
|
||||
wxGetApp().AddPendingEvent(e);
|
||||
}
|
||||
m_clientSocket->Close();
|
||||
m_clientSocket->Destroy();
|
||||
m_clientSocket = nullptr;
|
||||
delete [] m_outbuf;
|
||||
delete [] m_inbuf;
|
||||
if (!failed)
|
||||
etype = WorkerEvent::DONE;
|
||||
WorkerEvent e(this,etype);
|
||||
if (failed) e.setFailed();
|
||||
wxGetApp().AddPendingEvent(e);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
450
libs/wxWidgets-3.3.1/samples/sockets/baseclient.vcxproj
Normal file
450
libs/wxWidgets-3.3.1/samples/sockets/baseclient.vcxproj
Normal file
@@ -0,0 +1,450 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Debug|Win32">
|
||||
<Configuration>DLL Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Debug|x64">
|
||||
<Configuration>DLL Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Release|Win32">
|
||||
<Configuration>DLL Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Release|x64">
|
||||
<Configuration>DLL Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F6AB1942-F1ED-4320-8020-BA4E9D58EBB5}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\..\build\msw\wx_config.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="..\..\build\msw\wx_setup.props" />
|
||||
<Import Project="..\..\build\msw\wx_local.props" Condition="Exists('..\..\build\msw\wx_local.props')" />
|
||||
<Import Project="..\samples.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.24720.0</_ProjectFileVersion>
|
||||
<OutDir>$(wxIntRootDir)</OutDir>
|
||||
<IntDir>$(wxIntRootDir)$(ProjectName)\</IntDir>
|
||||
<GenerateManifest>true</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\sample.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="baseclient.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\sample.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="baseclient.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
763
libs/wxWidgets-3.3.1/samples/sockets/baseserver.cpp
Normal file
763
libs/wxWidgets-3.3.1/samples/sockets/baseserver.cpp
Normal file
@@ -0,0 +1,763 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: samples/sockbase/client.cpp
|
||||
// Purpose: Sockets sample for wxBase
|
||||
// Author: Lukasz Michalski
|
||||
// Created: 27.06.2005
|
||||
// Copyright: (c) 2005 Lukasz Michalski <lmichalski@user.sourceforge.net>
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ============================================================================
|
||||
// declarations
|
||||
// ============================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#include "wx/wx.h"
|
||||
#include "wx/socket.h"
|
||||
#include "wx/event.h"
|
||||
#include "wx/list.h"
|
||||
#include "wx/cmdline.h"
|
||||
#include "wx/datetime.h"
|
||||
#include "wx/timer.h"
|
||||
#include "wx/thread.h"
|
||||
|
||||
const char *GetSocketErrorMsg(int pSockError)
|
||||
{
|
||||
switch(pSockError)
|
||||
{
|
||||
case wxSOCKET_NOERROR:
|
||||
return "wxSOCKET_NOERROR";
|
||||
|
||||
case wxSOCKET_INVOP:
|
||||
return "wxSOCKET_INVOP";
|
||||
|
||||
case wxSOCKET_IOERR:
|
||||
return "wxSOCKET_IOERR";
|
||||
|
||||
case wxSOCKET_INVADDR:
|
||||
return "wxSOCKET_INVADDR";
|
||||
|
||||
case wxSOCKET_NOHOST:
|
||||
return "wxSOCKET_NOHOST";
|
||||
|
||||
case wxSOCKET_INVPORT:
|
||||
return "wxSOCKET_INVPORT";
|
||||
|
||||
case wxSOCKET_WOULDBLOCK:
|
||||
return "wxSOCKET_WOULDBLOCK";
|
||||
|
||||
case wxSOCKET_TIMEDOUT:
|
||||
return "wxSOCKET_TIMEDOUT";
|
||||
|
||||
case wxSOCKET_MEMERR:
|
||||
return "wxSOCKET_MEMERR";
|
||||
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
//event sent by workers to server class
|
||||
//after client is served
|
||||
const wxEventType wxEVT_WORKER = wxNewEventType();
|
||||
#define EVT_WORKER(func) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_WORKER, -1, -1, wxEVENT_HANDLER_CAST(WorkerEventFunction, func), (wxObject *) nullptr ),
|
||||
|
||||
class WorkerEvent : public wxEvent
|
||||
{
|
||||
public:
|
||||
WorkerEvent(void* pSender)
|
||||
{
|
||||
SetId(-1);
|
||||
SetEventType(wxEVT_WORKER);
|
||||
m_sender = pSender;
|
||||
m_exit = false;
|
||||
m_workerFailed = false;
|
||||
}
|
||||
|
||||
virtual wxEvent* Clone() const override
|
||||
{
|
||||
return new WorkerEvent(*this);
|
||||
}
|
||||
|
||||
void* m_sender;
|
||||
bool m_exit;
|
||||
bool m_workerFailed;
|
||||
};
|
||||
|
||||
typedef void (wxEvtHandler::*WorkerEventFunction)(WorkerEvent&);
|
||||
|
||||
class ThreadWorker;
|
||||
class EventWorker;
|
||||
|
||||
WX_DECLARE_LIST(ThreadWorker, TList);
|
||||
WX_DECLARE_LIST(EventWorker, EList);
|
||||
|
||||
//main server class contains listening socket
|
||||
//and list of two type worker classes that serve clients
|
||||
class Server : public wxApp
|
||||
{
|
||||
wxDECLARE_EVENT_TABLE();
|
||||
public:
|
||||
Server() : m_maxConnections(-1) {}
|
||||
~Server() {}
|
||||
private:
|
||||
enum WorkMode
|
||||
{
|
||||
MIXED,
|
||||
THREADS,
|
||||
EVENTS
|
||||
};
|
||||
|
||||
virtual bool OnInit() override;
|
||||
virtual int OnExit() override;
|
||||
|
||||
void OnInitCmdLine(wxCmdLineParser& pParser) override;
|
||||
bool OnCmdLineParsed(wxCmdLineParser& pParser) override;
|
||||
|
||||
void OnSocketEvent(wxSocketEvent& pEvent);
|
||||
void OnWorkerEvent(WorkerEvent& pEvent);
|
||||
void OnTimerEvent(wxTimerEvent& pEvent);
|
||||
void DumpStatistics();
|
||||
|
||||
TList m_threadWorkers;
|
||||
EList m_eventWorkers;
|
||||
WorkMode m_workMode;
|
||||
wxSocketServer* m_listeningSocket;
|
||||
|
||||
// statistics
|
||||
unsigned m_threadWorkersCreated;
|
||||
unsigned m_threadWorkersDone;
|
||||
unsigned m_threadWorkersFailed;
|
||||
unsigned m_maxThreadWorkers;
|
||||
|
||||
unsigned m_eventWorkersCreated;
|
||||
unsigned m_eventWorkersDone;
|
||||
unsigned m_eventWorkersFailed;
|
||||
unsigned m_maxEventWorkers;
|
||||
|
||||
long int m_maxConnections;
|
||||
|
||||
unsigned short m_port;
|
||||
|
||||
wxTimer mTimer;
|
||||
};
|
||||
|
||||
wxDECLARE_APP(Server);
|
||||
|
||||
// just some common things shared between ThreadWorker and EventWorker
|
||||
class WorkerBase
|
||||
{
|
||||
protected:
|
||||
// outputs log message with IP and TCP port number prepended
|
||||
void LogWorker(const wxString& msg, wxLogLevel level = wxLOG_Info)
|
||||
{
|
||||
wxLogGeneric(level,
|
||||
"%s:%d %s", m_peer.IPAddress(), m_peer.Service(), msg);
|
||||
}
|
||||
|
||||
wxIPV4address m_peer;
|
||||
};
|
||||
|
||||
//thread based worker reads signature and all data first from connected client
|
||||
//and resends data to client after reading
|
||||
class ThreadWorker : public wxThread, private WorkerBase
|
||||
{
|
||||
public:
|
||||
ThreadWorker(wxSocketBase* pSocket);
|
||||
virtual ExitCode Entry() override;
|
||||
|
||||
private:
|
||||
wxSocketBase* m_socket;
|
||||
};
|
||||
|
||||
//event based worker reads signature and creates buffer for incoming data.
|
||||
//When part of data arrives this worker resends it as soon as possible.
|
||||
class EventWorker : public wxEvtHandler, private WorkerBase
|
||||
{
|
||||
public:
|
||||
EventWorker(wxSocketBase* pSock);
|
||||
virtual ~EventWorker();
|
||||
|
||||
private:
|
||||
wxSocketBase* m_socket;
|
||||
|
||||
unsigned char m_signature[2];
|
||||
char* m_inbuf;
|
||||
int m_infill;
|
||||
int m_size;
|
||||
char* m_outbuf;
|
||||
int m_outfill;
|
||||
int m_written;
|
||||
|
||||
void OnSocketEvent(wxSocketEvent& pEvent);
|
||||
void DoWrite();
|
||||
void DoRead();
|
||||
|
||||
wxDECLARE_EVENT_TABLE();
|
||||
};
|
||||
|
||||
/******************* Implementation ******************/
|
||||
wxIMPLEMENT_APP_CONSOLE(Server);
|
||||
|
||||
#include <wx/listimpl.cpp>
|
||||
WX_DEFINE_LIST(TList);
|
||||
WX_DEFINE_LIST(EList);
|
||||
|
||||
|
||||
void
|
||||
Server::OnInitCmdLine(wxCmdLineParser& pParser)
|
||||
{
|
||||
wxApp::OnInitCmdLine(pParser);
|
||||
pParser.AddSwitch("t","threads","Use thread based workers only");
|
||||
pParser.AddSwitch("e","events","Use event based workers only");
|
||||
pParser.AddOption("m","max","Exit after <n> connections",
|
||||
wxCMD_LINE_VAL_NUMBER);
|
||||
pParser.AddOption("p","port","listen on given port (default 3000)",
|
||||
wxCMD_LINE_VAL_NUMBER);
|
||||
}
|
||||
|
||||
void
|
||||
Server::DumpStatistics()
|
||||
{
|
||||
wxString mode;
|
||||
switch(m_workMode)
|
||||
{
|
||||
case EVENTS:
|
||||
mode = "Event based workers";
|
||||
break;
|
||||
case THREADS:
|
||||
mode = "Thread based workers";
|
||||
break;
|
||||
case MIXED:
|
||||
mode = "Event and thread based workers";
|
||||
break;
|
||||
}
|
||||
wxLogMessage("Server mode: %s",mode);
|
||||
wxLogMessage("\t\t\t\tThreads\tEvents\tTotal");
|
||||
wxLogMessage("Workers created:\t\t%d\t%d\t%d",
|
||||
m_threadWorkersCreated,
|
||||
m_eventWorkersCreated,
|
||||
m_threadWorkersCreated + m_eventWorkersCreated);
|
||||
wxLogMessage("Max concurrent workers:\t%d\t%d\t%d",
|
||||
m_maxThreadWorkers,
|
||||
m_maxEventWorkers,
|
||||
m_maxThreadWorkers + m_maxEventWorkers);
|
||||
wxLogMessage("Workers failed:\t\t%d\t%d\t%d",
|
||||
m_threadWorkersFailed,
|
||||
m_eventWorkersFailed,
|
||||
m_threadWorkersFailed + m_eventWorkersFailed);
|
||||
wxLogMessage("Workers done:\t\t%d\t%d\t%d",
|
||||
m_threadWorkersDone,
|
||||
m_eventWorkersDone,
|
||||
m_threadWorkersDone + m_eventWorkersDone);
|
||||
|
||||
if ((int)(m_threadWorkersDone+m_eventWorkersDone) == m_maxConnections)
|
||||
{
|
||||
wxLogMessage("%ld connection(s) served, exiting",m_maxConnections);
|
||||
ExitMainLoop();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
Server::OnCmdLineParsed(wxCmdLineParser& pParser)
|
||||
{
|
||||
if (pParser.Found("verbose"))
|
||||
{
|
||||
wxLog::AddTraceMask("wxSocket");
|
||||
wxLog::AddTraceMask("epolldispatcher");
|
||||
wxLog::AddTraceMask("selectdispatcher");
|
||||
wxLog::AddTraceMask("thread");
|
||||
wxLog::AddTraceMask("events");
|
||||
wxLog::AddTraceMask("timer");
|
||||
}
|
||||
|
||||
if (pParser.Found("m",&m_maxConnections))
|
||||
{
|
||||
wxLogMessage("%ld connection(s) to exit",m_maxConnections);
|
||||
}
|
||||
|
||||
long port;
|
||||
if (pParser.Found("p", &port))
|
||||
{
|
||||
if ( port <= 0 || port > USHRT_MAX )
|
||||
{
|
||||
wxLogError("Invalid port number %ld, must be in 0..%u range.",
|
||||
port, USHRT_MAX);
|
||||
return false;
|
||||
}
|
||||
|
||||
m_port = static_cast<unsigned short>(port);
|
||||
wxLogMessage("Will listen on port %u", m_port);
|
||||
}
|
||||
|
||||
if (pParser.Found("t"))
|
||||
m_workMode = THREADS;
|
||||
else if (pParser.Found("e"))
|
||||
m_workMode = EVENTS;
|
||||
else
|
||||
m_workMode = MIXED;
|
||||
|
||||
return wxApp::OnCmdLineParsed(pParser);
|
||||
}
|
||||
|
||||
bool Server::OnInit()
|
||||
{
|
||||
wxLog* logger = new wxLogStderr();
|
||||
wxLog::SetActiveTarget(logger);
|
||||
|
||||
m_port = 3000;
|
||||
|
||||
//send interesting things to console
|
||||
if (!wxApp::OnInit())
|
||||
return false;
|
||||
|
||||
//setup listening socket
|
||||
wxIPV4address la;
|
||||
la.Service(m_port);
|
||||
m_listeningSocket = new wxSocketServer(la,wxSOCKET_NOWAIT|wxSOCKET_REUSEADDR);
|
||||
m_listeningSocket->SetEventHandler(*this);
|
||||
m_listeningSocket->SetNotify(wxSOCKET_CONNECTION_FLAG);
|
||||
m_listeningSocket->Notify(true);
|
||||
if (!m_listeningSocket->IsOk())
|
||||
{
|
||||
wxLogError("Cannot bind listening socket");
|
||||
return false;
|
||||
}
|
||||
|
||||
m_threadWorkersCreated = 0;
|
||||
m_threadWorkersDone = 0;
|
||||
m_threadWorkersFailed = 0;
|
||||
m_maxThreadWorkers = 0;
|
||||
|
||||
m_eventWorkersCreated = 0;
|
||||
m_eventWorkersDone = 0;
|
||||
m_eventWorkersFailed = 0;
|
||||
m_maxEventWorkers = 0;
|
||||
|
||||
wxLogMessage("Server listening at port %u, waiting for connections", m_port);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
int Server::OnExit()
|
||||
{
|
||||
for ( TList::compatibility_iterator it = m_threadWorkers.GetFirst();
|
||||
it;
|
||||
it = it->GetNext() )
|
||||
{
|
||||
it->GetData()->Wait();
|
||||
delete it->GetData();
|
||||
}
|
||||
|
||||
for ( EList::compatibility_iterator it2 = m_eventWorkers.GetFirst();
|
||||
it2;
|
||||
it2->GetNext() )
|
||||
{
|
||||
delete it2->GetData();
|
||||
}
|
||||
|
||||
m_threadWorkers.Clear();
|
||||
m_eventWorkers.Clear();
|
||||
m_listeningSocket->Destroy();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Server::OnSocketEvent(wxSocketEvent& pEvent)
|
||||
{
|
||||
switch(pEvent.GetSocketEvent())
|
||||
{
|
||||
case wxSOCKET_INPUT:
|
||||
wxLogError("Unexpected wxSOCKET_INPUT in wxSocketServer");
|
||||
break;
|
||||
case wxSOCKET_OUTPUT:
|
||||
wxLogError("Unexpected wxSOCKET_OUTPUT in wxSocketServer");
|
||||
break;
|
||||
case wxSOCKET_CONNECTION:
|
||||
{
|
||||
wxSocketBase* sock = m_listeningSocket->Accept();
|
||||
wxIPV4address addr;
|
||||
if (!sock->GetPeer(addr))
|
||||
{
|
||||
wxLogError("Server: cannot get peer info");
|
||||
} else {
|
||||
wxLogMessage("Got connection from %s:%d",addr.IPAddress(), addr.Service());
|
||||
}
|
||||
bool createThread;
|
||||
|
||||
if (m_workMode != MIXED)
|
||||
createThread = m_workMode == THREADS;
|
||||
else
|
||||
createThread = (wxDateTime::Now().GetSecond())%2 == 0;
|
||||
|
||||
if (createThread)
|
||||
{
|
||||
ThreadWorker* c = new ThreadWorker(sock);
|
||||
if (c->Create() == wxTHREAD_NO_ERROR)
|
||||
{
|
||||
m_threadWorkers.Append(c);
|
||||
if (m_threadWorkers.GetCount() > m_maxThreadWorkers)
|
||||
m_maxThreadWorkers++;
|
||||
m_threadWorkersCreated++;
|
||||
c->Run();
|
||||
}
|
||||
else
|
||||
{
|
||||
wxLogError("Server: cannot create next thread (current threads: %d", m_threadWorkers.size());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
EventWorker* w = new EventWorker(sock);
|
||||
m_eventWorkers.Append(w);
|
||||
if (m_eventWorkers.GetCount() > m_maxEventWorkers)
|
||||
m_maxEventWorkers++;
|
||||
m_eventWorkersCreated++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case wxSOCKET_LOST:
|
||||
wxLogError("Unexpected wxSOCKET_LOST in wxSocketServer");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Server::OnWorkerEvent(WorkerEvent& pEvent)
|
||||
{
|
||||
//wxLogMessage("Got worker event");
|
||||
for(TList::compatibility_iterator it = m_threadWorkers.GetFirst(); it ; it = it->GetNext())
|
||||
{
|
||||
if (it->GetData() == pEvent.m_sender)
|
||||
{
|
||||
wxLogVerbose("Deleting thread worker (%lu left)",
|
||||
static_cast<unsigned long>( m_threadWorkers.GetCount() ));
|
||||
it->GetData()->Wait();
|
||||
delete it->GetData();
|
||||
m_threadWorkers.DeleteNode(it);
|
||||
if (!pEvent.m_workerFailed)
|
||||
m_threadWorkersDone++;
|
||||
else
|
||||
m_threadWorkersFailed++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(EList::compatibility_iterator it2 = m_eventWorkers.GetFirst(); it2 ; it2 = it2->GetNext())
|
||||
{
|
||||
if (it2->GetData() == pEvent.m_sender)
|
||||
{
|
||||
wxLogVerbose("Deleting event worker (%lu left)",
|
||||
static_cast<unsigned long>( m_eventWorkers.GetCount() ));
|
||||
delete it2->GetData();
|
||||
m_eventWorkers.DeleteNode(it2);
|
||||
if (!pEvent.m_workerFailed)
|
||||
m_eventWorkersDone++;
|
||||
else
|
||||
m_eventWorkersFailed++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (m_eventWorkers.GetCount() == 0 && m_threadWorkers.GetCount() == 0)
|
||||
{
|
||||
mTimer.Start(1000,true);
|
||||
}
|
||||
}
|
||||
|
||||
void Server::OnTimerEvent(wxTimerEvent&)
|
||||
{
|
||||
DumpStatistics();
|
||||
}
|
||||
|
||||
|
||||
wxBEGIN_EVENT_TABLE(Server,wxEvtHandler)
|
||||
EVT_SOCKET(wxID_ANY,Server::OnSocketEvent)
|
||||
EVT_WORKER(Server::OnWorkerEvent)
|
||||
EVT_TIMER(wxID_ANY,Server::OnTimerEvent)
|
||||
wxEND_EVENT_TABLE()
|
||||
|
||||
|
||||
ThreadWorker::ThreadWorker(wxSocketBase* pSocket) : wxThread(wxTHREAD_JOINABLE)
|
||||
{
|
||||
m_socket = pSocket;
|
||||
//Notify() cannot be called in thread context. We have to detach from main loop
|
||||
//before switching thread contexts.
|
||||
m_socket->Notify(false);
|
||||
m_socket->SetFlags(wxSOCKET_WAITALL|wxSOCKET_BLOCK);
|
||||
pSocket->GetPeer(m_peer);
|
||||
}
|
||||
|
||||
wxThread::ExitCode ThreadWorker::Entry()
|
||||
{
|
||||
WorkerEvent e(this);
|
||||
if (!m_socket->IsConnected())
|
||||
{
|
||||
LogWorker("ThreadWorker: not connected",wxLOG_Error);
|
||||
return nullptr;
|
||||
}
|
||||
int to_process = -1;
|
||||
if (m_socket->IsConnected())
|
||||
{
|
||||
unsigned char signature[2];
|
||||
LogWorker("ThreadWorker: reading for data");
|
||||
to_process = 2;
|
||||
do
|
||||
{
|
||||
m_socket->Read(&signature,to_process);
|
||||
if (m_socket->Error())
|
||||
{
|
||||
LogWorker("ThreadWorker: Read error",wxLOG_Error);
|
||||
wxGetApp().AddPendingEvent(e);
|
||||
return nullptr;
|
||||
}
|
||||
to_process -= m_socket->LastCount();
|
||||
LogWorker(wxString::Format("to_process: %d",to_process));
|
||||
|
||||
}
|
||||
while (!m_socket->Error() && to_process != 0);
|
||||
|
||||
if (signature[0] == 0)
|
||||
{
|
||||
e.m_exit = true;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (signature[0] == 0xCE)
|
||||
{
|
||||
LogWorker("This server does not support test2 from GUI client",wxLOG_Error);
|
||||
e.m_workerFailed = true;
|
||||
e.m_exit = true;
|
||||
return nullptr;
|
||||
}
|
||||
int size = signature[1] * (signature[0] == 0xBE ? 1 : 1024);
|
||||
char* buf = new char[size];
|
||||
LogWorker(wxString::Format("Message signature: chunks: %d, kilobytes: %d, size: %d (bytes)",signature[0],signature[1],size));
|
||||
|
||||
to_process = size;
|
||||
LogWorker(wxString::Format("ThreadWorker: reading %d bytes of data",to_process));
|
||||
|
||||
do
|
||||
{
|
||||
m_socket->Read(buf,to_process);
|
||||
if (m_socket->Error())
|
||||
{
|
||||
LogWorker("ThreadWorker: Read error",wxLOG_Error);
|
||||
wxGetApp().AddPendingEvent(e);
|
||||
return nullptr;
|
||||
}
|
||||
to_process -= m_socket->LastCount();
|
||||
LogWorker(wxString::Format("ThreadWorker: %d bytes readed, %d todo",m_socket->LastCount(),to_process));
|
||||
|
||||
}
|
||||
while(!m_socket->Error() && to_process != 0);
|
||||
|
||||
to_process = size;
|
||||
|
||||
do
|
||||
{
|
||||
m_socket->Write(buf,to_process);
|
||||
if (m_socket->Error())
|
||||
{
|
||||
LogWorker("ThreadWorker: Write error",wxLOG_Error);
|
||||
break;
|
||||
}
|
||||
to_process -= m_socket->LastCount();
|
||||
LogWorker(wxString::Format("ThreadWorker: %d bytes written, %d todo",m_socket->LastCount(),to_process));
|
||||
}
|
||||
while(!m_socket->Error() && to_process != 0);
|
||||
}
|
||||
|
||||
LogWorker("ThreadWorker: done");
|
||||
e.m_workerFailed = to_process != 0;
|
||||
m_socket->Destroy();
|
||||
wxGetApp().AddPendingEvent(e);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
EventWorker::EventWorker(wxSocketBase* pSock)
|
||||
: m_socket(pSock),
|
||||
m_inbuf(nullptr),
|
||||
m_infill(0),
|
||||
m_outbuf(nullptr),
|
||||
m_outfill(0)
|
||||
{
|
||||
m_socket->SetNotify(wxSOCKET_LOST_FLAG|wxSOCKET_INPUT_FLAG|wxSOCKET_OUTPUT_FLAG);
|
||||
m_socket->Notify(true);
|
||||
m_socket->SetEventHandler(*this);
|
||||
m_socket->SetFlags(wxSOCKET_NOWAIT);
|
||||
m_socket->GetPeer(m_peer);
|
||||
}
|
||||
|
||||
EventWorker::~EventWorker()
|
||||
{
|
||||
m_socket->Destroy();
|
||||
delete [] m_inbuf;
|
||||
delete [] m_outbuf;
|
||||
}
|
||||
|
||||
void
|
||||
EventWorker::DoRead()
|
||||
{
|
||||
if (m_inbuf == nullptr)
|
||||
{
|
||||
//read message header
|
||||
do
|
||||
{
|
||||
m_socket->Read(m_signature + m_infill, 2 - m_infill);
|
||||
if (m_socket->Error())
|
||||
{
|
||||
if (m_socket->LastError() != wxSOCKET_WOULDBLOCK)
|
||||
{
|
||||
LogWorker(wxString::Format("Read error (%d): %s",m_socket->LastError(),GetSocketErrorMsg(m_socket->LastError())),wxLOG_Error);
|
||||
m_socket->Close();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_infill += m_socket->LastCount();
|
||||
if (m_infill == 2)
|
||||
{
|
||||
unsigned char chunks = m_signature[1];
|
||||
unsigned char type = m_signature[0];
|
||||
if (type == 0xCE)
|
||||
{
|
||||
LogWorker("This server does not support test2 from GUI client",wxLOG_Error);
|
||||
m_written = -1; //wxSOCKET_LOST will interpret this as failure
|
||||
m_socket->Close();
|
||||
}
|
||||
else if (type == 0xBE || type == 0xDE)
|
||||
{
|
||||
m_size = chunks * (type == 0xBE ? 1 : 1024);
|
||||
m_inbuf = new char[m_size];
|
||||
m_outbuf = new char[m_size];
|
||||
m_infill = 0;
|
||||
m_outfill = 0;
|
||||
m_written = 0;
|
||||
LogWorker(wxString::Format("Message signature: len: %d, type: %s, size: %d (bytes)",chunks,type == 0xBE ? "b" : "kB",m_size));
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
LogWorker(wxString::Format("Unknown test type %x",type));
|
||||
m_socket->Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
while(!m_socket->Error() && (2 - m_infill != 0));
|
||||
}
|
||||
|
||||
if (m_inbuf == nullptr)
|
||||
return;
|
||||
//read message data
|
||||
do
|
||||
{
|
||||
if (m_size == m_infill)
|
||||
{
|
||||
m_signature[0] = m_signature[1] = 0x0;
|
||||
wxDELETEA(m_inbuf);
|
||||
m_infill = 0;
|
||||
return;
|
||||
}
|
||||
m_socket->Read(m_inbuf + m_infill,m_size - m_infill);
|
||||
if (m_socket->Error())
|
||||
{
|
||||
if (m_socket->LastError() != wxSOCKET_WOULDBLOCK)
|
||||
{
|
||||
LogWorker(wxString::Format("Read error (%d): %s",
|
||||
m_socket->LastError(),
|
||||
GetSocketErrorMsg(m_socket->LastError())),
|
||||
wxLOG_Error);
|
||||
|
||||
m_socket->Close();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy(m_outbuf+m_outfill,m_inbuf+m_infill,m_socket->LastCount());
|
||||
m_infill += m_socket->LastCount();
|
||||
m_outfill += m_socket->LastCount();
|
||||
DoWrite();
|
||||
}
|
||||
}
|
||||
while(!m_socket->Error());
|
||||
};
|
||||
|
||||
void EventWorker::OnSocketEvent(wxSocketEvent& pEvent)
|
||||
{
|
||||
switch(pEvent.GetSocketEvent())
|
||||
{
|
||||
case wxSOCKET_INPUT:
|
||||
DoRead();
|
||||
break;
|
||||
|
||||
case wxSOCKET_OUTPUT:
|
||||
if ( m_outbuf )
|
||||
DoWrite();
|
||||
break;
|
||||
|
||||
case wxSOCKET_CONNECTION:
|
||||
LogWorker("Unexpected wxSOCKET_CONNECTION in EventWorker", wxLOG_Error);
|
||||
break;
|
||||
|
||||
case wxSOCKET_LOST:
|
||||
{
|
||||
LogWorker("Connection lost");
|
||||
WorkerEvent e(this);
|
||||
e.m_workerFailed = m_written != m_size;
|
||||
wxGetApp().AddPendingEvent(e);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void EventWorker::DoWrite()
|
||||
{
|
||||
do
|
||||
{
|
||||
if (m_written == m_size)
|
||||
{
|
||||
wxDELETEA(m_outbuf);
|
||||
m_outfill = 0;
|
||||
LogWorker( "All data written");
|
||||
return;
|
||||
}
|
||||
if (m_outfill - m_written == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
m_socket->Write(m_outbuf + m_written,m_outfill - m_written);
|
||||
if (m_socket->Error())
|
||||
{
|
||||
if (m_socket->LastError() != wxSOCKET_WOULDBLOCK)
|
||||
{
|
||||
LogWorker(
|
||||
wxString::Format("Write error (%d): %s",
|
||||
m_socket->LastError(),
|
||||
GetSocketErrorMsg(m_socket->LastError())
|
||||
)
|
||||
,wxLOG_Error
|
||||
);
|
||||
m_socket->Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
LogWorker("Write would block, waiting for OUTPUT event");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
memmove(m_outbuf,m_outbuf+m_socket->LastCount(),m_outfill-m_socket->LastCount());
|
||||
m_written += m_socket->LastCount();
|
||||
}
|
||||
LogWorker(wxString::Format("Written %d of %d bytes, todo %d",
|
||||
m_written, m_size, m_size - m_written));
|
||||
}
|
||||
while (!m_socket->Error());
|
||||
}
|
||||
|
||||
wxBEGIN_EVENT_TABLE(EventWorker,wxEvtHandler)
|
||||
EVT_SOCKET(wxID_ANY,EventWorker::OnSocketEvent)
|
||||
wxEND_EVENT_TABLE()
|
||||
450
libs/wxWidgets-3.3.1/samples/sockets/baseserver.vcxproj
Normal file
450
libs/wxWidgets-3.3.1/samples/sockets/baseserver.vcxproj
Normal file
@@ -0,0 +1,450 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Debug|Win32">
|
||||
<Configuration>DLL Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Debug|x64">
|
||||
<Configuration>DLL Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Release|Win32">
|
||||
<Configuration>DLL Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Release|x64">
|
||||
<Configuration>DLL Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{A8ED9B31-A29C-4BBB-9732-51B38B7BF28C}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\..\build\msw\wx_config.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="..\..\build\msw\wx_setup.props" />
|
||||
<Import Project="..\..\build\msw\wx_local.props" Condition="Exists('..\..\build\msw\wx_local.props')" />
|
||||
<Import Project="..\samples.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.24720.0</_ProjectFileVersion>
|
||||
<OutDir>$(wxIntRootDir)</OutDir>
|
||||
<IntDir>$(wxIntRootDir)$(ProjectName)\</IntDir>
|
||||
<GenerateManifest>true</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>wxUSE_GUI=0;WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\sample.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="baseserver.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\sample.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="baseserver.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
727
libs/wxWidgets-3.3.1/samples/sockets/client.cpp
Normal file
727
libs/wxWidgets-3.3.1/samples/sockets/client.cpp
Normal file
@@ -0,0 +1,727 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: client.cpp
|
||||
// Purpose: Client for wxSocket demo
|
||||
// Author: Guillermo Rodriguez Garcia <guille@iies.es>
|
||||
// Created: 1999/09/19
|
||||
// Copyright: (c) 1999 Guillermo Rodriguez Garcia
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ==========================================================================
|
||||
// declarations
|
||||
// ==========================================================================
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// headers
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
// for all others, include the necessary headers
|
||||
#ifndef WX_PRECOMP
|
||||
# include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
#include "wx/socket.h"
|
||||
#include "wx/url.h"
|
||||
#include "wx/sstream.h"
|
||||
#include "wx/thread.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// resources
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// the application icon
|
||||
#ifndef wxHAS_IMAGES_IN_RESOURCES
|
||||
#include "../sample.xpm"
|
||||
#endif
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// classes
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// Define a new application type
|
||||
class MyApp : public wxApp
|
||||
{
|
||||
public:
|
||||
virtual bool OnInit() override;
|
||||
};
|
||||
|
||||
// Define a new frame type: this is going to be our main frame
|
||||
class MyFrame : public wxFrame
|
||||
{
|
||||
public:
|
||||
MyFrame();
|
||||
~MyFrame();
|
||||
|
||||
// event handlers for File menu
|
||||
void OnQuit(wxCommandEvent& event);
|
||||
void OnAbout(wxCommandEvent& event);
|
||||
|
||||
// event handlers for Socket menu
|
||||
void OnOpenConnection(wxCommandEvent& event);
|
||||
void OnTest1(wxCommandEvent& event);
|
||||
void OnTest2(wxCommandEvent& event);
|
||||
void OnTest3(wxCommandEvent& event);
|
||||
void OnCloseConnection(wxCommandEvent& event);
|
||||
|
||||
#if wxUSE_URL
|
||||
// event handlers for Protocols menu
|
||||
void OnTestURL(wxCommandEvent& event);
|
||||
#endif
|
||||
#if wxUSE_IPV6
|
||||
void OnOpenConnectionIPv6(wxCommandEvent& event);
|
||||
#endif
|
||||
|
||||
void OpenConnection(wxSockAddress::Family family);
|
||||
|
||||
// event handlers for DatagramSocket menu (stub)
|
||||
void OnDatagram(wxCommandEvent& event);
|
||||
|
||||
// socket event handler
|
||||
void OnSocketEvent(wxSocketEvent& event);
|
||||
|
||||
// convenience functions
|
||||
void UpdateStatusBar();
|
||||
|
||||
private:
|
||||
wxSocketClient *m_sock;
|
||||
wxTextCtrl *m_text;
|
||||
wxMenu *m_menuFile;
|
||||
wxMenu *m_menuSocket;
|
||||
wxMenu *m_menuDatagramSocket;
|
||||
wxMenu *m_menuProtocols;
|
||||
wxMenuBar *m_menuBar;
|
||||
bool m_busy;
|
||||
|
||||
// any class wishing to process wxWidgets events must use this macro
|
||||
wxDECLARE_EVENT_TABLE();
|
||||
};
|
||||
|
||||
// simple helper class to log start and end of each test
|
||||
class TestLogger
|
||||
{
|
||||
public:
|
||||
TestLogger(const wxString& name) : m_name(name)
|
||||
{
|
||||
wxLogMessage("=== %s test begins ===", m_name);
|
||||
}
|
||||
|
||||
~TestLogger()
|
||||
{
|
||||
wxLogMessage("=== %s test ends ===", m_name);
|
||||
}
|
||||
|
||||
private:
|
||||
const wxString m_name;
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// constants
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// IDs for the controls and the menu commands
|
||||
enum
|
||||
{
|
||||
// menu items
|
||||
CLIENT_QUIT = wxID_EXIT,
|
||||
CLIENT_ABOUT = wxID_ABOUT,
|
||||
CLIENT_OPEN = 100,
|
||||
#if wxUSE_IPV6
|
||||
CLIENT_OPENIPV6,
|
||||
#endif
|
||||
CLIENT_TEST1,
|
||||
CLIENT_TEST2,
|
||||
CLIENT_TEST3,
|
||||
CLIENT_CLOSE,
|
||||
#if wxUSE_URL
|
||||
CLIENT_TESTURL,
|
||||
#endif
|
||||
CLIENT_DGRAM,
|
||||
|
||||
// id for socket
|
||||
SOCKET_ID
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// event tables and other macros for wxWidgets
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(CLIENT_QUIT, MyFrame::OnQuit)
|
||||
EVT_MENU(CLIENT_ABOUT, MyFrame::OnAbout)
|
||||
EVT_MENU(CLIENT_OPEN, MyFrame::OnOpenConnection)
|
||||
#if wxUSE_IPV6
|
||||
EVT_MENU(CLIENT_OPENIPV6, MyFrame::OnOpenConnectionIPv6)
|
||||
#endif
|
||||
EVT_MENU(CLIENT_TEST1, MyFrame::OnTest1)
|
||||
EVT_MENU(CLIENT_TEST2, MyFrame::OnTest2)
|
||||
EVT_MENU(CLIENT_TEST3, MyFrame::OnTest3)
|
||||
EVT_MENU(CLIENT_CLOSE, MyFrame::OnCloseConnection)
|
||||
EVT_MENU(CLIENT_DGRAM, MyFrame::OnDatagram)
|
||||
#if wxUSE_URL
|
||||
EVT_MENU(CLIENT_TESTURL, MyFrame::OnTestURL)
|
||||
#endif
|
||||
EVT_SOCKET(SOCKET_ID, MyFrame::OnSocketEvent)
|
||||
wxEND_EVENT_TABLE()
|
||||
|
||||
wxIMPLEMENT_APP(MyApp);
|
||||
|
||||
// ==========================================================================
|
||||
// implementation
|
||||
// ==========================================================================
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// the application class
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
bool MyApp::OnInit()
|
||||
{
|
||||
if ( !wxApp::OnInit() )
|
||||
return false;
|
||||
|
||||
// Create the main application window
|
||||
MyFrame *frame = new MyFrame();
|
||||
|
||||
// Show it
|
||||
frame->Show(true);
|
||||
|
||||
// success
|
||||
return true;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// main frame
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// frame constructor
|
||||
MyFrame::MyFrame() : wxFrame(nullptr, wxID_ANY,
|
||||
_("wxSocket demo: Client"),
|
||||
wxDefaultPosition, wxSize(300, 200))
|
||||
{
|
||||
// Give the frame an icon
|
||||
SetIcon(wxICON(sample));
|
||||
|
||||
// Make menus
|
||||
m_menuFile = new wxMenu();
|
||||
m_menuFile->Append(CLIENT_ABOUT, _("&About\tCtrl-A"), _("Show about dialog"));
|
||||
m_menuFile->AppendSeparator();
|
||||
m_menuFile->Append(CLIENT_QUIT, _("E&xit\tAlt-X"), _("Quit client"));
|
||||
|
||||
m_menuSocket = new wxMenu();
|
||||
m_menuSocket->Append(CLIENT_OPEN, _("&Open session\tCtrl-O"), _("Connect to server"));
|
||||
#if wxUSE_IPV6
|
||||
m_menuSocket->Append(CLIENT_OPENIPV6, _("&Open session(IPv6)\tShift-Ctrl-O"), _("Connect to server(IPv6)"));
|
||||
#endif
|
||||
m_menuSocket->AppendSeparator();
|
||||
m_menuSocket->Append(CLIENT_TEST1, _("Test &1\tCtrl-F1"), _("Test basic functionality"));
|
||||
m_menuSocket->Append(CLIENT_TEST2, _("Test &2\tCtrl-F2"), _("Test ReadMsg and WriteMsg"));
|
||||
m_menuSocket->Append(CLIENT_TEST3, _("Test &3\tCtrl-F3"), _("Test large data transfer"));
|
||||
m_menuSocket->AppendSeparator();
|
||||
m_menuSocket->Append(CLIENT_CLOSE, _("&Close session\tCtrl-C"), _("Close connection"));
|
||||
|
||||
m_menuDatagramSocket = new wxMenu();
|
||||
m_menuDatagramSocket->Append(CLIENT_DGRAM, _("&Datagram test\tCtrl-D"), _("Test UDP sockets"));
|
||||
|
||||
#if wxUSE_URL
|
||||
m_menuProtocols = new wxMenu();
|
||||
m_menuProtocols->Append(CLIENT_TESTURL, _("Test URL\tCtrl-U"),
|
||||
_("Get data from the specified URL"));
|
||||
#endif
|
||||
|
||||
// Append menus to the menubar
|
||||
m_menuBar = new wxMenuBar();
|
||||
m_menuBar->Append(m_menuFile, _("&File"));
|
||||
m_menuBar->Append(m_menuSocket,
|
||||
/* TRANSLATORS: Transmission Control Protocol */
|
||||
_("&TCP"));
|
||||
m_menuBar->Append(m_menuDatagramSocket,
|
||||
/* TRANSLATORS: User Datagram Protocol */
|
||||
_("&UDP"));
|
||||
#if wxUSE_URL
|
||||
m_menuBar->Append(m_menuProtocols, _("&Protocols"));
|
||||
#endif
|
||||
SetMenuBar(m_menuBar);
|
||||
|
||||
#if wxUSE_STATUSBAR
|
||||
// Status bar
|
||||
CreateStatusBar(2);
|
||||
#endif // wxUSE_STATUSBAR
|
||||
|
||||
// Make a textctrl for logging
|
||||
m_text = new wxTextCtrl(this, wxID_ANY,
|
||||
_("Welcome to wxSocket demo: Client\nClient ready\n"),
|
||||
wxDefaultPosition, wxDefaultSize,
|
||||
wxTE_MULTILINE | wxTE_READONLY);
|
||||
delete wxLog::SetActiveTarget(new wxLogTextCtrl(m_text));
|
||||
|
||||
// Create the socket
|
||||
m_sock = new wxSocketClient();
|
||||
|
||||
// Setup the event handler and subscribe to most events
|
||||
m_sock->SetEventHandler(*this, SOCKET_ID);
|
||||
m_sock->SetNotify(wxSOCKET_CONNECTION_FLAG |
|
||||
wxSOCKET_INPUT_FLAG |
|
||||
wxSOCKET_LOST_FLAG);
|
||||
m_sock->Notify(true);
|
||||
|
||||
m_busy = false;
|
||||
UpdateStatusBar();
|
||||
}
|
||||
|
||||
MyFrame::~MyFrame()
|
||||
{
|
||||
// No delayed deletion here, as the frame is dying anyway
|
||||
delete m_sock;
|
||||
}
|
||||
|
||||
// event handlers
|
||||
|
||||
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// true is to force the frame to close
|
||||
Close(true);
|
||||
}
|
||||
|
||||
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxMessageBox(_("wxSocket demo: Client\n(c) 1999 Guillermo Rodriguez Garcia\n"),
|
||||
_("About Client"),
|
||||
wxOK | wxICON_INFORMATION, this);
|
||||
}
|
||||
|
||||
void MyFrame::OnOpenConnection(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
OpenConnection(wxSockAddress::IPV4);
|
||||
}
|
||||
#if wxUSE_IPV6
|
||||
void MyFrame::OnOpenConnectionIPv6(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
OpenConnection(wxSockAddress::IPV6);
|
||||
}
|
||||
#endif // wxUSE_IPV6
|
||||
|
||||
void MyFrame::OpenConnection(wxSockAddress::Family family)
|
||||
{
|
||||
wxUnusedVar(family); // unused in !wxUSE_IPV6 case
|
||||
|
||||
wxIPaddress * addr;
|
||||
wxIPV4address addr4;
|
||||
#if wxUSE_IPV6
|
||||
wxIPV6address addr6;
|
||||
if ( family == wxSockAddress::IPV6 )
|
||||
addr = &addr6;
|
||||
else
|
||||
#endif
|
||||
addr = &addr4;
|
||||
|
||||
m_menuSocket->Enable(CLIENT_OPEN, false);
|
||||
#if wxUSE_IPV6
|
||||
m_menuSocket->Enable(CLIENT_OPENIPV6, false);
|
||||
#endif
|
||||
m_menuSocket->Enable(CLIENT_CLOSE, false);
|
||||
|
||||
// Ask user for server address
|
||||
wxString hostname = wxGetTextFromUser(
|
||||
_("Enter the address of the wxSocket demo server:"),
|
||||
_("Connect ..."),
|
||||
"localhost");
|
||||
if ( hostname.empty() )
|
||||
return;
|
||||
|
||||
addr->Hostname(hostname);
|
||||
addr->Service(3000);
|
||||
|
||||
// we connect asynchronously and will get a wxSOCKET_CONNECTION event when
|
||||
// the connection is really established
|
||||
//
|
||||
// if you want to make sure that connection is established right here you
|
||||
// could call WaitOnConnect(timeout) instead
|
||||
wxLogMessage("Trying to connect to %s:%d", hostname, addr->Service());
|
||||
|
||||
m_sock->Connect(*addr, false);
|
||||
}
|
||||
|
||||
void MyFrame::OnTest1(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// Disable socket menu entries (exception: Close Session)
|
||||
m_busy = true;
|
||||
UpdateStatusBar();
|
||||
|
||||
m_text->AppendText(_("\n=== Test 1 begins ===\n"));
|
||||
|
||||
// Tell the server which test we are running
|
||||
unsigned char c = 0xBE;
|
||||
m_sock->Write(&c, 1);
|
||||
|
||||
// Send some data and read it back. We know the size of the
|
||||
// buffer, so we can specify the exact number of bytes to be
|
||||
// sent or received and use the wxSOCKET_WAITALL flag. Also,
|
||||
// we have disabled menu entries which could interfere with
|
||||
// the test, so we can safely avoid the wxSOCKET_BLOCK flag.
|
||||
//
|
||||
// First we send a byte with the length of the string, then
|
||||
// we send the string itself (do NOT try to send any integral
|
||||
// value larger than a byte "as is" across the network, or
|
||||
// you might be in trouble! Ever heard about big and little
|
||||
// endian computers?)
|
||||
|
||||
m_sock->SetFlags(wxSOCKET_WAITALL);
|
||||
|
||||
const char *buf1 = "Test string (less than 256 chars!)";
|
||||
unsigned char len = (unsigned char)(wxStrlen(buf1) + 1);
|
||||
wxCharBuffer buf2(wxStrlen(buf1));
|
||||
|
||||
m_text->AppendText(_("Sending a test buffer to the server ..."));
|
||||
m_sock->Write(&len, 1);
|
||||
m_sock->Write(buf1, len);
|
||||
m_text->AppendText(m_sock->Error() ? _("failed !\n") : _("done\n"));
|
||||
|
||||
m_text->AppendText(_("Receiving the buffer back from server ..."));
|
||||
m_sock->Read(buf2.data(), len);
|
||||
m_text->AppendText(m_sock->Error() ? _("failed !\n") : _("done\n"));
|
||||
|
||||
m_text->AppendText(_("Comparing the two buffers ..."));
|
||||
if (memcmp(buf1, buf2, len) != 0)
|
||||
{
|
||||
m_text->AppendText(_("failed!\n"));
|
||||
m_text->AppendText(_("Test 1 failed !\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_text->AppendText(_("done\n"));
|
||||
m_text->AppendText(_("Test 1 passed !\n"));
|
||||
}
|
||||
m_text->AppendText(_("=== Test 1 ends ===\n"));
|
||||
|
||||
m_busy = false;
|
||||
UpdateStatusBar();
|
||||
}
|
||||
|
||||
void MyFrame::OnTest2(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// Disable socket menu entries (exception: Close Session)
|
||||
m_busy = true;
|
||||
UpdateStatusBar();
|
||||
|
||||
m_text->AppendText(_("\n=== Test 2 begins ===\n"));
|
||||
|
||||
// Tell the server which test we are running
|
||||
unsigned char c = 0xCE;
|
||||
m_sock->Write(&c, 1);
|
||||
|
||||
// Here we use ReadMsg and WriteMsg to send messages with
|
||||
// a header with size information. Also, the reception is
|
||||
// event triggered, so we test input events as well.
|
||||
//
|
||||
// We need to set no flags here (ReadMsg and WriteMsg are
|
||||
// not affected by flags)
|
||||
|
||||
m_sock->SetFlags(wxSOCKET_WAITALL);
|
||||
|
||||
wxString s = wxGetTextFromUser(
|
||||
_("Enter an arbitrary string to send to the server:"),
|
||||
_("Test 2 ..."),
|
||||
_("Yes I like wxWidgets!"));
|
||||
|
||||
const wxScopedCharBuffer msg1(s.utf8_str());
|
||||
size_t len = wxStrlen(msg1) + 1;
|
||||
wxCharBuffer msg2(wxStrlen(msg1));
|
||||
|
||||
m_text->AppendText(_("Sending the string with WriteMsg ..."));
|
||||
m_sock->WriteMsg(msg1, len);
|
||||
m_text->AppendText(m_sock->Error() ? _("failed !\n") : _("done\n"));
|
||||
m_text->AppendText(_("Waiting for an event (timeout = 2 sec)\n"));
|
||||
|
||||
// Wait until data available (will also return if the connection is lost)
|
||||
m_sock->WaitForRead(2);
|
||||
|
||||
if (m_sock->IsData())
|
||||
{
|
||||
m_text->AppendText(_("Reading the string back with ReadMsg ..."));
|
||||
m_sock->ReadMsg(msg2.data(), len);
|
||||
m_text->AppendText(m_sock->Error() ? _("failed !\n") : _("done\n"));
|
||||
m_text->AppendText(_("Comparing the two buffers ..."));
|
||||
if (memcmp(msg1, msg2, len) != 0)
|
||||
{
|
||||
m_text->AppendText(_("failed!\n"));
|
||||
m_text->AppendText(_("Test 2 failed !\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_text->AppendText(_("done\n"));
|
||||
m_text->AppendText(_("Test 2 passed !\n"));
|
||||
}
|
||||
}
|
||||
else
|
||||
m_text->AppendText(_("Timeout ! Test 2 failed.\n"));
|
||||
|
||||
m_text->AppendText(_("=== Test 2 ends ===\n"));
|
||||
|
||||
m_busy = false;
|
||||
UpdateStatusBar();
|
||||
}
|
||||
|
||||
void MyFrame::OnTest3(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// Disable socket menu entries (exception: Close Session)
|
||||
m_busy = true;
|
||||
UpdateStatusBar();
|
||||
|
||||
m_text->AppendText(_("\n=== Test 3 begins ===\n"));
|
||||
|
||||
// Tell the server which test we are running
|
||||
unsigned char c = 0xDE;
|
||||
m_sock->Write(&c, 1);
|
||||
|
||||
// This test also is similar to the first one but it sends a
|
||||
// large buffer so that wxSocket is actually forced to split
|
||||
// it into pieces and take care of sending everything before
|
||||
// returning.
|
||||
|
||||
m_sock->SetFlags(wxSOCKET_WAITALL);
|
||||
|
||||
// Note that len is in kbytes here!
|
||||
const unsigned char len = 32;
|
||||
wxCharBuffer buf1(len * 1024),
|
||||
buf2(len * 1024);
|
||||
|
||||
for (size_t i = 0; i < len * 1024; i ++)
|
||||
buf1.data()[i] = (char)(i % 256);
|
||||
|
||||
m_text->AppendText(_("Sending a large buffer (32K) to the server ..."));
|
||||
m_sock->Write(&len, 1);
|
||||
m_sock->Write(buf1, len * 1024);
|
||||
m_text->AppendText(m_sock->Error() ? _("failed !\n") : _("done\n"));
|
||||
|
||||
m_text->AppendText(_("Receiving the buffer back from server ..."));
|
||||
m_sock->Read(buf2.data(), len * 1024);
|
||||
m_text->AppendText(m_sock->Error() ? _("failed !\n") : _("done\n"));
|
||||
|
||||
m_text->AppendText(_("Comparing the two buffers ..."));
|
||||
if (memcmp(buf1, buf2, len) != 0)
|
||||
{
|
||||
m_text->AppendText(_("failed!\n"));
|
||||
m_text->AppendText(_("Test 3 failed !\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_text->AppendText(_("done\n"));
|
||||
m_text->AppendText(_("Test 3 passed !\n"));
|
||||
}
|
||||
m_text->AppendText(_("=== Test 3 ends ===\n"));
|
||||
|
||||
m_busy = false;
|
||||
UpdateStatusBar();
|
||||
}
|
||||
|
||||
void MyFrame::OnCloseConnection(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
m_sock->Close();
|
||||
UpdateStatusBar();
|
||||
}
|
||||
|
||||
void MyFrame::OnDatagram(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxString hostname = wxGetTextFromUser
|
||||
(
|
||||
"Enter the address of the wxSocket demo server:",
|
||||
"UDP peer",
|
||||
"localhost"
|
||||
);
|
||||
if ( hostname.empty() )
|
||||
return;
|
||||
|
||||
TestLogger logtest("UDP");
|
||||
|
||||
wxIPV4address addrLocal;
|
||||
addrLocal.Hostname();
|
||||
wxDatagramSocket sock(addrLocal);
|
||||
if ( !sock.IsOk() )
|
||||
{
|
||||
wxLogMessage("ERROR: failed to create UDP socket");
|
||||
return;
|
||||
}
|
||||
|
||||
wxLogMessage("Created UDP socket at %s:%u",
|
||||
addrLocal.IPAddress(), addrLocal.Service());
|
||||
|
||||
wxIPV4address addrPeer;
|
||||
addrPeer.Hostname(hostname);
|
||||
addrPeer.Service(3000);
|
||||
|
||||
wxLogMessage("Testing UDP with peer at %s:%u",
|
||||
addrPeer.IPAddress(), addrPeer.Service());
|
||||
|
||||
char buf[] = "Uryyb sebz pyvrag!";
|
||||
if ( sock.SendTo(addrPeer, buf, sizeof(buf)).LastCount() != sizeof(buf) )
|
||||
{
|
||||
wxLogMessage("ERROR: failed to send data");
|
||||
return;
|
||||
}
|
||||
|
||||
if ( sock.RecvFrom(addrPeer, buf, sizeof(buf)).LastCount() != sizeof(buf) )
|
||||
{
|
||||
wxLogMessage("ERROR: failed to receive data");
|
||||
return;
|
||||
}
|
||||
|
||||
wxLogMessage("Received \"%s\" from %s:%u.",
|
||||
wxString::From8BitData(buf, sock.LastCount()),
|
||||
addrPeer.IPAddress(), addrPeer.Service());
|
||||
}
|
||||
|
||||
#if wxUSE_URL
|
||||
|
||||
void DoDownload(const wxString& urlname)
|
||||
{
|
||||
wxString testname("URL");
|
||||
if ( !wxIsMainThread() )
|
||||
testname += " in worker thread";
|
||||
|
||||
TestLogger logtest(testname);
|
||||
|
||||
// Parse the URL
|
||||
wxURL url(urlname);
|
||||
if ( url.GetError() != wxURL_NOERR )
|
||||
{
|
||||
wxLogError("Failed to parse URL \"%s\"", urlname);
|
||||
return;
|
||||
}
|
||||
|
||||
// Try to get the input stream (connects to the given URL)
|
||||
wxLogMessage("Establishing connection to \"%s\"...", urlname);
|
||||
const std::unique_ptr<wxInputStream> data(url.GetInputStream());
|
||||
if ( !data.get() )
|
||||
{
|
||||
wxLogError("Failed to retrieve URL \"%s\"", urlname);
|
||||
return;
|
||||
}
|
||||
|
||||
// Print the contents type and file size
|
||||
wxLogMessage("Contents type: %s\nFile size: %s\nStarting to download...",
|
||||
url.GetProtocol().GetContentType(),
|
||||
data->GetSize() != (size_t)-1
|
||||
? wxString::Format("%zu", data->GetSize())
|
||||
: wxString("n/a"));
|
||||
|
||||
// Get the data
|
||||
wxStringOutputStream sout;
|
||||
if ( data->Read(sout).GetLastError() != wxSTREAM_EOF )
|
||||
{
|
||||
wxLogError("Error reading the input stream.");
|
||||
}
|
||||
|
||||
wxLogMessage("Text retrieved from URL \"%s\" follows:\n%s",
|
||||
urlname, sout.GetString());
|
||||
}
|
||||
|
||||
void MyFrame::OnTestURL(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// Ask for the URL
|
||||
static wxString s_urlname("http://www.google.com/");
|
||||
wxString urlname = wxGetTextFromUser
|
||||
(
|
||||
_("Enter an URL to get"),
|
||||
_("URL:"),
|
||||
s_urlname
|
||||
);
|
||||
if ( urlname.empty() )
|
||||
return; // cancelled by user
|
||||
|
||||
s_urlname = urlname;
|
||||
|
||||
// First do it in this thread.
|
||||
DoDownload(urlname);
|
||||
|
||||
// And then also in a worker thread.
|
||||
#if wxUSE_THREADS
|
||||
class DownloadThread : public wxThread
|
||||
{
|
||||
public:
|
||||
explicit DownloadThread(const wxString& url): m_url(url)
|
||||
{
|
||||
Run();
|
||||
}
|
||||
|
||||
virtual void* Entry() override
|
||||
{
|
||||
DoDownload(m_url);
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
private:
|
||||
const wxString m_url;
|
||||
};
|
||||
|
||||
// NB: there is a race condition here, we don't check for this thread
|
||||
// termination before exiting the application, don't do this in real code!
|
||||
new DownloadThread(urlname);
|
||||
#endif // wxUSE_THREADS
|
||||
}
|
||||
|
||||
#endif // wxUSE_URL
|
||||
|
||||
void MyFrame::OnSocketEvent(wxSocketEvent& event)
|
||||
{
|
||||
switch ( event.GetSocketEvent() )
|
||||
{
|
||||
case wxSOCKET_INPUT:
|
||||
wxLogMessage("Input available on the socket");
|
||||
break;
|
||||
|
||||
case wxSOCKET_LOST:
|
||||
wxLogMessage("Socket connection was unexpectedly lost.");
|
||||
UpdateStatusBar();
|
||||
break;
|
||||
|
||||
case wxSOCKET_CONNECTION:
|
||||
wxLogMessage("... socket is now connected.");
|
||||
UpdateStatusBar();
|
||||
break;
|
||||
|
||||
default:
|
||||
wxLogMessage("Unknown socket event!!!");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// convenience functions
|
||||
|
||||
void MyFrame::UpdateStatusBar()
|
||||
{
|
||||
#if wxUSE_STATUSBAR
|
||||
wxString s;
|
||||
|
||||
if (!m_sock->IsConnected())
|
||||
{
|
||||
s = "Not connected";
|
||||
}
|
||||
else
|
||||
{
|
||||
#if wxUSE_IPV6
|
||||
wxIPV6address addr;
|
||||
#else
|
||||
wxIPV4address addr;
|
||||
#endif
|
||||
|
||||
m_sock->GetPeer(addr);
|
||||
s.Printf("%s : %d", addr.Hostname(), addr.Service());
|
||||
}
|
||||
|
||||
SetStatusText(s, 1);
|
||||
#endif // wxUSE_STATUSBAR
|
||||
|
||||
m_menuSocket->Enable(CLIENT_OPEN, !m_sock->IsConnected() && !m_busy);
|
||||
#if wxUSE_IPV6
|
||||
m_menuSocket->Enable(CLIENT_OPENIPV6, !m_sock->IsConnected() && !m_busy);
|
||||
#endif
|
||||
m_menuSocket->Enable(CLIENT_TEST1, m_sock->IsConnected() && !m_busy);
|
||||
m_menuSocket->Enable(CLIENT_TEST2, m_sock->IsConnected() && !m_busy);
|
||||
m_menuSocket->Enable(CLIENT_TEST3, m_sock->IsConnected() && !m_busy);
|
||||
m_menuSocket->Enable(CLIENT_CLOSE, m_sock->IsConnected());
|
||||
}
|
||||
450
libs/wxWidgets-3.3.1/samples/sockets/client.vcxproj
Normal file
450
libs/wxWidgets-3.3.1/samples/sockets/client.vcxproj
Normal file
@@ -0,0 +1,450 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Debug|Win32">
|
||||
<Configuration>DLL Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Debug|x64">
|
||||
<Configuration>DLL Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Release|Win32">
|
||||
<Configuration>DLL Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Release|x64">
|
||||
<Configuration>DLL Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{2C001418-6D75-4370-9102-F7B891537371}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\..\build\msw\wx_config.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="..\..\build\msw\wx_setup.props" />
|
||||
<Import Project="..\..\build\msw\wx_local.props" Condition="Exists('..\..\build\msw\wx_local.props')" />
|
||||
<Import Project="..\samples.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.24720.0</_ProjectFileVersion>
|
||||
<OutDir>$(wxIntRootDir)</OutDir>
|
||||
<IntDir>$(wxIntRootDir)$(ProjectName)\</IntDir>
|
||||
<GenerateManifest>true</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="client.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\sample.rc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
23
libs/wxWidgets-3.3.1/samples/sockets/client.vcxproj.filters
Normal file
23
libs/wxWidgets-3.3.1/samples/sockets/client.vcxproj.filters
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="client.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\sample.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
115
libs/wxWidgets-3.3.1/samples/sockets/descrip.mms
Normal file
115
libs/wxWidgets-3.3.1/samples/sockets/descrip.mms
Normal file
@@ -0,0 +1,115 @@
|
||||
#*****************************************************************************
|
||||
# *
|
||||
# Make file for VMS *
|
||||
# Author : J.Jansen (joukj@hrem.nano.tudelft.nl) *
|
||||
# Date : 17 June 2009 *
|
||||
# *
|
||||
#*****************************************************************************
|
||||
.first
|
||||
define wx [--.include.wx]
|
||||
|
||||
.ifdef __WXMOTIF__
|
||||
CXX_DEFINE = /define=(__WXMOTIF__=1)/name=(as_is,short)\
|
||||
/assume=(nostdnew,noglobal_array_new)/warn=disable=(INTSIGNCHANGE)
|
||||
.else
|
||||
.ifdef __WXGTK__
|
||||
CXX_DEFINE = /define=(__WXGTK__=1)/float=ieee/name=(as_is,short)/ieee=denorm\
|
||||
/assume=(nostdnew,noglobal_array_new)/warn=disable=(INTSIGNCHANGE)
|
||||
.else
|
||||
.ifdef __WXGTK2__
|
||||
CXX_DEFINE = /define=(__WXGTK__=1,VMS_GTK2=1)/float=ieee/name=(as_is,short)/ieee=denorm\
|
||||
/assume=(nostdnew,noglobal_array_new)/warn=disable=(INTSIGNCHANGE)
|
||||
.else
|
||||
.ifdef __WXX11__
|
||||
CXX_DEFINE = /define=(__WXX11__=1,__WXUNIVERSAL__==1)/float=ieee\
|
||||
/name=(as_is,short)/assume=(nostdnew,noglobal_array_new)\
|
||||
/warn=disable=(INTSIGNCHANGE)
|
||||
.else
|
||||
CXX_DEFINE =
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.suffixes : .cpp
|
||||
|
||||
.cpp.obj :
|
||||
cxx $(CXXFLAGS)$(CXX_DEFINE) $(MMS$TARGET_NAME).cpp
|
||||
|
||||
all :
|
||||
.ifdef __WXMOTIF__
|
||||
$(MMS)$(MMSQUALIFIERS) baseclient.exe
|
||||
$(MMS)$(MMSQUALIFIERS) baseserver.exe
|
||||
$(MMS)$(MMSQUALIFIERS) client.exe
|
||||
$(MMS)$(MMSQUALIFIERS) server.exe
|
||||
.else
|
||||
.ifdef __WXGTK__
|
||||
$(MMS)$(MMSQUALIFIERS) baseclient_gtk.exe
|
||||
$(MMS)$(MMSQUALIFIERS) baseserver_gtk.exe
|
||||
$(MMS)$(MMSQUALIFIERS) client_gtk.exe
|
||||
$(MMS)$(MMSQUALIFIERS) server_gtk.exe
|
||||
.else
|
||||
.ifdef __WXGTK2__
|
||||
$(MMS)$(MMSQUALIFIERS) baseclient_gtk2.exe
|
||||
$(MMS)$(MMSQUALIFIERS) baseserver_gtk2.exe
|
||||
$(MMS)$(MMSQUALIFIERS) client_gtk2.exe
|
||||
$(MMS)$(MMSQUALIFIERS) server_gtk2.exe
|
||||
.else
|
||||
.ifdef __WXX11__
|
||||
$(MMS)$(MMSQUALIFIERS) baseclient_x11.exe
|
||||
$(MMS)$(MMSQUALIFIERS) baseserver_x11.exe
|
||||
$(MMS)$(MMSQUALIFIERS) client_x11.exe
|
||||
$(MMS)$(MMSQUALIFIERS) server_x11.exe
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.ifdef __WXMOTIF__
|
||||
baseclient.exe : baseclient.obj
|
||||
cxxlink baseclient,[--.lib]vms/opt
|
||||
baseserver.exe : baseserver.obj
|
||||
cxxlink baseserver,[--.lib]vms/opt
|
||||
client.exe : client.obj
|
||||
cxxlink client,[--.lib]vms/opt
|
||||
server.exe : server.obj
|
||||
cxxlink server,[--.lib]vms/opt
|
||||
.else
|
||||
.ifdef __WXGTK__
|
||||
baseclient_gtk.exe : baseclient.obj
|
||||
cxxlink/exe=baseclient_gtk.exe baseclient,[--.lib]vms_gtk/opt
|
||||
baseserver_gtk.exe : baseserver.obj
|
||||
cxxlink/exe=baseserver_gtk.exe baseserver,[--.lib]vms_gtk/opt
|
||||
client_gtk.exe : client.obj
|
||||
cxxlink/exe=client_gtk client,[--.lib]vms_gtk/opt
|
||||
server_gtk.exe : server.obj
|
||||
cxxlink/exe=server_gtk.exe server,[--.lib]vms_gtk/opt
|
||||
.else
|
||||
.ifdef __WXGTK2__
|
||||
baseclient_gtk2.exe : baseclient.obj
|
||||
cxxlink/exe=baseclient_gtk2.exe baseclient,[--.lib]vms_gtk2/opt
|
||||
baseserver_gtk2.exe : baseserver.obj
|
||||
cxxlink/exe=baseserver_gtk2.exe baseserver,[--.lib]vms_gtk2/opt
|
||||
client_gtk2.exe : client.obj
|
||||
cxxlink/exe=client_gtk2 client,[--.lib]vms_gtk2/opt
|
||||
server_gtk2.exe : server.obj
|
||||
cxxlink/exe=server_gtk2.exe server,[--.lib]vms_gtk2/opt
|
||||
.else
|
||||
.ifdef __WXX11__
|
||||
baseclient_x11.exe : baseclient.obj
|
||||
cxxlink/exe=baseclient_x11.exe baseclient,[--.lib]vms_x11/opt
|
||||
baseserver_x11.exe : baseserver.obj
|
||||
cxxlink/exe=baseserver_x11.exe baseserver,[--.lib]vms_x11/opt
|
||||
client_x11.exe : client.obj
|
||||
cxxlink/exe=client_x11 client,[--.lib]vms_x11/opt
|
||||
server_x11.exe : server.obj
|
||||
cxxlink/exe=server_x11.exe server,[--.lib]vms_x11/opt
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
baseclient.obj : baseclient.cpp
|
||||
baseserver.obj : baseserver.cpp
|
||||
client.obj : client.cpp
|
||||
server.obj : server.cpp
|
||||
311
libs/wxWidgets-3.3.1/samples/sockets/makefile.gcc
Normal file
311
libs/wxWidgets-3.3.1/samples/sockets/makefile.gcc
Normal file
@@ -0,0 +1,311 @@
|
||||
# =========================================================================
|
||||
# This makefile was generated by
|
||||
# Bakefile 0.2.13 (http://www.bakefile.org)
|
||||
# Do not modify, all changes will be overwritten!
|
||||
# =========================================================================
|
||||
|
||||
include ../../build/msw/config.gcc
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# Do not modify the rest of this file!
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
### Variables: ###
|
||||
|
||||
CPPDEPS = -MT$@ -MF$@.d -MD -MP
|
||||
WX_RELEASE_NODOT = 33
|
||||
COMPILER_PREFIX = gcc
|
||||
OBJS = \
|
||||
$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
|
||||
LIBDIRNAME = \
|
||||
.\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(LIBTYPE_SUFFIX)$(CFG)
|
||||
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
|
||||
CLIENT_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ \
|
||||
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
-I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall \
|
||||
-I. $(__DLLFLAG_p) -I.\..\..\samples -DNOPCH $(__RTTIFLAG) \
|
||||
$(__EXCEPTIONSFLAG) -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
|
||||
CLIENT_OBJECTS = \
|
||||
$(OBJS)\client_sample_rc.o \
|
||||
$(OBJS)\client_client.o
|
||||
SERVER_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ \
|
||||
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
-I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall \
|
||||
-I. $(__DLLFLAG_p) -I.\..\..\samples -DNOPCH $(__RTTIFLAG) \
|
||||
$(__EXCEPTIONSFLAG) -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
|
||||
SERVER_OBJECTS = \
|
||||
$(OBJS)\server_sample_rc.o \
|
||||
$(OBJS)\server_server.o
|
||||
BASECLIENT_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
|
||||
-D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
-I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall \
|
||||
-I. $(__DLLFLAG_p) -DwxUSE_GUI=0 $(__RTTIFLAG) $(__EXCEPTIONSFLAG) \
|
||||
-Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
|
||||
BASECLIENT_OBJECTS = \
|
||||
$(OBJS)\baseclient_baseclient.o
|
||||
BASESERVER_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
|
||||
-D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
-I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall \
|
||||
-I. $(__DLLFLAG_p) -DwxUSE_GUI=0 $(__RTTIFLAG) $(__EXCEPTIONSFLAG) \
|
||||
-Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
|
||||
BASESERVER_OBJECTS = \
|
||||
$(OBJS)\baseserver_baseserver.o
|
||||
|
||||
### Conditionally set variables: ###
|
||||
|
||||
ifeq ($(USE_GUI),0)
|
||||
PORTNAME = base
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
PORTNAME = msw$(TOOLKIT_VERSION)
|
||||
endif
|
||||
ifeq ($(OFFICIAL_BUILD),1)
|
||||
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
|
||||
endif
|
||||
ifeq ($(BUILD),debug)
|
||||
WXDEBUGFLAG = d
|
||||
endif
|
||||
ifeq ($(WXUNIV),1)
|
||||
WXUNIVNAME = univ
|
||||
endif
|
||||
ifeq ($(SHARED),1)
|
||||
WXDLLFLAG = dll
|
||||
endif
|
||||
ifeq ($(SHARED),0)
|
||||
LIBTYPE_SUFFIX = lib
|
||||
endif
|
||||
ifeq ($(SHARED),1)
|
||||
LIBTYPE_SUFFIX = dll
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),0)
|
||||
EXTRALIBS_FOR_BASE =
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),1)
|
||||
EXTRALIBS_FOR_BASE =
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
__client___depname = $(OBJS)\client.exe
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),1)
|
||||
ifeq ($(USE_STC),1)
|
||||
__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
__server___depname = $(OBJS)\server.exe
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),1)
|
||||
ifeq ($(USE_STC),1)
|
||||
__LIB_LEXILLA_IF_MONO_p_1 = $(__LIB_LEXILLA_p)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),1)
|
||||
__LIB_PNG_IF_MONO_p = $(__LIB_PNG_p)
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),1)
|
||||
__LIB_PNG_IF_MONO_p_1 = $(__LIB_PNG_p)
|
||||
endif
|
||||
ifeq ($(WXUNIV),1)
|
||||
__WXUNIV_DEFINE_p_0 = --define __WXUNIVERSAL__
|
||||
endif
|
||||
ifeq ($(DEBUG_FLAG),0)
|
||||
__DEBUG_DEFINE_p_0 = --define wxDEBUG_LEVEL=0
|
||||
endif
|
||||
ifeq ($(BUILD),release)
|
||||
__NDEBUG_DEFINE_p_0 = --define NDEBUG
|
||||
endif
|
||||
ifeq ($(USE_EXCEPTIONS),0)
|
||||
__EXCEPTIONS_DEFINE_p_0 = --define wxNO_EXCEPTIONS
|
||||
endif
|
||||
ifeq ($(USE_RTTI),0)
|
||||
__RTTI_DEFINE_p_0 = --define wxNO_RTTI
|
||||
endif
|
||||
ifeq ($(USE_THREADS),0)
|
||||
__THREAD_DEFINE_p_0 = --define wxNO_THREADS
|
||||
endif
|
||||
ifeq ($(USE_CAIRO),1)
|
||||
__CAIRO_INCLUDEDIR_p = --include-dir $(CAIRO_ROOT)/include/cairo
|
||||
endif
|
||||
ifeq ($(SHARED),1)
|
||||
__DLLFLAG_p_0 = --define WXUSINGDLL
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),0)
|
||||
__WXLIB_CORE_p = \
|
||||
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),1)
|
||||
ifeq ($(USE_STC),1)
|
||||
__LIB_SCINTILLA_IF_MONO_p = -lwxscintilla$(WXDEBUGFLAG)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(USE_STC),1)
|
||||
__LIB_LEXILLA_p = -lwxlexilla$(WXDEBUGFLAG)
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
__LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
__LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
__LIB_WEBP_p = -lwxwebp$(WXDEBUGFLAG)
|
||||
endif
|
||||
ifeq ($(BUILD),debug)
|
||||
__OPTIMIZEFLAG = -O0
|
||||
endif
|
||||
ifeq ($(BUILD),release)
|
||||
__OPTIMIZEFLAG = -O2
|
||||
endif
|
||||
ifeq ($(USE_RTTI),0)
|
||||
__RTTIFLAG = -fno-rtti
|
||||
endif
|
||||
ifeq ($(USE_RTTI),1)
|
||||
__RTTIFLAG =
|
||||
endif
|
||||
ifeq ($(USE_EXCEPTIONS),0)
|
||||
__EXCEPTIONSFLAG = -fno-exceptions
|
||||
endif
|
||||
ifeq ($(USE_EXCEPTIONS),1)
|
||||
__EXCEPTIONSFLAG =
|
||||
endif
|
||||
ifeq ($(WXUNIV),1)
|
||||
__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
|
||||
endif
|
||||
ifeq ($(DEBUG_FLAG),0)
|
||||
__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
|
||||
endif
|
||||
ifeq ($(BUILD),release)
|
||||
__NDEBUG_DEFINE_p = -DNDEBUG
|
||||
endif
|
||||
ifeq ($(USE_EXCEPTIONS),0)
|
||||
__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
|
||||
endif
|
||||
ifeq ($(USE_RTTI),0)
|
||||
__RTTI_DEFINE_p = -DwxNO_RTTI
|
||||
endif
|
||||
ifeq ($(USE_THREADS),0)
|
||||
__THREAD_DEFINE_p = -DwxNO_THREADS
|
||||
endif
|
||||
ifeq ($(USE_CAIRO),1)
|
||||
____CAIRO_INCLUDEDIR_FILENAMES = -I$(CAIRO_ROOT)\include\cairo
|
||||
endif
|
||||
ifeq ($(SHARED),1)
|
||||
__DLLFLAG_p = -DWXUSINGDLL
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),0)
|
||||
__WXLIB_NET_p = \
|
||||
-lwxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),0)
|
||||
__WXLIB_BASE_p = -lwxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
|
||||
endif
|
||||
ifeq ($(MONOLITHIC),1)
|
||||
__WXLIB_MONO_p = \
|
||||
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
|
||||
endif
|
||||
ifeq ($(USE_GUI),1)
|
||||
__LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)
|
||||
endif
|
||||
ifeq ($(USE_CAIRO),1)
|
||||
__CAIRO_LIB_p = -lcairo
|
||||
endif
|
||||
ifeq ($(USE_CAIRO),1)
|
||||
____CAIRO_LIBDIR_FILENAMES = -L$(CAIRO_ROOT)\lib
|
||||
endif
|
||||
ifeq ($(BUILD),debug)
|
||||
ifeq ($(DEBUG_INFO),default)
|
||||
__DEBUGINFO = -g
|
||||
endif
|
||||
endif
|
||||
ifeq ($(BUILD),release)
|
||||
ifeq ($(DEBUG_INFO),default)
|
||||
__DEBUGINFO =
|
||||
endif
|
||||
endif
|
||||
ifeq ($(DEBUG_INFO),0)
|
||||
__DEBUGINFO =
|
||||
endif
|
||||
ifeq ($(DEBUG_INFO),1)
|
||||
__DEBUGINFO = -g
|
||||
endif
|
||||
ifeq ($(USE_THREADS),0)
|
||||
__THREADSFLAG =
|
||||
endif
|
||||
ifeq ($(USE_THREADS),1)
|
||||
__THREADSFLAG = -mthreads
|
||||
endif
|
||||
|
||||
|
||||
all: $(OBJS)
|
||||
$(OBJS):
|
||||
-if not exist $(OBJS) mkdir $(OBJS)
|
||||
|
||||
### Targets: ###
|
||||
|
||||
all: $(__client___depname) $(__server___depname) $(OBJS)\baseclient.exe $(OBJS)\baseserver.exe
|
||||
|
||||
clean:
|
||||
-if exist $(OBJS)\*.o del $(OBJS)\*.o
|
||||
-if exist $(OBJS)\*.d del $(OBJS)\*.d
|
||||
-if exist $(OBJS)\client.exe del $(OBJS)\client.exe
|
||||
-if exist $(OBJS)\server.exe del $(OBJS)\server.exe
|
||||
-if exist $(OBJS)\baseclient.exe del $(OBJS)\baseclient.exe
|
||||
-if exist $(OBJS)\baseserver.exe del $(OBJS)\baseserver.exe
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\client.exe: $(CLIENT_OBJECTS) $(OBJS)\client_sample_rc.o
|
||||
$(foreach f,$(subst \,/,$(CLIENT_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
|
||||
@move /y $@.rsp.tmp $@.rsp >nul
|
||||
$(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lgdiplus -lmsimg32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme
|
||||
@-del $@.rsp
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\server.exe: $(SERVER_OBJECTS) $(OBJS)\server_sample_rc.o
|
||||
$(foreach f,$(subst \,/,$(SERVER_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
|
||||
@move /y $@.rsp.tmp $@.rsp >nul
|
||||
$(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p_1) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lgdiplus -lmsimg32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme
|
||||
@-del $@.rsp
|
||||
endif
|
||||
|
||||
$(OBJS)\baseclient.exe: $(BASECLIENT_OBJECTS)
|
||||
$(foreach f,$(subst \,/,$(BASECLIENT_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
|
||||
@move /y $@.rsp.tmp $@.rsp >nul
|
||||
$(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lgdiplus -lmsimg32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme
|
||||
@-del $@.rsp
|
||||
|
||||
$(OBJS)\baseserver.exe: $(BASESERVER_OBJECTS)
|
||||
$(foreach f,$(subst \,/,$(BASESERVER_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
|
||||
@move /y $@.rsp.tmp $@.rsp >nul
|
||||
$(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p_1) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lgdiplus -lmsimg32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme
|
||||
@-del $@.rsp
|
||||
|
||||
$(OBJS)\client_sample_rc.o: ./../../samples/sample.rc
|
||||
$(WINDRES) -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_0) $(__DEBUG_DEFINE_p_0) $(__NDEBUG_DEFINE_p_0) $(__EXCEPTIONS_DEFINE_p_0) $(__RTTI_DEFINE_p_0) $(__THREAD_DEFINE_p_0) --include-dir $(SETUPHDIR) --include-dir ./../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_0) --define wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST) --include-dir ./../../samples --define NOPCH
|
||||
|
||||
$(OBJS)\client_client.o: ./client.cpp
|
||||
$(CXX) -c -o $@ $(CLIENT_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\server_sample_rc.o: ./../../samples/sample.rc
|
||||
$(WINDRES) -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_0) $(__DEBUG_DEFINE_p_0) $(__NDEBUG_DEFINE_p_0) $(__EXCEPTIONS_DEFINE_p_0) $(__RTTI_DEFINE_p_0) $(__THREAD_DEFINE_p_0) --include-dir $(SETUPHDIR) --include-dir ./../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_0) --define wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST) --include-dir ./../../samples --define NOPCH
|
||||
|
||||
$(OBJS)\server_server.o: ./server.cpp
|
||||
$(CXX) -c -o $@ $(SERVER_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\baseclient_baseclient.o: ./baseclient.cpp
|
||||
$(CXX) -c -o $@ $(BASECLIENT_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\baseserver_baseserver.o: ./baseserver.cpp
|
||||
$(CXX) -c -o $@ $(BASESERVER_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
.PHONY: all clean
|
||||
|
||||
|
||||
SHELL := $(COMSPEC)
|
||||
|
||||
# Dependencies tracking:
|
||||
-include $(OBJS)/*.d
|
||||
133
libs/wxWidgets-3.3.1/samples/sockets/makefile.unx
Normal file
133
libs/wxWidgets-3.3.1/samples/sockets/makefile.unx
Normal file
@@ -0,0 +1,133 @@
|
||||
# =========================================================================
|
||||
# This makefile was generated by
|
||||
# Bakefile 0.2.13 (http://www.bakefile.org)
|
||||
# Do not modify, all changes will be overwritten!
|
||||
# =========================================================================
|
||||
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# These are configurable options:
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# C++ compiler
|
||||
CXX = `$(WX_CONFIG) --cxx`
|
||||
|
||||
# Standard flags for C++
|
||||
CXXFLAGS ?=
|
||||
|
||||
# Standard preprocessor flags (common for CC and CXX)
|
||||
CPPFLAGS ?=
|
||||
|
||||
# Standard linker flags
|
||||
LDFLAGS ?=
|
||||
|
||||
# Location and arguments of wx-config script
|
||||
WX_CONFIG ?= wx-config
|
||||
|
||||
# Port of the wx library to build against [gtk2,msw,x11,osx_cocoa,osx_carbon,dfb]
|
||||
WX_PORT ?= $(shell $(WX_CONFIG) --query-toolkit)
|
||||
|
||||
# Use DLL build of wx library to use? [0,1]
|
||||
WX_SHARED ?= $(shell if test -z `$(WX_CONFIG) --query-linkage`; then echo 1; else echo 0; fi)
|
||||
|
||||
# Compile Unicode build of wxWidgets? [0,1]
|
||||
WX_UNICODE ?= $(shell $(WX_CONFIG) --query-chartype | sed 's/unicode/1/;s/ansi/0/')
|
||||
|
||||
# Version of the wx library to build against.
|
||||
WX_VERSION ?= $(shell $(WX_CONFIG) --query-version | sed -e 's/\([0-9]*\)\.\([0-9]*\)/\1\2/')
|
||||
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# Do not modify the rest of this file!
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
### Variables: ###
|
||||
|
||||
CPPDEPS = -MT$@ -MF`echo $@ | sed -e 's,\.o$$,.d,'` -MD -MP
|
||||
WX_VERSION_MAJOR = $(shell echo $(WX_VERSION) | cut -c1,1)
|
||||
WX_VERSION_MINOR = $(shell echo $(WX_VERSION) | cut -c2,2)
|
||||
WX_CONFIG_FLAGS = $(WX_CONFIG_UNICODE_FLAG) $(WX_CONFIG_SHARED_FLAG) \
|
||||
--toolkit=$(WX_PORT) --version=$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
|
||||
CLIENT_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` $(CPPFLAGS) \
|
||||
$(CXXFLAGS)
|
||||
CLIENT_OBJECTS = \
|
||||
client_client.o
|
||||
SERVER_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` $(CPPFLAGS) \
|
||||
$(CXXFLAGS)
|
||||
SERVER_OBJECTS = \
|
||||
server_server.o
|
||||
BASECLIENT_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` \
|
||||
-DwxUSE_GUI=0 $(CPPFLAGS) $(CXXFLAGS)
|
||||
BASECLIENT_OBJECTS = \
|
||||
baseclient_baseclient.o
|
||||
BASESERVER_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` \
|
||||
-DwxUSE_GUI=0 $(CPPFLAGS) $(CXXFLAGS)
|
||||
BASESERVER_OBJECTS = \
|
||||
baseserver_baseserver.o
|
||||
|
||||
### Conditionally set variables: ###
|
||||
|
||||
ifeq ($(WX_UNICODE),0)
|
||||
WX_CONFIG_UNICODE_FLAG = --unicode=no
|
||||
endif
|
||||
ifeq ($(WX_UNICODE),1)
|
||||
WX_CONFIG_UNICODE_FLAG = --unicode=yes
|
||||
endif
|
||||
ifeq ($(WX_SHARED),0)
|
||||
WX_CONFIG_SHARED_FLAG = --static=yes
|
||||
endif
|
||||
ifeq ($(WX_SHARED),1)
|
||||
WX_CONFIG_SHARED_FLAG = --static=no
|
||||
endif
|
||||
|
||||
|
||||
### Targets: ###
|
||||
|
||||
all: test_for_selected_wxbuild client server baseclient baseserver
|
||||
|
||||
install:
|
||||
|
||||
uninstall:
|
||||
|
||||
clean:
|
||||
rm -f ./*.o
|
||||
rm -f ./*.d
|
||||
rm -f client
|
||||
rm -f server
|
||||
rm -f baseclient
|
||||
rm -f baseserver
|
||||
|
||||
test_for_selected_wxbuild:
|
||||
@$(WX_CONFIG) $(WX_CONFIG_FLAGS)
|
||||
|
||||
client: $(CLIENT_OBJECTS)
|
||||
$(CXX) -o $@ $(CLIENT_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs core,net,base`
|
||||
|
||||
server: $(SERVER_OBJECTS)
|
||||
$(CXX) -o $@ $(SERVER_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs core,net,base`
|
||||
|
||||
baseclient: $(BASECLIENT_OBJECTS)
|
||||
$(CXX) -o $@ $(BASECLIENT_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs net,base`
|
||||
|
||||
baseserver: $(BASESERVER_OBJECTS)
|
||||
$(CXX) -o $@ $(BASESERVER_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs net,base`
|
||||
|
||||
client_client.o: ./client.cpp
|
||||
$(CXX) -c -o $@ $(CLIENT_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
server_server.o: ./server.cpp
|
||||
$(CXX) -c -o $@ $(SERVER_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
baseclient_baseclient.o: ./baseclient.cpp
|
||||
$(CXX) -c -o $@ $(BASECLIENT_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
baseserver_baseserver.o: ./baseserver.cpp
|
||||
$(CXX) -c -o $@ $(BASESERVER_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
.PHONY: all install uninstall clean
|
||||
|
||||
|
||||
# Dependencies tracking:
|
||||
-include ./*.d
|
||||
590
libs/wxWidgets-3.3.1/samples/sockets/makefile.vc
Normal file
590
libs/wxWidgets-3.3.1/samples/sockets/makefile.vc
Normal file
@@ -0,0 +1,590 @@
|
||||
# =========================================================================
|
||||
# This makefile was generated by
|
||||
# Bakefile 0.2.13 (http://www.bakefile.org)
|
||||
# Do not modify, all changes will be overwritten!
|
||||
# =========================================================================
|
||||
|
||||
!include <../../build/msw/config.vc>
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# Do not modify the rest of this file!
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
### Variables: ###
|
||||
|
||||
WX_RELEASE_NODOT = 33
|
||||
COMPILER_PREFIX = vc
|
||||
OBJS = \
|
||||
$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
|
||||
LIBDIRNAME = \
|
||||
.\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(LIBTYPE_SUFFIX)$(CFG)
|
||||
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
|
||||
CLIENT_CXXFLAGS = /M$(__RUNTIME_LIBS_10)$(__DEBUGRUNTIME) /DWIN32 \
|
||||
$(__DEBUGINFO) /Fd$(OBJS)\client.pdb $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) \
|
||||
/D_CRT_SECURE_NO_DEPRECATE=1 /D_CRT_NON_CONFORMING_SWPRINTFS=1 \
|
||||
/D_SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p) $(__TARGET_CPU_COMPFLAG_p) \
|
||||
/D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
/I$(SETUPHDIR) /I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) /W4 /I. \
|
||||
$(__DLLFLAG_p) /D_WINDOWS /I.\..\..\samples /DNOPCH $(__RTTIFLAG) \
|
||||
$(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS)
|
||||
CLIENT_OBJECTS = \
|
||||
$(OBJS)\client_client.obj
|
||||
CLIENT_RESOURCES = \
|
||||
$(OBJS)\client_sample.res
|
||||
SERVER_CXXFLAGS = /M$(__RUNTIME_LIBS_26)$(__DEBUGRUNTIME) /DWIN32 \
|
||||
$(__DEBUGINFO) /Fd$(OBJS)\server.pdb $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) \
|
||||
/D_CRT_SECURE_NO_DEPRECATE=1 /D_CRT_NON_CONFORMING_SWPRINTFS=1 \
|
||||
/D_SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p) $(__TARGET_CPU_COMPFLAG_p) \
|
||||
/D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
/I$(SETUPHDIR) /I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) /W4 /I. \
|
||||
$(__DLLFLAG_p) /D_WINDOWS /I.\..\..\samples /DNOPCH $(__RTTIFLAG) \
|
||||
$(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS)
|
||||
SERVER_OBJECTS = \
|
||||
$(OBJS)\server_server.obj
|
||||
SERVER_RESOURCES = \
|
||||
$(OBJS)\server_sample.res
|
||||
BASECLIENT_CXXFLAGS = /M$(__RUNTIME_LIBS_42)$(__DEBUGRUNTIME) /DWIN32 \
|
||||
$(__DEBUGINFO) /Fd$(OBJS)\baseclient.pdb $(____DEBUGRUNTIME) \
|
||||
$(__OPTIMIZEFLAG) /D_CRT_SECURE_NO_DEPRECATE=1 \
|
||||
/D_CRT_NON_CONFORMING_SWPRINTFS=1 /D_SCL_SECURE_NO_WARNINGS=1 \
|
||||
$(__NO_VC_CRTDBG_p) $(__TARGET_CPU_COMPFLAG_p) /D__WXMSW__ \
|
||||
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
/I$(SETUPHDIR) /I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) /W4 /I. \
|
||||
$(__DLLFLAG_p) /D_CONSOLE /DwxUSE_GUI=0 $(__RTTIFLAG) $(__EXCEPTIONSFLAG) \
|
||||
$(CPPFLAGS) $(CXXFLAGS)
|
||||
BASECLIENT_OBJECTS = \
|
||||
$(OBJS)\baseclient_baseclient.obj
|
||||
BASESERVER_CXXFLAGS = /M$(__RUNTIME_LIBS_58)$(__DEBUGRUNTIME) /DWIN32 \
|
||||
$(__DEBUGINFO) /Fd$(OBJS)\baseserver.pdb $(____DEBUGRUNTIME) \
|
||||
$(__OPTIMIZEFLAG) /D_CRT_SECURE_NO_DEPRECATE=1 \
|
||||
/D_CRT_NON_CONFORMING_SWPRINTFS=1 /D_SCL_SECURE_NO_WARNINGS=1 \
|
||||
$(__NO_VC_CRTDBG_p) $(__TARGET_CPU_COMPFLAG_p) /D__WXMSW__ \
|
||||
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
/I$(SETUPHDIR) /I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) /W4 /I. \
|
||||
$(__DLLFLAG_p) /D_CONSOLE /DwxUSE_GUI=0 $(__RTTIFLAG) $(__EXCEPTIONSFLAG) \
|
||||
$(CPPFLAGS) $(CXXFLAGS)
|
||||
BASESERVER_OBJECTS = \
|
||||
$(OBJS)\baseserver_baseserver.obj
|
||||
|
||||
### Conditionally set variables: ###
|
||||
|
||||
!if "$(TARGET_CPU)" == "AMD64"
|
||||
ARCH_SUFFIX = _x64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ARM"
|
||||
ARCH_SUFFIX = _arm
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ARM64"
|
||||
ARCH_SUFFIX = _arm64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "IA64"
|
||||
ARCH_SUFFIX = _ia64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "X64"
|
||||
ARCH_SUFFIX = _x64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
|
||||
ARCH_SUFFIX = _x64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
|
||||
ARCH_SUFFIX = _x64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
ARCH_SUFFIX = _x64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "arm"
|
||||
ARCH_SUFFIX = _arm
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "arm64"
|
||||
ARCH_SUFFIX = _arm64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
ARCH_SUFFIX = _ia64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "x64"
|
||||
ARCH_SUFFIX = _x64
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "0"
|
||||
PORTNAME = base
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1"
|
||||
PORTNAME = msw$(TOOLKIT_VERSION)
|
||||
!endif
|
||||
!if "$(OFFICIAL_BUILD)" == "1"
|
||||
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
WXDEBUGFLAG = d
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
|
||||
WXDEBUGFLAG = d
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
WXUNIVNAME = univ
|
||||
!endif
|
||||
!if "$(SHARED)" == "1"
|
||||
WXDLLFLAG = dll
|
||||
!endif
|
||||
!if "$(SHARED)" == "0"
|
||||
LIBTYPE_SUFFIX = lib
|
||||
!endif
|
||||
!if "$(SHARED)" == "1"
|
||||
LIBTYPE_SUFFIX = dll
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "AMD64"
|
||||
LINK_TARGET_CPU = /MACHINE:X64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ARM"
|
||||
LINK_TARGET_CPU = /MACHINE:ARM
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ARM64"
|
||||
LINK_TARGET_CPU = /MACHINE:ARM64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "IA64"
|
||||
LINK_TARGET_CPU = /MACHINE:IA64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "X64"
|
||||
LINK_TARGET_CPU = /MACHINE:X64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
|
||||
LINK_TARGET_CPU = /MACHINE:X64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
|
||||
LINK_TARGET_CPU = /MACHINE:X64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "amd64"
|
||||
LINK_TARGET_CPU = /MACHINE:X64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "arm"
|
||||
LINK_TARGET_CPU = /MACHINE:ARM
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "arm64"
|
||||
LINK_TARGET_CPU = /MACHINE:ARM64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "ia64"
|
||||
LINK_TARGET_CPU = /MACHINE:IA64
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "x64"
|
||||
LINK_TARGET_CPU = /MACHINE:X64
|
||||
!endif
|
||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "14.0"
|
||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
||||
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
|
||||
!endif
|
||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "15.0"
|
||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
||||
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
|
||||
!endif
|
||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "16.0"
|
||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
||||
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
|
||||
!endif
|
||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "17.0"
|
||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
||||
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
|
||||
!endif
|
||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "14.0"
|
||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
||||
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
|
||||
!endif
|
||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "15.0"
|
||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
||||
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
|
||||
!endif
|
||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "16.0"
|
||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
||||
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
|
||||
!endif
|
||||
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "17.0"
|
||||
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
|
||||
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "0"
|
||||
EXTRALIBS_FOR_BASE =
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "1"
|
||||
EXTRALIBS_FOR_BASE =
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1"
|
||||
__client___depname = $(OBJS)\client.exe
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO_2 = $(__DEBUGRUNTIME_2)
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO_2 =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "0"
|
||||
__DEBUGINFO_2 =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "1"
|
||||
__DEBUGINFO_2 = $(__DEBUGRUNTIME_2)
|
||||
!endif
|
||||
!if "$(RUNTIME_LIBS)" == "dynamic"
|
||||
__RUNTIME_LIBS_10 = D
|
||||
!endif
|
||||
!if "$(RUNTIME_LIBS)" == "static"
|
||||
__RUNTIME_LIBS_10 = $(__THREADSFLAG)
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "1" && "$(USE_STC)" == "1"
|
||||
__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1"
|
||||
__server___depname = $(OBJS)\server.exe
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO_18 = $(__DEBUGRUNTIME_2)
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO_18 =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "0"
|
||||
__DEBUGINFO_18 =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "1"
|
||||
__DEBUGINFO_18 = $(__DEBUGRUNTIME_2)
|
||||
!endif
|
||||
!if "$(RUNTIME_LIBS)" == "dynamic"
|
||||
__RUNTIME_LIBS_26 = D
|
||||
!endif
|
||||
!if "$(RUNTIME_LIBS)" == "static"
|
||||
__RUNTIME_LIBS_26 = $(__THREADSFLAG)
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "1" && "$(USE_STC)" == "1"
|
||||
__LIB_LEXILLA_IF_MONO_p_1 = $(__LIB_LEXILLA_p)
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO_34 = $(__DEBUGRUNTIME_2)
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO_34 =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "0"
|
||||
__DEBUGINFO_34 =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "1"
|
||||
__DEBUGINFO_34 = $(__DEBUGRUNTIME_2)
|
||||
!endif
|
||||
!if "$(RUNTIME_LIBS)" == "dynamic"
|
||||
__RUNTIME_LIBS_42 = D
|
||||
!endif
|
||||
!if "$(RUNTIME_LIBS)" == "static"
|
||||
__RUNTIME_LIBS_42 = $(__THREADSFLAG)
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "1"
|
||||
__LIB_PNG_IF_MONO_p = $(__LIB_PNG_p)
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO_50 = $(__DEBUGRUNTIME_2)
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO_50 =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "0"
|
||||
__DEBUGINFO_50 =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "1"
|
||||
__DEBUGINFO_50 = $(__DEBUGRUNTIME_2)
|
||||
!endif
|
||||
!if "$(RUNTIME_LIBS)" == "dynamic"
|
||||
__RUNTIME_LIBS_58 = D
|
||||
!endif
|
||||
!if "$(RUNTIME_LIBS)" == "static"
|
||||
__RUNTIME_LIBS_58 = $(__THREADSFLAG)
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "1"
|
||||
__LIB_PNG_IF_MONO_p_1 = $(__LIB_PNG_p)
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
____DEBUGRUNTIME_0 = /d _DEBUG
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
____DEBUGRUNTIME_0 =
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
||||
____DEBUGRUNTIME_0 =
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
|
||||
____DEBUGRUNTIME_0 = /d _DEBUG
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
|
||||
__NO_VC_CRTDBG_p_0 = /d __NO_VC_CRTDBG__
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
|
||||
__NO_VC_CRTDBG_p_0 = /d __NO_VC_CRTDBG__
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == ""
|
||||
__TARGET_CPU_COMPFLAG_p_0 = /d TARGET_CPU_COMPFLAG=0
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
|
||||
__TARGET_CPU_COMPFLAG_p_0 =
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
|
||||
__TARGET_CPU_COMPFLAG_p_0 =
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
__WXUNIV_DEFINE_p_0 = /d __WXUNIVERSAL__
|
||||
!endif
|
||||
!if "$(DEBUG_FLAG)" == "0"
|
||||
__DEBUG_DEFINE_p_0 = /d wxDEBUG_LEVEL=0
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
__NDEBUG_DEFINE_p_0 = /d NDEBUG
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
||||
__NDEBUG_DEFINE_p_0 = /d NDEBUG
|
||||
!endif
|
||||
!if "$(USE_EXCEPTIONS)" == "0"
|
||||
__EXCEPTIONS_DEFINE_p_0 = /d wxNO_EXCEPTIONS
|
||||
!endif
|
||||
!if "$(USE_RTTI)" == "0"
|
||||
__RTTI_DEFINE_p_0 = /d wxNO_RTTI
|
||||
!endif
|
||||
!if "$(USE_THREADS)" == "0"
|
||||
__THREAD_DEFINE_p_0 = /d wxNO_THREADS
|
||||
!endif
|
||||
!if "$(USE_CAIRO)" == "1"
|
||||
____CAIRO_INCLUDEDIR_FILENAMES_0 = /i $(CAIRO_ROOT)\include\cairo
|
||||
!endif
|
||||
!if "$(SHARED)" == "1"
|
||||
__DLLFLAG_p_0 = /d WXUSINGDLL
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "0"
|
||||
__WXLIB_CORE_p = \
|
||||
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "1" && "$(USE_STC)" == "1"
|
||||
__LIB_SCINTILLA_IF_MONO_p = wxscintilla$(WXDEBUGFLAG).lib
|
||||
!endif
|
||||
!if "$(USE_STC)" == "1"
|
||||
__LIB_LEXILLA_p = wxlexilla$(WXDEBUGFLAG).lib
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1"
|
||||
__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1"
|
||||
__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1"
|
||||
__LIB_WEBP_p = wxwebp$(WXDEBUGFLAG).lib
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO = /Zi
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "0"
|
||||
__DEBUGINFO =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "1"
|
||||
__DEBUGINFO = /Zi
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO_4 = /DEBUG
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
|
||||
__DEBUGINFO_4 =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "0"
|
||||
__DEBUGINFO_4 =
|
||||
!endif
|
||||
!if "$(DEBUG_INFO)" == "1"
|
||||
__DEBUGINFO_4 = /DEBUG
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
____DEBUGRUNTIME = /D_DEBUG
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
____DEBUGRUNTIME =
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
||||
____DEBUGRUNTIME =
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
|
||||
____DEBUGRUNTIME = /D_DEBUG
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
__DEBUGRUNTIME = d
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
__DEBUGRUNTIME =
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
||||
__DEBUGRUNTIME =
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
|
||||
__DEBUGRUNTIME = d
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
__DEBUGRUNTIME_2 =
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
__DEBUGRUNTIME_2 = /opt:ref /opt:icf
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
||||
__DEBUGRUNTIME_2 = /opt:ref /opt:icf
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
|
||||
__DEBUGRUNTIME_2 =
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug"
|
||||
__OPTIMIZEFLAG = /Od
|
||||
!endif
|
||||
!if "$(BUILD)" == "release"
|
||||
__OPTIMIZEFLAG = /O2
|
||||
!endif
|
||||
!if "$(USE_THREADS)" == "0"
|
||||
__THREADSFLAG = L
|
||||
!endif
|
||||
!if "$(USE_THREADS)" == "1"
|
||||
__THREADSFLAG = T
|
||||
!endif
|
||||
!if "$(USE_RTTI)" == "0"
|
||||
__RTTIFLAG = /GR-
|
||||
!endif
|
||||
!if "$(USE_RTTI)" == "1"
|
||||
__RTTIFLAG = /GR
|
||||
!endif
|
||||
!if "$(USE_EXCEPTIONS)" == "0"
|
||||
__EXCEPTIONSFLAG =
|
||||
!endif
|
||||
!if "$(USE_EXCEPTIONS)" == "1"
|
||||
__EXCEPTIONSFLAG = /EHsc
|
||||
!endif
|
||||
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
|
||||
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
|
||||
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == ""
|
||||
__TARGET_CPU_COMPFLAG_p = /DTARGET_CPU_COMPFLAG=0
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
|
||||
__TARGET_CPU_COMPFLAG_p =
|
||||
!endif
|
||||
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
|
||||
__TARGET_CPU_COMPFLAG_p =
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
__WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
|
||||
!endif
|
||||
!if "$(DEBUG_FLAG)" == "0"
|
||||
__DEBUG_DEFINE_p = /DwxDEBUG_LEVEL=0
|
||||
!endif
|
||||
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
|
||||
__NDEBUG_DEFINE_p = /DNDEBUG
|
||||
!endif
|
||||
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
|
||||
__NDEBUG_DEFINE_p = /DNDEBUG
|
||||
!endif
|
||||
!if "$(USE_EXCEPTIONS)" == "0"
|
||||
__EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
|
||||
!endif
|
||||
!if "$(USE_RTTI)" == "0"
|
||||
__RTTI_DEFINE_p = /DwxNO_RTTI
|
||||
!endif
|
||||
!if "$(USE_THREADS)" == "0"
|
||||
__THREAD_DEFINE_p = /DwxNO_THREADS
|
||||
!endif
|
||||
!if "$(USE_CAIRO)" == "1"
|
||||
____CAIRO_INCLUDEDIR_FILENAMES = /I$(CAIRO_ROOT)\include\cairo
|
||||
!endif
|
||||
!if "$(SHARED)" == "1"
|
||||
__DLLFLAG_p = /DWXUSINGDLL
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "0"
|
||||
__WXLIB_NET_p = \
|
||||
wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net.lib
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "0"
|
||||
__WXLIB_BASE_p = \
|
||||
wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
|
||||
!endif
|
||||
!if "$(MONOLITHIC)" == "1"
|
||||
__WXLIB_MONO_p = \
|
||||
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
|
||||
!endif
|
||||
!if "$(USE_GUI)" == "1"
|
||||
__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
|
||||
!endif
|
||||
!if "$(USE_CAIRO)" == "1"
|
||||
__CAIRO_LIB_p = cairo.lib
|
||||
!endif
|
||||
!if "$(USE_CAIRO)" == "1"
|
||||
____CAIRO_LIBDIR_FILENAMES = /LIBPATH:$(CAIRO_ROOT)\lib
|
||||
!endif
|
||||
|
||||
|
||||
all: $(OBJS)
|
||||
$(OBJS):
|
||||
-if not exist $(OBJS) mkdir $(OBJS)
|
||||
|
||||
### Targets: ###
|
||||
|
||||
all: $(__client___depname) $(__server___depname) $(OBJS)\baseclient.exe $(OBJS)\baseserver.exe
|
||||
|
||||
clean:
|
||||
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
|
||||
-if exist $(OBJS)\*.res del $(OBJS)\*.res
|
||||
-if exist $(OBJS)\*.pch del $(OBJS)\*.pch
|
||||
-if exist $(OBJS)\client.exe del $(OBJS)\client.exe
|
||||
-if exist $(OBJS)\client.ilk del $(OBJS)\client.ilk
|
||||
-if exist $(OBJS)\client.pdb del $(OBJS)\client.pdb
|
||||
-if exist $(OBJS)\server.exe del $(OBJS)\server.exe
|
||||
-if exist $(OBJS)\server.ilk del $(OBJS)\server.ilk
|
||||
-if exist $(OBJS)\server.pdb del $(OBJS)\server.pdb
|
||||
-if exist $(OBJS)\baseclient.exe del $(OBJS)\baseclient.exe
|
||||
-if exist $(OBJS)\baseclient.ilk del $(OBJS)\baseclient.ilk
|
||||
-if exist $(OBJS)\baseclient.pdb del $(OBJS)\baseclient.pdb
|
||||
-if exist $(OBJS)\baseserver.exe del $(OBJS)\baseserver.exe
|
||||
-if exist $(OBJS)\baseserver.ilk del $(OBJS)\baseserver.ilk
|
||||
-if exist $(OBJS)\baseserver.pdb del $(OBJS)\baseserver.pdb
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\client.exe: $(CLIENT_OBJECTS) $(OBJS)\client_sample.res
|
||||
link /NOLOGO /OUT:$@ $(__DEBUGINFO_4) /pdb:"$(OBJS)\client.pdb" $(__DEBUGINFO_2) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(WIN32_DPI_LINKFLAG) /SUBSYSTEM:WINDOWS $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<<
|
||||
$(CLIENT_OBJECTS) $(CLIENT_RESOURCES) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib gdiplus.lib msimg32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib
|
||||
<<
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\server.exe: $(SERVER_OBJECTS) $(OBJS)\server_sample.res
|
||||
link /NOLOGO /OUT:$@ $(__DEBUGINFO_4) /pdb:"$(OBJS)\server.pdb" $(__DEBUGINFO_18) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(WIN32_DPI_LINKFLAG) /SUBSYSTEM:WINDOWS $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<<
|
||||
$(SERVER_OBJECTS) $(SERVER_RESOURCES) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p_1) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib gdiplus.lib msimg32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib
|
||||
<<
|
||||
!endif
|
||||
|
||||
$(OBJS)\baseclient.exe: $(BASECLIENT_OBJECTS)
|
||||
link /NOLOGO /OUT:$@ $(__DEBUGINFO_4) /pdb:"$(OBJS)\baseclient.pdb" $(__DEBUGINFO_34) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:CONSOLE $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<<
|
||||
$(BASECLIENT_OBJECTS) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib gdiplus.lib msimg32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib
|
||||
<<
|
||||
|
||||
$(OBJS)\baseserver.exe: $(BASESERVER_OBJECTS)
|
||||
link /NOLOGO /OUT:$@ $(__DEBUGINFO_4) /pdb:"$(OBJS)\baseserver.pdb" $(__DEBUGINFO_50) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:CONSOLE $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<<
|
||||
$(BASESERVER_OBJECTS) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p_1) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib gdiplus.lib msimg32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib
|
||||
<<
|
||||
|
||||
$(OBJS)\client_sample.res: .\..\..\samples\sample.rc
|
||||
rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_0) /d _CRT_SECURE_NO_DEPRECATE=1 /d _CRT_NON_CONFORMING_SWPRINTFS=1 /d _SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p_0) $(__TARGET_CPU_COMPFLAG_p_0) /d __WXMSW__ $(__WXUNIV_DEFINE_p_0) $(__DEBUG_DEFINE_p_0) $(__NDEBUG_DEFINE_p_0) $(__EXCEPTIONS_DEFINE_p_0) $(__RTTI_DEFINE_p_0) $(__THREAD_DEFINE_p_0) /i $(SETUPHDIR) /i .\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_0) /i . $(__DLLFLAG_p_0) /d _WINDOWS /i .\..\..\samples /d NOPCH .\..\..\samples\sample.rc
|
||||
|
||||
$(OBJS)\client_client.obj: .\client.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CLIENT_CXXFLAGS) .\client.cpp
|
||||
|
||||
$(OBJS)\server_sample.res: .\..\..\samples\sample.rc
|
||||
rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_0) /d _CRT_SECURE_NO_DEPRECATE=1 /d _CRT_NON_CONFORMING_SWPRINTFS=1 /d _SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p_0) $(__TARGET_CPU_COMPFLAG_p_0) /d __WXMSW__ $(__WXUNIV_DEFINE_p_0) $(__DEBUG_DEFINE_p_0) $(__NDEBUG_DEFINE_p_0) $(__EXCEPTIONS_DEFINE_p_0) $(__RTTI_DEFINE_p_0) $(__THREAD_DEFINE_p_0) /i $(SETUPHDIR) /i .\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_0) /i . $(__DLLFLAG_p_0) /d _WINDOWS /i .\..\..\samples /d NOPCH .\..\..\samples\sample.rc
|
||||
|
||||
$(OBJS)\server_server.obj: .\server.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(SERVER_CXXFLAGS) .\server.cpp
|
||||
|
||||
$(OBJS)\baseclient_baseclient.obj: .\baseclient.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(BASECLIENT_CXXFLAGS) .\baseclient.cpp
|
||||
|
||||
$(OBJS)\baseserver_baseserver.obj: .\baseserver.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(BASESERVER_CXXFLAGS) .\baseserver.cpp
|
||||
|
||||
502
libs/wxWidgets-3.3.1/samples/sockets/server.cpp
Normal file
502
libs/wxWidgets-3.3.1/samples/sockets/server.cpp
Normal file
@@ -0,0 +1,502 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: server.cpp
|
||||
// Purpose: Server for wxSocket demo
|
||||
// Author: Guillermo Rodriguez Garcia <guille@iies.es>
|
||||
// Created: 1999/09/19
|
||||
// Copyright: (c) 1999 Guillermo Rodriguez Garcia
|
||||
// (c) 2009 Vadim Zeitlin
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ==========================================================================
|
||||
// declarations
|
||||
// ==========================================================================
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// headers
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
// for all others, include the necessary headers
|
||||
#ifndef WX_PRECOMP
|
||||
# include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
#include "wx/busyinfo.h"
|
||||
#include "wx/socket.h"
|
||||
|
||||
// this example is currently written to use only IP or only IPv6 sockets, it
|
||||
// should be extended to allow using either in the future
|
||||
#if wxUSE_IPV6
|
||||
typedef wxIPV6address IPaddress;
|
||||
#else
|
||||
typedef wxIPV4address IPaddress;
|
||||
#endif
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// resources
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// the application icon
|
||||
#ifndef wxHAS_IMAGES_IN_RESOURCES
|
||||
#include "../sample.xpm"
|
||||
#endif
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// classes
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// Define a new application type
|
||||
class MyApp : public wxApp
|
||||
{
|
||||
public:
|
||||
virtual bool OnInit() override;
|
||||
};
|
||||
|
||||
// Define a new frame type: this is going to be our main frame
|
||||
class MyFrame : public wxFrame
|
||||
{
|
||||
public:
|
||||
MyFrame();
|
||||
~MyFrame();
|
||||
|
||||
// event handlers (these functions should _not_ be virtual)
|
||||
void OnUDPTest(wxCommandEvent& event);
|
||||
void OnWaitForAccept(wxCommandEvent& event);
|
||||
void OnQuit(wxCommandEvent& event);
|
||||
void OnAbout(wxCommandEvent& event);
|
||||
void OnServerEvent(wxSocketEvent& event);
|
||||
void OnSocketEvent(wxSocketEvent& event);
|
||||
|
||||
void Test1(wxSocketBase *sock);
|
||||
void Test2(wxSocketBase *sock);
|
||||
void Test3(wxSocketBase *sock);
|
||||
|
||||
// convenience functions
|
||||
void UpdateStatusBar();
|
||||
|
||||
private:
|
||||
wxSocketServer *m_server;
|
||||
wxTextCtrl *m_text;
|
||||
wxMenu *m_menuFile;
|
||||
wxMenuBar *m_menuBar;
|
||||
bool m_busy;
|
||||
int m_numClients;
|
||||
|
||||
// any class wishing to process wxWidgets events must use this macro
|
||||
wxDECLARE_EVENT_TABLE();
|
||||
};
|
||||
|
||||
// simple helper class to log start and end of each test
|
||||
class TestLogger
|
||||
{
|
||||
public:
|
||||
TestLogger(const wxString& name) : m_name(name)
|
||||
{
|
||||
wxLogMessage("=== %s begins ===", m_name);
|
||||
}
|
||||
|
||||
~TestLogger()
|
||||
{
|
||||
wxLogMessage("=== %s ends ===", m_name);
|
||||
}
|
||||
|
||||
private:
|
||||
const wxString m_name;
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// constants
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// IDs for the controls and the menu commands
|
||||
enum
|
||||
{
|
||||
// menu items
|
||||
SERVER_UDPTEST = 10,
|
||||
SERVER_WAITFORACCEPT,
|
||||
SERVER_QUIT = wxID_EXIT,
|
||||
SERVER_ABOUT = wxID_ABOUT,
|
||||
|
||||
// id for sockets
|
||||
SERVER_ID = 100,
|
||||
SOCKET_ID
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// event tables and other macros for wxWidgets
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(SERVER_QUIT, MyFrame::OnQuit)
|
||||
EVT_MENU(SERVER_ABOUT, MyFrame::OnAbout)
|
||||
EVT_MENU(SERVER_UDPTEST, MyFrame::OnUDPTest)
|
||||
EVT_MENU(SERVER_WAITFORACCEPT, MyFrame::OnWaitForAccept)
|
||||
EVT_SOCKET(SERVER_ID, MyFrame::OnServerEvent)
|
||||
EVT_SOCKET(SOCKET_ID, MyFrame::OnSocketEvent)
|
||||
wxEND_EVENT_TABLE()
|
||||
|
||||
wxIMPLEMENT_APP(MyApp);
|
||||
|
||||
|
||||
// ==========================================================================
|
||||
// implementation
|
||||
// ==========================================================================
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// the application class
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
bool MyApp::OnInit()
|
||||
{
|
||||
if ( !wxApp::OnInit() )
|
||||
return false;
|
||||
|
||||
// Create the main application window
|
||||
MyFrame *frame = new MyFrame();
|
||||
|
||||
// Show it
|
||||
frame->Show(true);
|
||||
|
||||
// Success
|
||||
return true;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// main frame
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// frame constructor
|
||||
|
||||
MyFrame::MyFrame() : wxFrame(nullptr, wxID_ANY,
|
||||
_("wxSocket demo: Server"),
|
||||
wxDefaultPosition, wxSize(300, 200))
|
||||
{
|
||||
// Give the frame an icon
|
||||
SetIcon(wxICON(sample));
|
||||
|
||||
// Make menus
|
||||
m_menuFile = new wxMenu();
|
||||
m_menuFile->Append(SERVER_WAITFORACCEPT, "&Wait for connection\tCtrl-W");
|
||||
m_menuFile->Append(SERVER_UDPTEST, "&UDP test\tCtrl-U");
|
||||
m_menuFile->AppendSeparator();
|
||||
m_menuFile->Append(SERVER_ABOUT, _("&About\tCtrl-A"), _("Show about dialog"));
|
||||
m_menuFile->AppendSeparator();
|
||||
m_menuFile->Append(SERVER_QUIT, _("E&xit\tAlt-X"), _("Quit server"));
|
||||
|
||||
// Append menus to the menubar
|
||||
m_menuBar = new wxMenuBar();
|
||||
m_menuBar->Append(m_menuFile, _("&File"));
|
||||
SetMenuBar(m_menuBar);
|
||||
|
||||
#if wxUSE_STATUSBAR
|
||||
// Status bar
|
||||
CreateStatusBar(2);
|
||||
#endif // wxUSE_STATUSBAR
|
||||
|
||||
// Make a textctrl for logging
|
||||
m_text = new wxTextCtrl(this, wxID_ANY,
|
||||
_("Welcome to wxSocket demo: Server\n"),
|
||||
wxDefaultPosition, wxDefaultSize,
|
||||
wxTE_MULTILINE | wxTE_READONLY);
|
||||
delete wxLog::SetActiveTarget(new wxLogTextCtrl(m_text));
|
||||
|
||||
// Create the address - defaults to localhost:0 initially
|
||||
IPaddress addr;
|
||||
addr.Service(3000);
|
||||
|
||||
wxLogMessage("Creating server at %s:%u", addr.IPAddress(), addr.Service());
|
||||
|
||||
// Create the socket
|
||||
m_server = new wxSocketServer(addr);
|
||||
|
||||
// We use IsOk() here to see if the server is really listening
|
||||
if (! m_server->IsOk())
|
||||
{
|
||||
wxLogMessage("Could not listen at the specified port !");
|
||||
return;
|
||||
}
|
||||
|
||||
IPaddress addrReal;
|
||||
if ( !m_server->GetLocal(addrReal) )
|
||||
{
|
||||
wxLogMessage("ERROR: couldn't get the address we bound to");
|
||||
}
|
||||
else
|
||||
{
|
||||
wxLogMessage("Server listening at %s:%u",
|
||||
addrReal.IPAddress(), addrReal.Service());
|
||||
}
|
||||
|
||||
// Setup the event handler and subscribe to connection events
|
||||
m_server->SetEventHandler(*this, SERVER_ID);
|
||||
m_server->SetNotify(wxSOCKET_CONNECTION_FLAG);
|
||||
m_server->Notify(true);
|
||||
|
||||
m_busy = false;
|
||||
m_numClients = 0;
|
||||
UpdateStatusBar();
|
||||
}
|
||||
|
||||
MyFrame::~MyFrame()
|
||||
{
|
||||
// No delayed deletion here, as the frame is dying anyway
|
||||
delete m_server;
|
||||
}
|
||||
|
||||
// event handlers
|
||||
|
||||
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// true is to force the frame to close
|
||||
Close(true);
|
||||
}
|
||||
|
||||
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxMessageBox(_("wxSocket demo: Server\n(c) 1999 Guillermo Rodriguez Garcia\n"),
|
||||
_("About Server"),
|
||||
wxOK | wxICON_INFORMATION, this);
|
||||
}
|
||||
|
||||
void MyFrame::OnUDPTest(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
TestLogger logtest("UDP test");
|
||||
|
||||
IPaddress addr;
|
||||
addr.Service(3000);
|
||||
wxDatagramSocket sock(addr);
|
||||
|
||||
char buf[1024];
|
||||
size_t n = sock.RecvFrom(addr, buf, sizeof(buf)).LastCount();
|
||||
if ( !n )
|
||||
{
|
||||
wxLogMessage("ERROR: failed to receive data");
|
||||
return;
|
||||
}
|
||||
|
||||
wxLogMessage("Received \"%s\" from %s:%u.",
|
||||
wxString::From8BitData(buf, n),
|
||||
addr.IPAddress(), addr.Service());
|
||||
|
||||
for ( size_t i = 0; i < n; i++ )
|
||||
{
|
||||
char& c = buf[i];
|
||||
if ( (c >= 'A' && c <= 'M') || (c >= 'a' && c <= 'm') )
|
||||
c += 13;
|
||||
else if ( (c >= 'N' && c <= 'Z') || (c >= 'n' && c <= 'z') )
|
||||
c -= 13;
|
||||
}
|
||||
|
||||
if ( sock.SendTo(addr, buf, n).LastCount() != n )
|
||||
{
|
||||
wxLogMessage("ERROR: failed to send data");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void MyFrame::OnWaitForAccept(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
TestLogger logtest("WaitForAccept() test");
|
||||
|
||||
wxBusyInfo info("Waiting for connection for 10 seconds...", this);
|
||||
if ( m_server->WaitForAccept(10) )
|
||||
wxLogMessage("Accepted client connection.");
|
||||
else
|
||||
wxLogMessage("Connection error or timeout expired.");
|
||||
}
|
||||
|
||||
void MyFrame::Test1(wxSocketBase *sock)
|
||||
{
|
||||
TestLogger logtest("Test 1");
|
||||
|
||||
// Receive data from socket and send it back. We will first
|
||||
// get a byte with the buffer size, so we can specify the
|
||||
// exact size and use the wxSOCKET_WAITALL flag. Also, we
|
||||
// disabled input events so we won't have unwanted reentrance.
|
||||
// This way we can avoid the infamous wxSOCKET_BLOCK flag.
|
||||
|
||||
sock->SetFlags(wxSOCKET_WAITALL);
|
||||
|
||||
// Read the size
|
||||
unsigned char len;
|
||||
sock->Read(&len, 1);
|
||||
wxCharBuffer buf(len);
|
||||
|
||||
// Read the data
|
||||
sock->Read(buf.data(), len);
|
||||
wxLogMessage("Got the data, sending it back");
|
||||
|
||||
// Write it back
|
||||
sock->Write(buf, len);
|
||||
}
|
||||
|
||||
void MyFrame::Test2(wxSocketBase *sock)
|
||||
{
|
||||
char buf[4096];
|
||||
|
||||
TestLogger logtest("Test 2");
|
||||
|
||||
// We don't need to set flags because ReadMsg and WriteMsg
|
||||
// are not affected by them anyway.
|
||||
|
||||
// Read the message
|
||||
wxUint32 len = sock->ReadMsg(buf, sizeof(buf)).LastCount();
|
||||
if ( !len )
|
||||
{
|
||||
wxLogError("Failed to read message.");
|
||||
return;
|
||||
}
|
||||
|
||||
wxLogMessage("Got \"%s\" from client.", wxString::FromUTF8(buf, len));
|
||||
wxLogMessage("Sending the data back");
|
||||
|
||||
// Write it back
|
||||
sock->WriteMsg(buf, len);
|
||||
}
|
||||
|
||||
void MyFrame::Test3(wxSocketBase *sock)
|
||||
{
|
||||
TestLogger logtest("Test 3");
|
||||
|
||||
// This test is similar to the first one, but the len is
|
||||
// expressed in kbytes - this tests large data transfers.
|
||||
|
||||
sock->SetFlags(wxSOCKET_WAITALL);
|
||||
|
||||
// Read the size
|
||||
unsigned char len;
|
||||
sock->Read(&len, 1);
|
||||
wxCharBuffer buf(len*1024);
|
||||
|
||||
// Read the data
|
||||
sock->Read(buf.data(), len * 1024);
|
||||
wxLogMessage("Got the data, sending it back");
|
||||
|
||||
// Write it back
|
||||
sock->Write(buf, len * 1024);
|
||||
}
|
||||
|
||||
void MyFrame::OnServerEvent(wxSocketEvent& event)
|
||||
{
|
||||
wxString s = "OnServerEvent: ";
|
||||
wxSocketBase *sock;
|
||||
|
||||
switch(event.GetSocketEvent())
|
||||
{
|
||||
case wxSOCKET_CONNECTION : s.Append("wxSOCKET_CONNECTION\n"); break;
|
||||
default : s.Append(_("Unexpected event !\n")); break;
|
||||
}
|
||||
|
||||
m_text->AppendText(s);
|
||||
|
||||
// Accept new connection if there is one in the pending
|
||||
// connections queue, else exit. We use Accept(false) for
|
||||
// non-blocking accept (although if we got here, there
|
||||
// should ALWAYS be a pending connection).
|
||||
|
||||
sock = m_server->Accept(false);
|
||||
|
||||
if (sock)
|
||||
{
|
||||
IPaddress addr;
|
||||
if ( !sock->GetPeer(addr) )
|
||||
{
|
||||
wxLogMessage("New connection from unknown client accepted.");
|
||||
}
|
||||
else
|
||||
{
|
||||
wxLogMessage("New client connection from %s:%u accepted",
|
||||
addr.IPAddress(), addr.Service());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
wxLogMessage("Error: couldn't accept a new connection");
|
||||
return;
|
||||
}
|
||||
|
||||
sock->SetEventHandler(*this, SOCKET_ID);
|
||||
sock->SetNotify(wxSOCKET_INPUT_FLAG | wxSOCKET_LOST_FLAG);
|
||||
sock->Notify(true);
|
||||
|
||||
m_numClients++;
|
||||
UpdateStatusBar();
|
||||
}
|
||||
|
||||
void MyFrame::OnSocketEvent(wxSocketEvent& event)
|
||||
{
|
||||
wxString s = "OnSocketEvent: ";
|
||||
wxSocketBase *sock = event.GetSocket();
|
||||
|
||||
// First, print a message
|
||||
switch(event.GetSocketEvent())
|
||||
{
|
||||
case wxSOCKET_INPUT : s.Append("wxSOCKET_INPUT\n"); break;
|
||||
case wxSOCKET_LOST : s.Append("wxSOCKET_LOST\n"); break;
|
||||
default : s.Append(_("Unexpected event !\n")); break;
|
||||
}
|
||||
|
||||
m_text->AppendText(s);
|
||||
|
||||
// Now we process the event
|
||||
switch(event.GetSocketEvent())
|
||||
{
|
||||
case wxSOCKET_INPUT:
|
||||
{
|
||||
// We disable input events, so that the test doesn't trigger
|
||||
// wxSocketEvent again.
|
||||
sock->SetNotify(wxSOCKET_LOST_FLAG);
|
||||
|
||||
// Which test are we going to run?
|
||||
unsigned char c;
|
||||
sock->Read(&c, 1);
|
||||
|
||||
switch (c)
|
||||
{
|
||||
case 0xBE: Test1(sock); break;
|
||||
case 0xCE: Test2(sock); break;
|
||||
case 0xDE: Test3(sock); break;
|
||||
default:
|
||||
wxLogMessage("Unknown test id received from client");
|
||||
}
|
||||
|
||||
// Enable input events again.
|
||||
sock->SetNotify(wxSOCKET_LOST_FLAG | wxSOCKET_INPUT_FLAG);
|
||||
break;
|
||||
}
|
||||
case wxSOCKET_LOST:
|
||||
{
|
||||
m_numClients--;
|
||||
|
||||
// Destroy() should be used instead of delete wherever possible,
|
||||
// due to the fact that wxSocket uses 'delayed events' (see the
|
||||
// documentation for wxPostEvent) and we don't want an event to
|
||||
// arrive to the event handler (the frame, here) after the socket
|
||||
// has been deleted. Also, we might be doing some other thing with
|
||||
// the socket at the same time; for example, we might be in the
|
||||
// middle of a test or something. Destroy() takes care of all
|
||||
// this for us.
|
||||
|
||||
wxLogMessage("Deleting socket.");
|
||||
sock->Destroy();
|
||||
break;
|
||||
}
|
||||
default: ;
|
||||
}
|
||||
|
||||
UpdateStatusBar();
|
||||
}
|
||||
|
||||
// convenience functions
|
||||
|
||||
void MyFrame::UpdateStatusBar()
|
||||
{
|
||||
#if wxUSE_STATUSBAR
|
||||
wxString s;
|
||||
s.Printf(_("%d clients connected"), m_numClients);
|
||||
SetStatusText(s, 1);
|
||||
#endif // wxUSE_STATUSBAR
|
||||
}
|
||||
450
libs/wxWidgets-3.3.1/samples/sockets/server.vcxproj
Normal file
450
libs/wxWidgets-3.3.1/samples/sockets/server.vcxproj
Normal file
@@ -0,0 +1,450 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Debug|Win32">
|
||||
<Configuration>DLL Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Debug|x64">
|
||||
<Configuration>DLL Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Release|Win32">
|
||||
<Configuration>DLL Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="DLL Release|x64">
|
||||
<Configuration>DLL Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{3FEAA19A-7834-459B-BC50-96F3907D1BA6}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\..\build\msw\wx_config.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="..\..\build\msw\wx_setup.props" />
|
||||
<Import Project="..\..\build\msw\wx_local.props" Condition="Exists('..\..\build\msw\wx_local.props')" />
|
||||
<Import Project="..\samples.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.24720.0</_ProjectFileVersion>
|
||||
<OutDir>$(wxIntRootDir)</OutDir>
|
||||
<IntDir>$(wxIntRootDir)$(ProjectName)\</IntDir>
|
||||
<GenerateManifest>true</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_net.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Bscmake>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="server.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\sample.rc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
23
libs/wxWidgets-3.3.1/samples/sockets/server.vcxproj.filters
Normal file
23
libs/wxWidgets-3.3.1/samples/sockets/server.vcxproj.filters
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="server.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\sample.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
42
libs/wxWidgets-3.3.1/samples/sockets/sockets.bkl
Normal file
42
libs/wxWidgets-3.3.1/samples/sockets/sockets.bkl
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" ?>
|
||||
<makefile>
|
||||
|
||||
<include file="../../build/bakefiles/common_samples.bkl"/>
|
||||
|
||||
<if cond="FORMAT=='gnu'">
|
||||
<!-- as we can't (easily) test for GUI, build them always -->
|
||||
<set var="cond_build_gui">1</set>
|
||||
</if>
|
||||
<if cond="FORMAT!='gnu'">
|
||||
<set var="cond_build_gui">USE_GUI=='1'</set>
|
||||
</if>
|
||||
|
||||
<exe id="client" template="wx_sample" template_append="wx_append" cond="$(cond_build_gui)">
|
||||
<sources>client.cpp</sources>
|
||||
<wx-lib>core</wx-lib>
|
||||
<wx-lib>net</wx-lib>
|
||||
<wx-lib>base</wx-lib>
|
||||
</exe>
|
||||
|
||||
<exe id="server" template="wx_sample" template_append="wx_append" cond="$(cond_build_gui)">
|
||||
<sources>server.cpp</sources>
|
||||
<wx-lib>core</wx-lib>
|
||||
<wx-lib>net</wx-lib>
|
||||
<wx-lib>base</wx-lib>
|
||||
</exe>
|
||||
|
||||
<exe id="baseclient" template="wx_sample_console"
|
||||
template_append="wx_append_base">
|
||||
<sources>baseclient.cpp</sources>
|
||||
<wx-lib>net</wx-lib>
|
||||
<wx-lib>base</wx-lib>
|
||||
</exe>
|
||||
|
||||
<exe id="baseserver" template="wx_sample_console"
|
||||
template_append="wx_append_base">
|
||||
<sources>baseserver.cpp</sources>
|
||||
<wx-lib>net</wx-lib>
|
||||
<wx-lib>base</wx-lib>
|
||||
</exe>
|
||||
|
||||
</makefile>
|
||||
Reference in New Issue
Block a user