From b68a4c26f2a7be3e1e66879fe723ca4c347ca1a3 Mon Sep 17 00:00:00 2001 From: Benjamin Sergeant Date: Mon, 8 Oct 2018 18:24:40 -0700 Subject: [PATCH] win port wip --- examples/chat/CMakeCache.txt | 361 ++++++++++ .../CMakeFiles/3.12.3/CMakeCCompiler.cmake | 73 ++ .../CMakeFiles/3.12.3/CMakeCXXCompiler.cmake | 76 +++ .../3.12.3/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 49664 bytes .../3.12.3/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 49664 bytes .../CMakeFiles/3.12.3/CMakeRCCompiler.cmake | 6 + .../chat/CMakeFiles/3.12.3/CMakeSystem.cmake | 15 + .../3.12.3/CompilerIdC/CMakeCCompilerId.c | 623 ++++++++++++++++++ .../3.12.3/CompilerIdC/CMakeCCompilerId.exe | Bin 0 -> 105984 bytes .../3.12.3/CompilerIdC/CMakeCCompilerId.obj | Bin 0 -> 1785 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 602 +++++++++++++++++ .../CompilerIdCXX/CMakeCXXCompilerId.exe | Bin 0 -> 105984 bytes .../CompilerIdCXX/CMakeCXXCompilerId.obj | Bin 0 -> 1806 bytes .../CMakeDirectoryInformation.cmake | 13 + examples/chat/CMakeFiles/CMakeError.log | 296 +++++++++ examples/chat/CMakeFiles/CMakeOutput.log | 183 +++++ examples/chat/CMakeFiles/Makefile.cmake | 122 ++++ examples/chat/CMakeFiles/Makefile2 | 169 +++++ examples/chat/CMakeFiles/Progress/3 | 1 + examples/chat/CMakeFiles/Progress/count.txt | 1 + .../chat/CMakeFiles/TargetDirectories.txt | 12 + examples/chat/CMakeFiles/cmake.check_cache | 1 + .../cmd_websocket_chat.dir/DependInfo.cmake | 23 + .../cmd_websocket_chat.dir/build.make | 108 +++ .../cmd_websocket_chat.dir/cmake_clean.cmake | 12 + .../cmd_websocket_chat.dir/depend.make | 2 + .../cmd_websocket_chat.dir/flags.make | 10 + .../cmd_websocket_chat.dir/objects1.rsp | 1 + .../cmd_websocket_chat.dir/progress.make | 3 + examples/chat/CMakeFiles/feature_tests.bin | Bin 0 -> 52224 bytes examples/chat/CMakeFiles/feature_tests.c | 20 + examples/chat/CMakeFiles/feature_tests.cxx | 398 +++++++++++ examples/chat/CMakeFiles/progress.marks | 1 + examples/chat/Makefile | 230 +++++++ examples/chat/cmake_install.cmake | 54 ++ .../CMakeDirectoryInformation.cmake | 13 + .../ixwebsocket.dir/CXX.includecache | 64 ++ .../ixwebsocket.dir/DependInfo.cmake | 30 + .../CMakeFiles/ixwebsocket.dir/build.make | 199 ++++++ .../ixwebsocket.dir/cmake_clean.cmake | 13 + .../ixwebsocket.dir/cmake_clean_target.cmake | 3 + .../ixwebsocket.dir/depend.internal | 20 + .../CMakeFiles/ixwebsocket.dir/depend.make | 20 + .../CMakeFiles/ixwebsocket.dir/flags.make | 10 + .../CMakeFiles/ixwebsocket.dir/objects1.rsp | 1 + .../CMakeFiles/ixwebsocket.dir/progress.make | 6 + .../ixwebsocket/CMakeFiles/progress.marks | 1 + examples/chat/ixwebsocket/Makefile | 348 ++++++++++ examples/chat/ixwebsocket/cmake_install.cmake | 34 + ixwebsocket/.IXSocket.cpp.swp | Bin 0 -> 20480 bytes ixwebsocket/.IXSocket.cpp.un~ | Bin 0 -> 17598 bytes ixwebsocket/.IXSocket.h.un~ | Bin 0 -> 8082 bytes ixwebsocket/IXSocket.cpp | 22 +- ixwebsocket/IXSocket.cpp~ | 274 ++++++++ ixwebsocket/IXSocket.h | 7 + ixwebsocket/IXSocket.h~ | 59 ++ 56 files changed, 4535 insertions(+), 5 deletions(-) create mode 100644 examples/chat/CMakeCache.txt create mode 100644 examples/chat/CMakeFiles/3.12.3/CMakeCCompiler.cmake create mode 100644 examples/chat/CMakeFiles/3.12.3/CMakeCXXCompiler.cmake create mode 100644 examples/chat/CMakeFiles/3.12.3/CMakeDetermineCompilerABI_C.bin create mode 100644 examples/chat/CMakeFiles/3.12.3/CMakeDetermineCompilerABI_CXX.bin create mode 100644 examples/chat/CMakeFiles/3.12.3/CMakeRCCompiler.cmake create mode 100644 examples/chat/CMakeFiles/3.12.3/CMakeSystem.cmake create mode 100644 examples/chat/CMakeFiles/3.12.3/CompilerIdC/CMakeCCompilerId.c create mode 100644 examples/chat/CMakeFiles/3.12.3/CompilerIdC/CMakeCCompilerId.exe create mode 100644 examples/chat/CMakeFiles/3.12.3/CompilerIdC/CMakeCCompilerId.obj create mode 100644 examples/chat/CMakeFiles/3.12.3/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100644 examples/chat/CMakeFiles/3.12.3/CompilerIdCXX/CMakeCXXCompilerId.exe create mode 100644 examples/chat/CMakeFiles/3.12.3/CompilerIdCXX/CMakeCXXCompilerId.obj create mode 100644 examples/chat/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 examples/chat/CMakeFiles/CMakeError.log create mode 100644 examples/chat/CMakeFiles/CMakeOutput.log create mode 100644 examples/chat/CMakeFiles/Makefile.cmake create mode 100644 examples/chat/CMakeFiles/Makefile2 create mode 100644 examples/chat/CMakeFiles/Progress/3 create mode 100644 examples/chat/CMakeFiles/Progress/count.txt create mode 100644 examples/chat/CMakeFiles/TargetDirectories.txt create mode 100644 examples/chat/CMakeFiles/cmake.check_cache create mode 100644 examples/chat/CMakeFiles/cmd_websocket_chat.dir/DependInfo.cmake create mode 100644 examples/chat/CMakeFiles/cmd_websocket_chat.dir/build.make create mode 100644 examples/chat/CMakeFiles/cmd_websocket_chat.dir/cmake_clean.cmake create mode 100644 examples/chat/CMakeFiles/cmd_websocket_chat.dir/depend.make create mode 100644 examples/chat/CMakeFiles/cmd_websocket_chat.dir/flags.make create mode 100644 examples/chat/CMakeFiles/cmd_websocket_chat.dir/objects1.rsp create mode 100644 examples/chat/CMakeFiles/cmd_websocket_chat.dir/progress.make create mode 100644 examples/chat/CMakeFiles/feature_tests.bin create mode 100644 examples/chat/CMakeFiles/feature_tests.c create mode 100644 examples/chat/CMakeFiles/feature_tests.cxx create mode 100644 examples/chat/CMakeFiles/progress.marks create mode 100644 examples/chat/Makefile create mode 100644 examples/chat/cmake_install.cmake create mode 100644 examples/chat/ixwebsocket/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/CXX.includecache create mode 100644 examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/DependInfo.cmake create mode 100644 examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/build.make create mode 100644 examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/cmake_clean.cmake create mode 100644 examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/cmake_clean_target.cmake create mode 100644 examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/depend.internal create mode 100644 examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/depend.make create mode 100644 examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/flags.make create mode 100644 examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/objects1.rsp create mode 100644 examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/progress.make create mode 100644 examples/chat/ixwebsocket/CMakeFiles/progress.marks create mode 100644 examples/chat/ixwebsocket/Makefile create mode 100644 examples/chat/ixwebsocket/cmake_install.cmake create mode 100644 ixwebsocket/.IXSocket.cpp.swp create mode 100644 ixwebsocket/.IXSocket.cpp.un~ create mode 100644 ixwebsocket/.IXSocket.h.un~ create mode 100644 ixwebsocket/IXSocket.cpp~ create mode 100644 ixwebsocket/IXSocket.h~ diff --git a/examples/chat/CMakeCache.txt b/examples/chat/CMakeCache.txt new file mode 100644 index 00000000..0144c54a --- /dev/null +++ b/examples/chat/CMakeCache.txt @@ -0,0 +1,361 @@ +# This is the CMakeCache file. +# For build in directory: c:/Users/user/Documents/GitHub/IXWebSocket/examples/chat +# It was generated by CMake: C:/Program Files/CMake/bin/cmake.exe +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_AR:FILEPATH=CMAKE_AR-NOTFOUND + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:STRING=C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.15.26726/bin/Hostx64/x64/cl.exe + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING= + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING= + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING= + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING= + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib + +//C compiler +CMAKE_C_COMPILER:STRING=C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.15.26726/bin/Hostx64/x64/cl.exe + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING= + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING= + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING= + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING= + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/cmd_websocket_chat + +//Path to a program. +CMAKE_LINKER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.15.26726/bin/Hostx64/x64/link.exe + +//Program used to build from makefiles. +CMAKE_MAKE_PROGRAM:STRING=nmake + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=CMAKE_NM-NOTFOUND + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=CMAKE_OBJCOPY-NOTFOUND + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=CMAKE_OBJDUMP-NOTFOUND + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=cmd_websocket_chat + +//RC compiler +CMAKE_RC_COMPILER:FILEPATH=C:/Program Files (x86)/Windows Kits/10/bin/10.0.17134.0/x64/rc.exe + +//Flags for Windows Resource Compiler during all build types. +CMAKE_RC_FLAGS:STRING=/DWIN32 + +//Flags for Windows Resource Compiler during DEBUG builds. +CMAKE_RC_FLAGS_DEBUG:STRING=/D_DEBUG + +//Flags for Windows Resource Compiler during MINSIZEREL builds. +CMAKE_RC_FLAGS_MINSIZEREL:STRING= + +//Flags for Windows Resource Compiler during RELEASE builds. +CMAKE_RC_FLAGS_RELEASE:STRING= + +//Flags for Windows Resource Compiler during RELWITHDEBINFO builds. +CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING= + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=CMAKE_STRIP-NOTFOUND + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Add TLS support +USE_TLS:BOOL=ON + +//Value Computed by CMake +cmd_websocket_chat_BINARY_DIR:STATIC=C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat + +//Value Computed by CMake +cmd_websocket_chat_SOURCE_DIR:STATIC=C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat + +//Value Computed by CMake +ixwebsocket_BINARY_DIR:STATIC=C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat/ixwebsocket + +//Value Computed by CMake +ixwebsocket_SOURCE_DIR:STATIC=C:/Users/user/Documents/GitHub/IXWebSocket + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=c:/Users/user/Documents/GitHub/IXWebSocket/examples/chat +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=12 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cmake.exe +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cpack.exe +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=C:/Program Files/CMake/bin/ctest.exe +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cmake-gui.exe +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=NMake Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//noop for ranlib +CMAKE_RANLIB:INTERNAL=: +//ADVANCED property for variable: CMAKE_RC_COMPILER +CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_RC_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS +CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG +CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL +CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE +CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO +CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=C:/Program Files/CMake/share/cmake-3.12 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/examples/chat/CMakeFiles/3.12.3/CMakeCCompiler.cmake b/examples/chat/CMakeFiles/3.12.3/CMakeCCompiler.cmake new file mode 100644 index 00000000..a8f9e364 --- /dev/null +++ b/examples/chat/CMakeFiles/3.12.3/CMakeCCompiler.cmake @@ -0,0 +1,73 @@ +set(CMAKE_C_COMPILER "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.15.26726/bin/Hostx64/x64/cl.exe") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "MSVC") +set(CMAKE_C_COMPILER_VERSION "19.15.26730.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_std_99;c_std_11;c_function_prototypes;c_variadic_macros") +set(CMAKE_C90_COMPILE_FEATURES "") +set(CMAKE_C99_COMPILE_FEATURES "") +set(CMAKE_C11_COMPILE_FEATURES "") + +set(CMAKE_C_PLATFORM_ID "Windows") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_SIMULATE_VERSION "") +set(CMAKE_C_COMPILER_ARCHITECTURE_ID x64) +set(MSVC_C_ARCHITECTURE_ID x64) + +set(CMAKE_AR "CMAKE_AR-NOTFOUND") +set(CMAKE_C_COMPILER_AR "") +set(CMAKE_RANLIB ":") +set(CMAKE_C_COMPILER_RANLIB "") +set(CMAKE_LINKER "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.15.26726/bin/Hostx64/x64/link.exe") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/examples/chat/CMakeFiles/3.12.3/CMakeCXXCompiler.cmake b/examples/chat/CMakeFiles/3.12.3/CMakeCXXCompiler.cmake new file mode 100644 index 00000000..cea1ee05 --- /dev/null +++ b/examples/chat/CMakeFiles/3.12.3/CMakeCXXCompiler.cmake @@ -0,0 +1,76 @@ +set(CMAKE_CXX_COMPILER "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.15.26726/bin/Hostx64/x64/cl.exe") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "MSVC") +set(CMAKE_CXX_COMPILER_VERSION "19.15.26730.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_11;cxx_std_98;cxx_aggregate_default_initializers;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_attribute_deprecated;cxx_auto_type;cxx_binary_literals;cxx_constexpr;cxx_contextual_conversions;cxx_decltype;cxx_decltype_auto;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_digit_separators;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_generic_lambdas;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_lambda_init_captures;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_return_type_deduction;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_template_template_parameters;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variable_templates;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_std_17;cxx_std_20") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_11;cxx_std_98;cxx_aggregate_default_initializers;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_attribute_deprecated;cxx_auto_type;cxx_binary_literals;cxx_constexpr;cxx_contextual_conversions;cxx_decltype;cxx_decltype_auto;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_digit_separators;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_generic_lambdas;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_lambda_init_captures;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_return_type_deduction;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_template_template_parameters;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variable_templates;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX11_COMPILE_FEATURES "") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") + +set(CMAKE_CXX_PLATFORM_ID "Windows") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_SIMULATE_VERSION "") +set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID x64) +set(MSVC_CXX_ARCHITECTURE_ID x64) + +set(CMAKE_AR "CMAKE_AR-NOTFOUND") +set(CMAKE_CXX_COMPILER_AR "") +set(CMAKE_RANLIB ":") +set(CMAKE_CXX_COMPILER_RANLIB "") +set(CMAKE_LINKER "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.15.26726/bin/Hostx64/x64/link.exe") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP) +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/examples/chat/CMakeFiles/3.12.3/CMakeDetermineCompilerABI_C.bin b/examples/chat/CMakeFiles/3.12.3/CMakeDetermineCompilerABI_C.bin new file mode 100644 index 0000000000000000000000000000000000000000..e009393c85e689e19c17daff6df1c7c7c19c4b2a GIT binary patch literal 49664 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 RJCV}v%LYaA^UtV({|`teOgR7m literal 0 HcmV?d00001 diff --git a/examples/chat/CMakeFiles/3.12.3/CMakeDetermineCompilerABI_CXX.bin b/examples/chat/CMakeFiles/3.12.3/CMakeDetermineCompilerABI_CXX.bin new file mode 100644 index 0000000000000000000000000000000000000000..8c7631977554a9217ca9ad7cef2e001e39a296ff GIT binary patch literal 49664 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 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" +# if defined(__ibmxl__) +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) +# else + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) +# endif + + +#elif defined(__ibmxl__) || (defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800) +# define COMPILER_ID "XL" +# if defined(__ibmxl__) +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) +# else + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) +# endif + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" +# if defined(__ibmxl__) +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) +# else + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) +# endif + + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__ARMCC_VERSION) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" +# if defined(_SGI_COMPILER_VERSION) + /* _SGI_COMPILER_VERSION = VRP */ +# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100) +# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10) +# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10) +# else + /* _COMPILER_VERSION = VRP */ +# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100) +# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10) +# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if !defined(__STDC__) +# if (defined(_MSC_VER) && !defined(__clang__)) \ + || (defined(__ibmxl__) || defined(__IBMC__)) +# define C_DIALECT "90" +# else +# define C_DIALECT +# endif +#elif __STDC_VERSION__ >= 201000L +# define C_DIALECT "11" +#elif __STDC_VERSION__ >= 199901L +# define C_DIALECT "99" +#else +# define C_DIALECT "90" +#endif +const char* info_language_dialect_default = + "INFO" ":" "dialect_default[" C_DIALECT "]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/examples/chat/CMakeFiles/3.12.3/CompilerIdC/CMakeCCompilerId.exe b/examples/chat/CMakeFiles/3.12.3/CompilerIdC/CMakeCCompilerId.exe new file mode 100644 index 0000000000000000000000000000000000000000..9489da8b76e3720ff1114e01221927f7abfa0499 GIT binary patch literal 105984 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 S0JTxMh;F0u7ou{b7yMsLkv>}h literal 0 HcmV?d00001 diff --git a/examples/chat/CMakeFiles/3.12.3/CompilerIdCXX/CMakeCXXCompilerId.cpp b/examples/chat/CMakeFiles/3.12.3/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 00000000..b728b632 --- /dev/null +++ b/examples/chat/CMakeFiles/3.12.3/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,602 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif + /* __INTEL_COMPILER = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" +# if defined(__ibmxl__) +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) +# else + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) +# endif + + +#elif defined(__ibmxl__) || (defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800) +# define COMPILER_ID "XL" +# if defined(__ibmxl__) +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) +# else + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) +# endif + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" +# if defined(__ibmxl__) +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) +# else + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) +# endif + + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__ARMCC_VERSION) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" +# if defined(_SGI_COMPILER_VERSION) + /* _SGI_COMPILER_VERSION = VRP */ +# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100) +# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10) +# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10) +# else + /* _COMPILER_VERSION = VRP */ +# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100) +# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10) +# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if defined(_MSC_VER) && defined(_MSVC_LANG) +#define CXX_STD _MSVC_LANG +#else +#define CXX_STD __cplusplus +#endif + +const char* info_language_dialect_default = "INFO" ":" "dialect_default[" +#if CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} diff --git a/examples/chat/CMakeFiles/3.12.3/CompilerIdCXX/CMakeCXXCompilerId.exe b/examples/chat/CMakeFiles/3.12.3/CompilerIdCXX/CMakeCXXCompilerId.exe new file mode 100644 index 0000000000000000000000000000000000000000..cddab2ffc06f7882ec777c943d4d163894ea181d GIT binary patch literal 105984 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 CMakeFiles\cmd_websocket_chat.dir\cmd_websocket_chat.cpp.i @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\cmd_websocket_chat.cpp +<< + +CMakeFiles\cmd_websocket_chat.dir\cmd_websocket_chat.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cmd_websocket_chat.dir/cmd_websocket_chat.cpp.s" + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) /FoNUL /FAs /FaCMakeFiles\cmd_websocket_chat.dir\cmd_websocket_chat.cpp.s /c C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\cmd_websocket_chat.cpp +<< + +# Object files for target cmd_websocket_chat +cmd_websocket_chat_OBJECTS = \ +"CMakeFiles\cmd_websocket_chat.dir\cmd_websocket_chat.cpp.obj" + +# External object files for target cmd_websocket_chat +cmd_websocket_chat_EXTERNAL_OBJECTS = + +cmd_websocket_chat.exe: CMakeFiles\cmd_websocket_chat.dir\cmd_websocket_chat.cpp.obj +cmd_websocket_chat.exe: CMakeFiles\cmd_websocket_chat.dir\build.make +cmd_websocket_chat.exe: ixwebsocket\ixwebsocket.lib +cmd_websocket_chat.exe: CMakeFiles\cmd_websocket_chat.dir\objects1.rsp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable cmd_websocket_chat.exe" + "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmd_websocket_chat.dir --manifests -- C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\cmd_websocket_chat.dir\objects1.rsp @<< + /out:cmd_websocket_chat.exe /implib:cmd_websocket_chat.lib /pdb:C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\cmd_websocket_chat.pdb /version:0.0 /subsystem:console ixwebsocket\ixwebsocket.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib +<< + +# Rule to build all files generated by this target. +CMakeFiles\cmd_websocket_chat.dir\build: cmd_websocket_chat.exe + +.PHONY : CMakeFiles\cmd_websocket_chat.dir\build + +CMakeFiles\cmd_websocket_chat.dir\clean: + $(CMAKE_COMMAND) -P CMakeFiles\cmd_websocket_chat.dir\cmake_clean.cmake +.PHONY : CMakeFiles\cmd_websocket_chat.dir\clean + +CMakeFiles\cmd_websocket_chat.dir\depend: + $(CMAKE_COMMAND) -E cmake_depends "NMake Makefiles" C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles\cmd_websocket_chat.dir\DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles\cmd_websocket_chat.dir\depend + diff --git a/examples/chat/CMakeFiles/cmd_websocket_chat.dir/cmake_clean.cmake b/examples/chat/CMakeFiles/cmd_websocket_chat.dir/cmake_clean.cmake new file mode 100644 index 00000000..dbdb4cba --- /dev/null +++ b/examples/chat/CMakeFiles/cmd_websocket_chat.dir/cmake_clean.cmake @@ -0,0 +1,12 @@ +file(REMOVE_RECURSE + "CMakeFiles/cmd_websocket_chat.dir/cmd_websocket_chat.cpp.obj" + "cmd_websocket_chat.pdb" + "cmd_websocket_chat.exe" + "cmd_websocket_chat.exe.manifest" + "cmd_websocket_chat.lib" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/cmd_websocket_chat.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/examples/chat/CMakeFiles/cmd_websocket_chat.dir/depend.make b/examples/chat/CMakeFiles/cmd_websocket_chat.dir/depend.make new file mode 100644 index 00000000..97f1cf10 --- /dev/null +++ b/examples/chat/CMakeFiles/cmd_websocket_chat.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cmd_websocket_chat. +# This may be replaced when dependencies are built. diff --git a/examples/chat/CMakeFiles/cmd_websocket_chat.dir/flags.make b/examples/chat/CMakeFiles/cmd_websocket_chat.dir/flags.make new file mode 100644 index 00000000..45b11592 --- /dev/null +++ b/examples/chat/CMakeFiles/cmd_websocket_chat.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "NMake Makefiles" Generator, CMake Version 3.12 + +# compile CXX with C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.15.26726/bin/Hostx64/x64/cl.exe +CXX_FLAGS = + +CXX_DEFINES = + +CXX_INCLUDES = -IC:\Users\user\Documents\GitHub\IXWebSocket\. -IC:\Users\user\Documents\GitHub\IXWebSocket\..\..\shared\OpenSSL\include + diff --git a/examples/chat/CMakeFiles/cmd_websocket_chat.dir/objects1.rsp b/examples/chat/CMakeFiles/cmd_websocket_chat.dir/objects1.rsp new file mode 100644 index 00000000..51cbe5ca --- /dev/null +++ b/examples/chat/CMakeFiles/cmd_websocket_chat.dir/objects1.rsp @@ -0,0 +1 @@ +CMakeFiles/cmd_websocket_chat.dir/cmd_websocket_chat.cpp.obj diff --git a/examples/chat/CMakeFiles/cmd_websocket_chat.dir/progress.make b/examples/chat/CMakeFiles/cmd_websocket_chat.dir/progress.make new file mode 100644 index 00000000..abadeb0c --- /dev/null +++ b/examples/chat/CMakeFiles/cmd_websocket_chat.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 + diff --git a/examples/chat/CMakeFiles/feature_tests.bin b/examples/chat/CMakeFiles/feature_tests.bin new file mode 100644 index 0000000000000000000000000000000000000000..5ee96c798cecd1a374a18445358e4862d3dcb28d GIT binary patch literal 52224 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 1600 +"1" +#else +"0" +#endif +"c_function_prototypes\n" +"C_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"c_variadic_macros\n" + +}; + +int main(int argc, char** argv) { (void)argv; return features[argc]; } diff --git a/examples/chat/CMakeFiles/feature_tests.cxx b/examples/chat/CMakeFiles/feature_tests.cxx new file mode 100644 index 00000000..11a75c24 --- /dev/null +++ b/examples/chat/CMakeFiles/feature_tests.cxx @@ -0,0 +1,398 @@ + + const char features[] = {"\n" +"CXX_FEATURE:" +#if _MSC_FULL_VER >= 190024406 +"1" +#else +"0" +#endif +"cxx_aggregate_default_initializers\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1800 +"1" +#else +"0" +#endif +"cxx_alias_templates\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_alignas\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_alignof\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_attributes\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_attribute_deprecated\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_auto_type\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_binary_literals\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_constexpr\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1800 +"1" +#else +"0" +#endif +"cxx_contextual_conversions\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_decltype\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_decltype_auto\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1911 +"1" +#else +"0" +#endif +"cxx_decltype_incomplete_return_types\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1800 +"1" +#else +"0" +#endif +"cxx_default_function_template_args\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1800 +"1" +#else +"0" +#endif +"cxx_defaulted_functions\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_defaulted_move_initializers\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1800 +"1" +#else +"0" +#endif +"cxx_delegating_constructors\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_deleted_functions\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_digit_separators\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1700 +"1" +#else +"0" +#endif +"cxx_enum_forward_declarations\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1800 +"1" +#else +"0" +#endif +"cxx_explicit_conversions\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_extended_friend_declarations\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_extern_templates\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1700 +"1" +#else +"0" +#endif +"cxx_final\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_func_identifier\n" +"CXX_FEATURE:" +#if _MSC_FULL_VER >= 180030723 +"1" +#else +"0" +#endif +"cxx_generalized_initializers\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_generic_lambdas\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_inheriting_constructors\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_inline_namespaces\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_lambdas\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_lambda_init_captures\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_local_type_template_args\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_long_long_type\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_noexcept\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_nonstatic_member_init\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_nullptr\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_override\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1700 +"1" +#else +"0" +#endif +"cxx_range_for\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1800 +"1" +#else +"0" +#endif +"cxx_raw_string_literals\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_reference_qualified_functions\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_return_type_deduction\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_right_angle_brackets\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_rvalue_references\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_sizeof_member\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_static_assert\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1700 +"1" +#else +"0" +#endif +"cxx_strong_enums\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_template_template_parameters\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_thread_local\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_trailing_return_types\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_unicode_literals\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1800 +"1" +#else +"0" +#endif +"cxx_uniform_initialization\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_unrestricted_unions\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1900 +"1" +#else +"0" +#endif +"cxx_user_literals\n" +"CXX_FEATURE:" +#if _MSC_FULL_VER >= 190023918 +"1" +#else +"0" +#endif +"cxx_variable_templates\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1600 +"1" +#else +"0" +#endif +"cxx_variadic_macros\n" +"CXX_FEATURE:" +#if _MSC_VER >= 1800 +"1" +#else +"0" +#endif +"cxx_variadic_templates\n" + +}; + +int main(int argc, char** argv) { (void)argv; return features[argc]; } diff --git a/examples/chat/CMakeFiles/progress.marks b/examples/chat/CMakeFiles/progress.marks new file mode 100644 index 00000000..7f8f011e --- /dev/null +++ b/examples/chat/CMakeFiles/progress.marks @@ -0,0 +1 @@ +7 diff --git a/examples/chat/Makefile b/examples/chat/Makefile new file mode 100644 index 00000000..11e1bc78 --- /dev/null +++ b/examples/chat/Makefile @@ -0,0 +1,230 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "NMake Makefiles" Generator, CMake Version 3.12 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF +SHELL = cmd.exe + +# The CMake executable. +CMAKE_COMMAND = "C:\Program Files\CMake\bin\cmake.exe" + +# The command to remove a file. +RM = "C:\Program Files\CMake\bin\cmake.exe" -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/local +install\local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + echo >nul && "C:\Program Files\CMake\bin\cmake.exe" -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install\local + +# Special rule for the target install/local +install\local\fast: preinstall\fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + echo >nul && "C:\Program Files\CMake\bin\cmake.exe" -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install\local\fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + echo >nul && "C:\Program Files\CMake\bin\cmake.exe" -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install\fast: preinstall\fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + echo >nul && "C:\Program Files\CMake\bin\cmake.exe" -P cmake_install.cmake +.PHONY : install\fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + echo >nul && "C:\Program Files\CMake\bin\cmake-gui.exe" -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache\fast: edit_cache + +.PHONY : edit_cache\fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + echo >nul && "C:\Program Files\CMake\bin\cmake.exe" -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache\fast: rebuild_cache + +.PHONY : rebuild_cache\fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components\fast: list_install_components + +.PHONY : list_install_components\fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles\progress.marks + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) all + $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) clean +.PHONY : clean + +# The main clean target +clean\fast: clean + +.PHONY : clean\fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall\fast: + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) preinstall +.PHONY : preinstall\fast + +# clear depends +depend: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named cmd_websocket_chat + +# Build rule for target. +cmd_websocket_chat: cmake_check_build_system + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) cmd_websocket_chat +.PHONY : cmd_websocket_chat + +# fast build rule for target. +cmd_websocket_chat\fast: + $(MAKE) -f CMakeFiles\cmd_websocket_chat.dir\build.make /nologo -$(MAKEFLAGS) CMakeFiles\cmd_websocket_chat.dir\build +.PHONY : cmd_websocket_chat\fast + +#============================================================================= +# Target rules for targets named ixwebsocket + +# Build rule for target. +ixwebsocket: cmake_check_build_system + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) ixwebsocket +.PHONY : ixwebsocket + +# fast build rule for target. +ixwebsocket\fast: + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\build +.PHONY : ixwebsocket\fast + +cmd_websocket_chat.obj: cmd_websocket_chat.cpp.obj + +.PHONY : cmd_websocket_chat.obj + +# target to build an object file +cmd_websocket_chat.cpp.obj: + $(MAKE) -f CMakeFiles\cmd_websocket_chat.dir\build.make /nologo -$(MAKEFLAGS) CMakeFiles\cmd_websocket_chat.dir\cmd_websocket_chat.cpp.obj +.PHONY : cmd_websocket_chat.cpp.obj + +cmd_websocket_chat.i: cmd_websocket_chat.cpp.i + +.PHONY : cmd_websocket_chat.i + +# target to preprocess a source file +cmd_websocket_chat.cpp.i: + $(MAKE) -f CMakeFiles\cmd_websocket_chat.dir\build.make /nologo -$(MAKEFLAGS) CMakeFiles\cmd_websocket_chat.dir\cmd_websocket_chat.cpp.i +.PHONY : cmd_websocket_chat.cpp.i + +cmd_websocket_chat.s: cmd_websocket_chat.cpp.s + +.PHONY : cmd_websocket_chat.s + +# target to generate assembly for a file +cmd_websocket_chat.cpp.s: + $(MAKE) -f CMakeFiles\cmd_websocket_chat.dir\build.make /nologo -$(MAKEFLAGS) CMakeFiles\cmd_websocket_chat.dir\cmd_websocket_chat.cpp.s +.PHONY : cmd_websocket_chat.cpp.s + +# Help Target +help: + @echo The following are some of the valid targets for this Makefile: + @echo ... all (the default if no target is provided) + @echo ... clean + @echo ... depend + @echo ... cmd_websocket_chat + @echo ... install/local + @echo ... install + @echo ... edit_cache + @echo ... rebuild_cache + @echo ... list_install_components + @echo ... ixwebsocket + @echo ... cmd_websocket_chat.obj + @echo ... cmd_websocket_chat.i + @echo ... cmd_websocket_chat.s +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/examples/chat/cmake_install.cmake b/examples/chat/cmake_install.cmake new file mode 100644 index 00000000..0f87aab7 --- /dev/null +++ b/examples/chat/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/cmd_websocket_chat") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat/cmd_websocket_chat.exe") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + include("C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat/ixwebsocket/cmake_install.cmake") + +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/examples/chat/ixwebsocket/CMakeFiles/CMakeDirectoryInformation.cmake b/examples/chat/ixwebsocket/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 00000000..303c0fe5 --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,13 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "NMake Makefiles" Generator, CMake Version 3.12 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "C:/Users/user/Documents/GitHub/IXWebSocket") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat") + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/CXX.includecache b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/CXX.includecache new file mode 100644 index 00000000..13b1600e --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/CXX.includecache @@ -0,0 +1,64 @@ +#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocket.cpp +IXSocket.h +C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocket.h +stdio.h +- +stdlib.h +- +string.h +- +assert.h +- +stdint.h +- +fcntl.h +- +sys/types.h +- +WinSock2.h +- +WS2tcpip.h +- +io.h +- +unistd.h +- +errno.h +- +netdb.h +- +netinet/tcp.h +- +sys/socket.h +- +sys/time.h +- +sys/select.h +- +sys/stat.h +- +sys/eventfd.h +- +linux/in.h +- +linux/tcp.h +- + +C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocket.h +string +- +functional +- +mutex +- +atomic +- + diff --git a/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/DependInfo.cmake b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/DependInfo.cmake new file mode 100644 index 00000000..d97db718 --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/DependInfo.cmake @@ -0,0 +1,30 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_CXX + "C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocket.cpp" "C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocket.cpp.obj" + "C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocketOpenSSL.cpp" "C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocketOpenSSL.cpp.obj" + "C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXWebSocket.cpp" "C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocket.cpp.obj" + "C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXWebSocketTransport.cpp" "C:/Users/user/Documents/GitHub/IXWebSocket/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocketTransport.cpp.obj" + ) +set(CMAKE_CXX_COMPILER_ID "MSVC") + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_CXX + "IXWEBSOCKET_USE_TLS" + ) + +# The include file search paths: +set(CMAKE_CXX_TARGET_INCLUDE_PATH + "../../." + "../../../../shared/OpenSSL/include" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/build.make b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/build.make new file mode 100644 index 00000000..b4364e18 --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/build.make @@ -0,0 +1,199 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "NMake Makefiles" Generator, CMake Version 3.12 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF +SHELL = cmd.exe + +# The CMake executable. +CMAKE_COMMAND = "C:\Program Files\CMake\bin\cmake.exe" + +# The command to remove a file. +RM = "C:\Program Files\CMake\bin\cmake.exe" -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +# Include any dependencies generated for this target. +include ixwebsocket\CMakeFiles\ixwebsocket.dir\depend.make + +# Include the progress variables for this target. +include ixwebsocket\CMakeFiles\ixwebsocket.dir\progress.make + +# Include the compile flags for this target's objects. +include ixwebsocket\CMakeFiles\ixwebsocket.dir\flags.make + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.obj: ixwebsocket\CMakeFiles\ixwebsocket.dir\flags.make +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.obj: ..\..\ixwebsocket\IXSocket.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocket.cpp.obj" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) /FoCMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.obj /FdCMakeFiles\ixwebsocket.dir\ixwebsocket.pdb /FS -c C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXSocket.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocket.cpp.i" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe > CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.i @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXSocket.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocket.cpp.s" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) /FoNUL /FAs /FaCMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.s /c C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXSocket.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.obj: ixwebsocket\CMakeFiles\ixwebsocket.dir\flags.make +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.obj: ..\..\ixwebsocket\IXWebSocket.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocket.cpp.obj" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) /FoCMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.obj /FdCMakeFiles\ixwebsocket.dir\ixwebsocket.pdb /FS -c C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXWebSocket.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocket.cpp.i" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe > CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.i @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXWebSocket.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocket.cpp.s" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) /FoNUL /FAs /FaCMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.s /c C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXWebSocket.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj: ixwebsocket\CMakeFiles\ixwebsocket.dir\flags.make +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj: ..\..\ixwebsocket\IXWebSocketTransport.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocketTransport.cpp.obj" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) /FoCMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj /FdCMakeFiles\ixwebsocket.dir\ixwebsocket.pdb /FS -c C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXWebSocketTransport.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocketTransport.cpp.i" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe > CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.i @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXWebSocketTransport.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocketTransport.cpp.s" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) /FoNUL /FAs /FaCMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.s /c C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXWebSocketTransport.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.obj: ixwebsocket\CMakeFiles\ixwebsocket.dir\flags.make +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.obj: ..\..\ixwebsocket\IXSocketOpenSSL.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocketOpenSSL.cpp.obj" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) /FoCMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.obj /FdCMakeFiles\ixwebsocket.dir\ixwebsocket.pdb /FS -c C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXSocketOpenSSL.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocketOpenSSL.cpp.i" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe > CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.i @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXSocketOpenSSL.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocketOpenSSL.cpp.s" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe @<< + /nologo /TP $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) /FoNUL /FAs /FaCMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.s /c C:\Users\user\Documents\GitHub\IXWebSocket\ixwebsocket\IXSocketOpenSSL.cpp +<< + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +# Object files for target ixwebsocket +ixwebsocket_OBJECTS = \ +"CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.obj" \ +"CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.obj" \ +"CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj" \ +"CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.obj" + +# External object files for target ixwebsocket +ixwebsocket_EXTERNAL_OBJECTS = + +ixwebsocket\ixwebsocket.lib: ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.obj +ixwebsocket\ixwebsocket.lib: ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.obj +ixwebsocket\ixwebsocket.lib: ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj +ixwebsocket\ixwebsocket.lib: ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.obj +ixwebsocket\ixwebsocket.lib: ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make +ixwebsocket\ixwebsocket.lib: ixwebsocket\CMakeFiles\ixwebsocket.dir\objects1.rsp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX static library ixwebsocket.lib" + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + $(CMAKE_COMMAND) -P CMakeFiles\ixwebsocket.dir\cmake_clean_target.cmake + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + C:\PROGRA~2\MICROS~1\2017\BUILDT~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\link.exe /lib /nologo /out:ixwebsocket.lib @CMakeFiles\ixwebsocket.dir\objects1.rsp + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +# Rule to build all files generated by this target. +ixwebsocket\CMakeFiles\ixwebsocket.dir\build: ixwebsocket\ixwebsocket.lib + +.PHONY : ixwebsocket\CMakeFiles\ixwebsocket.dir\build + +ixwebsocket\CMakeFiles\ixwebsocket.dir\clean: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + $(CMAKE_COMMAND) -P CMakeFiles\ixwebsocket.dir\cmake_clean.cmake + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat +.PHONY : ixwebsocket\CMakeFiles\ixwebsocket.dir\clean + +ixwebsocket\CMakeFiles\ixwebsocket.dir\depend: + $(CMAKE_COMMAND) -E cmake_depends "NMake Makefiles" C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat C:\Users\user\Documents\GitHub\IXWebSocket C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket\CMakeFiles\ixwebsocket.dir\DependInfo.cmake --color=$(COLOR) +.PHONY : ixwebsocket\CMakeFiles\ixwebsocket.dir\depend + diff --git a/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/cmake_clean.cmake b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/cmake_clean.cmake new file mode 100644 index 00000000..2d115139 --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/cmake_clean.cmake @@ -0,0 +1,13 @@ +file(REMOVE_RECURSE + "CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocket.cpp.obj" + "CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocket.cpp.obj" + "CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocketTransport.cpp.obj" + "CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocketOpenSSL.cpp.obj" + "ixwebsocket.pdb" + "ixwebsocket.lib" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/ixwebsocket.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/cmake_clean_target.cmake b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/cmake_clean_target.cmake new file mode 100644 index 00000000..92bda76e --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "ixwebsocket.lib" +) diff --git a/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/depend.internal b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/depend.internal new file mode 100644 index 00000000..31ce1b86 --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/depend.internal @@ -0,0 +1,20 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "NMake Makefiles" Generator, CMake Version 3.12 + +ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocket.cpp.obj + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocket.cpp + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocket.h +ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocketOpenSSL.cpp.obj + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocket.h + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocketOpenSSL.cpp + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocketOpenSSL.h +ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocket.cpp.obj + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXWebSocket.cpp + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXWebSocket.h + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXWebSocketTransport.h +ixwebsocket/CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocketTransport.cpp.obj + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocket.h + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocketAppleSSL.h + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXSocketOpenSSL.h + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXWebSocketTransport.cpp + C:/Users/user/Documents/GitHub/IXWebSocket/ixwebsocket/IXWebSocketTransport.h diff --git a/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/depend.make b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/depend.make new file mode 100644 index 00000000..8c5b3ad1 --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/depend.make @@ -0,0 +1,20 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "NMake Makefiles" Generator, CMake Version 3.12 + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.obj: ..\..\ixwebsocket\IXSocket.cpp +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.obj: ..\..\ixwebsocket\IXSocket.h + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.obj: ..\..\ixwebsocket\IXSocket.h +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.obj: ..\..\ixwebsocket\IXSocketOpenSSL.cpp +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.obj: ..\..\ixwebsocket\IXSocketOpenSSL.h + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.obj: ..\..\ixwebsocket\IXWebSocket.cpp +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.obj: ..\..\ixwebsocket\IXWebSocket.h +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.obj: ..\..\ixwebsocket\IXWebSocketTransport.h + +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj: ..\..\ixwebsocket\IXSocket.h +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj: ..\..\ixwebsocket\IXSocketAppleSSL.h +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj: ..\..\ixwebsocket\IXSocketOpenSSL.h +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj: ..\..\ixwebsocket\IXWebSocketTransport.cpp +ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj: ..\..\ixwebsocket\IXWebSocketTransport.h + diff --git a/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/flags.make b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/flags.make new file mode 100644 index 00000000..de153165 --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "NMake Makefiles" Generator, CMake Version 3.12 + +# compile CXX with C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.15.26726/bin/Hostx64/x64/cl.exe +CXX_FLAGS = + +CXX_DEFINES = -DIXWEBSOCKET_USE_TLS + +CXX_INCLUDES = -IC:\Users\user\Documents\GitHub\IXWebSocket\. -IC:\Users\user\Documents\GitHub\IXWebSocket\..\..\shared\OpenSSL\include + diff --git a/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/objects1.rsp b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/objects1.rsp new file mode 100644 index 00000000..c16536c5 --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/objects1.rsp @@ -0,0 +1 @@ +CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocket.cpp.obj CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocket.cpp.obj CMakeFiles/ixwebsocket.dir/ixwebsocket/IXWebSocketTransport.cpp.obj CMakeFiles/ixwebsocket.dir/ixwebsocket/IXSocketOpenSSL.cpp.obj diff --git a/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/progress.make b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/progress.make new file mode 100644 index 00000000..bac260a0 --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/ixwebsocket.dir/progress.make @@ -0,0 +1,6 @@ +CMAKE_PROGRESS_1 = 3 +CMAKE_PROGRESS_2 = 4 +CMAKE_PROGRESS_3 = 5 +CMAKE_PROGRESS_4 = 6 +CMAKE_PROGRESS_5 = 7 + diff --git a/examples/chat/ixwebsocket/CMakeFiles/progress.marks b/examples/chat/ixwebsocket/CMakeFiles/progress.marks new file mode 100644 index 00000000..7ed6ff82 --- /dev/null +++ b/examples/chat/ixwebsocket/CMakeFiles/progress.marks @@ -0,0 +1 @@ +5 diff --git a/examples/chat/ixwebsocket/Makefile b/examples/chat/ixwebsocket/Makefile new file mode 100644 index 00000000..9ab2f05b --- /dev/null +++ b/examples/chat/ixwebsocket/Makefile @@ -0,0 +1,348 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "NMake Makefiles" Generator, CMake Version 3.12 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF +SHELL = cmd.exe + +# The CMake executable. +CMAKE_COMMAND = "C:\Program Files\CMake\bin\cmake.exe" + +# The command to remove a file. +RM = "C:\Program Files\CMake\bin\cmake.exe" -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/local +install\local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + echo >nul && "C:\Program Files\CMake\bin\cmake.exe" -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install\local + +# Special rule for the target install/local +install\local\fast: preinstall\fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + echo >nul && "C:\Program Files\CMake\bin\cmake.exe" -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install\local\fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + echo >nul && "C:\Program Files\CMake\bin\cmake.exe" -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install\fast: preinstall\fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + echo >nul && "C:\Program Files\CMake\bin\cmake.exe" -P cmake_install.cmake +.PHONY : install\fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + echo >nul && "C:\Program Files\CMake\bin\cmake-gui.exe" -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache\fast: edit_cache + +.PHONY : edit_cache\fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + echo >nul && "C:\Program Files\CMake\bin\cmake.exe" -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache\fast: rebuild_cache + +.PHONY : rebuild_cache\fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components\fast: list_install_components + +.PHONY : list_install_components\fast + +# The main all target +all: cmake_check_build_system + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket\CMakeFiles\progress.marks + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) ixwebsocket\all + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket + $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) ixwebsocket\clean + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : clean + +# The main clean target +clean\fast: clean + +.PHONY : clean\fast + +# Prepare targets for installation. +preinstall: all + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) ixwebsocket\preinstall + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : preinstall + +# Prepare targets for installation. +preinstall\fast: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) ixwebsocket\preinstall + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : preinstall\fast + +# clear depends +depend: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 1 + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : depend + +# Convenience name for target. +ixwebsocket\CMakeFiles\ixwebsocket.dir\rule: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f CMakeFiles\Makefile2 /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\rule + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\CMakeFiles\ixwebsocket.dir\rule + +# Convenience name for target. +ixwebsocket: ixwebsocket\CMakeFiles\ixwebsocket.dir\rule + +.PHONY : ixwebsocket + +# fast build rule for target. +ixwebsocket\fast: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\build + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\fast + +ixwebsocket\IXSocket.obj: ixwebsocket\IXSocket.cpp.obj + +.PHONY : ixwebsocket\IXSocket.obj + +# target to build an object file +ixwebsocket\IXSocket.cpp.obj: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.obj + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXSocket.cpp.obj + +ixwebsocket\IXSocket.i: ixwebsocket\IXSocket.cpp.i + +.PHONY : ixwebsocket\IXSocket.i + +# target to preprocess a source file +ixwebsocket\IXSocket.cpp.i: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.i + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXSocket.cpp.i + +ixwebsocket\IXSocket.s: ixwebsocket\IXSocket.cpp.s + +.PHONY : ixwebsocket\IXSocket.s + +# target to generate assembly for a file +ixwebsocket\IXSocket.cpp.s: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocket.cpp.s + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXSocket.cpp.s + +ixwebsocket\IXSocketOpenSSL.obj: ixwebsocket\IXSocketOpenSSL.cpp.obj + +.PHONY : ixwebsocket\IXSocketOpenSSL.obj + +# target to build an object file +ixwebsocket\IXSocketOpenSSL.cpp.obj: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.obj + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXSocketOpenSSL.cpp.obj + +ixwebsocket\IXSocketOpenSSL.i: ixwebsocket\IXSocketOpenSSL.cpp.i + +.PHONY : ixwebsocket\IXSocketOpenSSL.i + +# target to preprocess a source file +ixwebsocket\IXSocketOpenSSL.cpp.i: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.i + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXSocketOpenSSL.cpp.i + +ixwebsocket\IXSocketOpenSSL.s: ixwebsocket\IXSocketOpenSSL.cpp.s + +.PHONY : ixwebsocket\IXSocketOpenSSL.s + +# target to generate assembly for a file +ixwebsocket\IXSocketOpenSSL.cpp.s: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXSocketOpenSSL.cpp.s + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXSocketOpenSSL.cpp.s + +ixwebsocket\IXWebSocket.obj: ixwebsocket\IXWebSocket.cpp.obj + +.PHONY : ixwebsocket\IXWebSocket.obj + +# target to build an object file +ixwebsocket\IXWebSocket.cpp.obj: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.obj + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXWebSocket.cpp.obj + +ixwebsocket\IXWebSocket.i: ixwebsocket\IXWebSocket.cpp.i + +.PHONY : ixwebsocket\IXWebSocket.i + +# target to preprocess a source file +ixwebsocket\IXWebSocket.cpp.i: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.i + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXWebSocket.cpp.i + +ixwebsocket\IXWebSocket.s: ixwebsocket\IXWebSocket.cpp.s + +.PHONY : ixwebsocket\IXWebSocket.s + +# target to generate assembly for a file +ixwebsocket\IXWebSocket.cpp.s: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocket.cpp.s + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXWebSocket.cpp.s + +ixwebsocket\IXWebSocketTransport.obj: ixwebsocket\IXWebSocketTransport.cpp.obj + +.PHONY : ixwebsocket\IXWebSocketTransport.obj + +# target to build an object file +ixwebsocket\IXWebSocketTransport.cpp.obj: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.obj + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXWebSocketTransport.cpp.obj + +ixwebsocket\IXWebSocketTransport.i: ixwebsocket\IXWebSocketTransport.cpp.i + +.PHONY : ixwebsocket\IXWebSocketTransport.i + +# target to preprocess a source file +ixwebsocket\IXWebSocketTransport.cpp.i: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.i + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXWebSocketTransport.cpp.i + +ixwebsocket\IXWebSocketTransport.s: ixwebsocket\IXWebSocketTransport.cpp.s + +.PHONY : ixwebsocket\IXWebSocketTransport.s + +# target to generate assembly for a file +ixwebsocket\IXWebSocketTransport.cpp.s: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(MAKE) -f ixwebsocket\CMakeFiles\ixwebsocket.dir\build.make /nologo -$(MAKEFLAGS) ixwebsocket\CMakeFiles\ixwebsocket.dir\ixwebsocket\IXWebSocketTransport.cpp.s + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : ixwebsocket\IXWebSocketTransport.cpp.s + +# Help Target +help: + @echo The following are some of the valid targets for this Makefile: + @echo ... all (the default if no target is provided) + @echo ... clean + @echo ... depend + @echo ... ixwebsocket + @echo ... install/local + @echo ... install + @echo ... edit_cache + @echo ... rebuild_cache + @echo ... list_install_components + @echo ... ixwebsocket/IXSocket.obj + @echo ... ixwebsocket/IXSocket.i + @echo ... ixwebsocket/IXSocket.s + @echo ... ixwebsocket/IXSocketOpenSSL.obj + @echo ... ixwebsocket/IXSocketOpenSSL.i + @echo ... ixwebsocket/IXSocketOpenSSL.s + @echo ... ixwebsocket/IXWebSocket.obj + @echo ... ixwebsocket/IXWebSocket.i + @echo ... ixwebsocket/IXWebSocket.s + @echo ... ixwebsocket/IXWebSocketTransport.obj + @echo ... ixwebsocket/IXWebSocketTransport.i + @echo ... ixwebsocket/IXWebSocketTransport.s +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0 + cd C:\Users\user\Documents\GitHub\IXWebSocket\examples\chat\ixwebsocket +.PHONY : cmake_check_build_system + diff --git a/examples/chat/ixwebsocket/cmake_install.cmake b/examples/chat/ixwebsocket/cmake_install.cmake new file mode 100644 index 00000000..41478189 --- /dev/null +++ b/examples/chat/ixwebsocket/cmake_install.cmake @@ -0,0 +1,34 @@ +# Install script for directory: C:/Users/user/Documents/GitHub/IXWebSocket + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/cmd_websocket_chat") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + diff --git a/ixwebsocket/.IXSocket.cpp.swp b/ixwebsocket/.IXSocket.cpp.swp new file mode 100644 index 0000000000000000000000000000000000000000..5241a5f3db02b02ffcabb0521b378629062fdd4b GIT binary patch literal 20480 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 JcK6ne{{X9UwFLkG literal 0 HcmV?d00001 diff --git a/ixwebsocket/.IXSocket.h.un~ b/ixwebsocket/.IXSocket.h.un~ new file mode 100644 index 0000000000000000000000000000000000000000..df290c8f9ff84793ec6860126c07c166dd991386 GIT binary patch literal 8082 zcmeI1&2G~`5XT)ip#&(<0tylmvJi^esI*W>B%A}E;sD~pM>#|Yl_aeK#g<~jy%O*e z9EuPhQi%i)kXJzB1vnyl;{rD%nE%?7Ow-_6c6-~Art6)xH}?EGv+MDE>&fa}=c@bN zF#mK;e7je?UcOaYTVH?l#eehs$jQ+{=KiY}og2UWv6qHnR7uA@zx}lCTMLawyX7pp zB^dXU?jp_L1X2iER-@K6t67ZZj0ayaN@50$`ir4c-2Y3WrecF`x7h==uJKdh$QZwm z(%f+UY0@$&P-OBw^DK4Gks9R{MGnIw=!XJ|IA;QVO%7hzNvU-+3yPc>kei_&1Gx$* z&>YS`b6X9ozU+F<+iv}F)1REGhUkDQN6G?>Kv#f4qk|WAQV89uLT3c%;QF(qK-af0 zOpZ4|LTb(8ED`|3IjXOr!6hlA=SiAlj+DJT&&LGq?I5%>GW-FGXNbeEypif9wpty#&if35O<4P229Ml2R02AUPvKvpuU$-5l=|D47Cys6r-Ns zux$$7ma|l}n(g*YZ)qxo3z&Iv`v48NHf$O$ypTfT!2J*f*WMcL7Jva%MQZpMfQ{Q4 zLtg`i7g9(Zz#k=GY?$QQdyN5a%lZqrd&T1byoN0tlIk!u?28*pt-)K&~+h zhom};gSitG(-$^kPP&-}Rh6Z~rvY)Kj^pU-%ndK3kT{e-Ny@lDZl>p$a&$XnLk*Cq zHnIRRX4YWYBWc<=U_UFcBSFPta6?^<2FjzuHq~6E0?`BFAwatq$~ts~XObMoAZ!*C z;cP${0S6p-sX@V`Zv_~hXLmDph7#=3I^= ze4hch%^z;U*H~~GCuIS{9!ni??3RRW9B!2;ZWBS}uq3{?h2Uhc;qCxY2V6o7sK%aWT|G9L@g!?r->l^<*W0QEJUX8-^I literal 0 HcmV?d00001 diff --git a/ixwebsocket/IXSocket.cpp b/ixwebsocket/IXSocket.cpp index 597f3bf9..c32b672d 100644 --- a/ixwebsocket/IXSocket.cpp +++ b/ixwebsocket/IXSocket.cpp @@ -16,6 +16,9 @@ #ifdef _WIN32 # include +# include +#pragma comment(lib, "ws2_32") +# include #else # include # include @@ -70,9 +73,9 @@ namespace ix #endif } - bool connectToAddress(const struct addrinfo *address, - int& sockfd, - std::string& errMsg) + bool Socket::connectToAddress(const struct addrinfo *address, + int& sockfd, + std::string& errMsg) { sockfd = -1; @@ -98,7 +101,7 @@ namespace ix if (errno != EINTR) break; } - ::close(fd); + closeSocket(fd); sockfd = -1; errMsg = strerror(errno); return false; @@ -223,7 +226,7 @@ namespace ix if (_sockfd == -1) return; - ::close(_sockfd); + closeSocket(_sockfd); _sockfd = -1; } @@ -258,6 +261,15 @@ namespace ix return WSAGetLastError(); #else return errno; +#endif + } + + void Socket::closeSocket(int fd) + { +#ifdef _WIN32 + closesocket(fd); +#else + ::close(fd); #endif } } diff --git a/ixwebsocket/IXSocket.cpp~ b/ixwebsocket/IXSocket.cpp~ new file mode 100644 index 00000000..83f4c1bc --- /dev/null +++ b/ixwebsocket/IXSocket.cpp~ @@ -0,0 +1,274 @@ +/* + * IXSocket.cpp + * Author: Benjamin Sergeant + * Copyright (c) 2017-2018 Machine Zone, Inc. All rights reserved. + */ + +#include "IXSocket.h" + +#include +#include +#include +#include +#include +#include +#include + +#ifdef _WIN32 +# include +# include +#pragma comment(lib, "ws2_32") +#else +# include +# include +# include +# include +# include +# include +# include +# include +#endif + +// +// Linux/Android has a special type of virtual files. select(2) will react +// when reading/writing to those files, unlike closing sockets. +// +// https://linux.die.net/man/2/eventfd +// +// eventfd was added in Linux kernel 2.x, and our oldest Android (Kitkat 4.4) +// is on Kernel 3.x +// +// cf Android/Kernel table here +// https://android.stackexchange.com/questions/51651/which-android-runs-which-linux-kernel +// +#ifdef __linux__ +# include +#endif + +// Android needs extra headers for TCP_NODELAY and IPPROTO_TCP +#ifdef ANDROID +# include +# include +#endif + +namespace ix +{ + Socket::Socket() : + _sockfd(-1), + _eventfd(-1) + { +#ifdef __linux__ + _eventfd = eventfd(0, 0); + assert(_eventfd != -1 && "Panic - eventfd not functioning on this platform"); +#endif + } + + Socket::~Socket() + { + close(); + +#ifdef __linux__ + ::close(_eventfd); +#endif + } + + bool Socket::connectToAddress(const struct addrinfo *address, + int& sockfd, + std::string& errMsg) + { + sockfd = -1; + + int fd = socket(address->ai_family, + address->ai_socktype, + address->ai_protocol); + if (fd < 0) + { + errMsg = "Cannot create a socket"; + return false; + } + + int maxRetries = 3; + for (int i = 0; i < maxRetries; ++i) + { + if (connect(fd, address->ai_addr, address->ai_addrlen) != -1) + { + sockfd = fd; + return true; + } + + // EINTR means we've been interrupted, in which case we try again. + if (errno != EINTR) break; + } + + closeSocket(fd); + sockfd = -1; + errMsg = strerror(errno); + return false; + } + + int Socket::hostname_connect(const std::string& hostname, + int port, + std::string& errMsg) + { + struct addrinfo hints; + memset(&hints, 0, sizeof(hints)); + hints.ai_flags = AI_ADDRCONFIG | AI_NUMERICSERV; + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + + std::string sport = std::to_string(port); + + struct addrinfo *res = nullptr; + int getaddrinfo_result = getaddrinfo(hostname.c_str(), sport.c_str(), + &hints, &res); + if (getaddrinfo_result) + { + errMsg = gai_strerror(getaddrinfo_result); + return -1; + } + + int sockfd = -1; + + // iterate through the records to find a working peer + struct addrinfo *address; + bool success = false; + for (address = res; address != nullptr; address = address->ai_next) + { + success = connectToAddress(address, sockfd, errMsg); + if (success) + { + break; + } + } + freeaddrinfo(res); + return sockfd; + } + + void Socket::configure() + { + int flag = 1; + setsockopt(_sockfd, IPPROTO_TCP, TCP_NODELAY, (char*) &flag, sizeof(flag)); // Disable Nagle's algorithm + fcntl(_sockfd, F_SETFL, O_NONBLOCK); // make socket non blocking + +#ifdef SO_NOSIGPIPE + int value = 1; + setsockopt(_sockfd, SOL_SOCKET, SO_NOSIGPIPE, + (void *)&value, sizeof(value)); +#endif + } + + void Socket::poll(const OnPollCallback& onPollCallback) + { + if (_sockfd == -1) + { + onPollCallback(); + return; + } + + fd_set rfds; + FD_ZERO(&rfds); + FD_SET(_sockfd, &rfds); + +#ifdef __linux__ + FD_SET(_eventfd, &rfds); +#endif + + int sockfd = _sockfd; + int nfds = std::max(sockfd, _eventfd); + select(nfds + 1, &rfds, nullptr, nullptr, nullptr); + + onPollCallback(); + } + + void Socket::wakeUpFromPollApple() + { + close(); // All OS but Linux will wake up select + // when closing the file descriptor watched by select + } + + void Socket::wakeUpFromPollLinux() + { + std::string str("\n"); // this will wake up the thread blocked on select + const void* buf = reinterpret_cast(str.c_str()); + write(_eventfd, buf, str.size()); + } + + void Socket::wakeUpFromPoll() + { +#ifdef __APPLE__ + wakeUpFromPollApple(); +#elif defined(__linux__) + wakeUpFromPollLinux(); +#endif + } + + bool Socket::connect(const std::string& host, + int port, + std::string& errMsg) + { + std::lock_guard lock(_socketMutex); + +#ifdef __linux__ + if (_eventfd == -1) + { + return false; // impossible to use this socket if eventfd is broken + } +#endif + + _sockfd = Socket::hostname_connect(host, port, errMsg); + return _sockfd != -1; + } + + void Socket::close() + { + std::lock_guard lock(_socketMutex); + + if (_sockfd == -1) return; + + closeSocket(_sockfd); + _sockfd = -1; + } + + int Socket::send(char* buffer, size_t length) + { + int flags = 0; +#ifdef MSG_NOSIGNAL + flags = MSG_NOSIGNAL; +#endif + + return (int) ::send(_sockfd, buffer, length, flags); + } + + int Socket::send(const std::string& buffer) + { + return send((char*)&buffer[0], buffer.size()); + } + + int Socket::recv(void* buffer, size_t length) + { + int flags = 0; +#ifdef MSG_NOSIGNAL + flags = MSG_NOSIGNAL; +#endif + + return (int) ::recv(_sockfd, buffer, length, flags); + } + + int Socket::getErrno() const + { +#ifdef _WIN32 + return WSAGetLastError(); +#else + return errno; +#endif + } + + void Socket::closeSocket(int fd) + { +#ifdef _WIN32 + closesocket(fd); +#else + ::close(fd); +#endif + } +} diff --git a/ixwebsocket/IXSocket.h b/ixwebsocket/IXSocket.h index 9dff2d93..6e58fc44 100644 --- a/ixwebsocket/IXSocket.h +++ b/ixwebsocket/IXSocket.h @@ -11,6 +11,8 @@ #include #include +struct addrinfo; + namespace ix { class Socket { @@ -44,6 +46,11 @@ namespace ix void wakeUpFromPollApple(); void wakeUpFromPollLinux(); + void closeSocket(int fd); + bool connectToAddress(const struct addrinfo *address, + int& sockfd, + std::string& errMsg); + std::atomic _sockfd; int _eventfd; std::mutex _socketMutex; diff --git a/ixwebsocket/IXSocket.h~ b/ixwebsocket/IXSocket.h~ new file mode 100644 index 00000000..772a0df3 --- /dev/null +++ b/ixwebsocket/IXSocket.h~ @@ -0,0 +1,59 @@ +/* + * IXSocket.h + * Author: Benjamin Sergeant + * Copyright (c) 2017-2018 Machine Zone, Inc. All rights reserved. + */ + +#pragma once + +#include +#include +#include +#include + +struct addrinfo*; + +namespace ix +{ + class Socket { + public: + using OnPollCallback = std::function; + + Socket(); + virtual ~Socket(); + + static int hostname_connect(const std::string& hostname, + int port, + std::string& errMsg); + void configure(); + + virtual void poll(const OnPollCallback& onPollCallback); + virtual void wakeUpFromPoll(); + + // Virtual methods + virtual bool connect(const std::string& url, + int port, + std::string& errMsg); + virtual void close(); + + virtual int send(char* buffer, size_t length); + virtual int send(const std::string& buffer); + virtual int recv(void* buffer, size_t length); + + int getErrno() const; + + protected: + void wakeUpFromPollApple(); + void wakeUpFromPollLinux(); + + void closeSocket(int fd); + bool connectToAddress(const struct addrinfo *address, + int& sockfd, + std::string& errMsg); + + std::atomic _sockfd; + int _eventfd; + std::mutex _socketMutex; + }; + +}