diff --git a/.gitignore b/.gitignore index 2f9d10f06..696a274f5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ build/ /tags /bazel-* +/.vs +/.out diff --git a/_prj_msvc/props/umba_3dp_boost.props b/_prj_msvc/props/umba_3dp_boost.props new file mode 100644 index 000000000..027ee8423 --- /dev/null +++ b/_prj_msvc/props/umba_3dp_boost.props @@ -0,0 +1,6 @@ + + + $(BOOST_1_75_0_ROOT) + $(BOOST)\stage\lib + + diff --git a/_prj_msvc/props/umba_3dp_jinja2cpp.props b/_prj_msvc/props/umba_3dp_jinja2cpp.props new file mode 100644 index 000000000..f8cdd4217 --- /dev/null +++ b/_prj_msvc/props/umba_3dp_jinja2cpp.props @@ -0,0 +1,16 @@ + + + + + + + + $(JINJA2CPP_BUILT_ROOT)\$(UMBA_TOOLSET_PLATFORM_CONFIG_ROOT) + $(JINJA2CPP_TOOLSET_PLATFORM_CONFIG_ROOT)\include + $(JINJA2CPP_TOOLSET_PLATFORM_CONFIG_ROOT)\lib;$(JINJA2CPP_TOOLSET_PLATFORM_CONFIG_ROOT)\lib\static + + + diff --git a/_prj_msvc/props/umba_3dp_llvm.props b/_prj_msvc/props/umba_3dp_llvm.props new file mode 100644 index 000000000..9f2f6f5fd --- /dev/null +++ b/_prj_msvc/props/umba_3dp_llvm.props @@ -0,0 +1,45 @@ + + + + + + $(UMBA_MSVCVER) + + + + $(UMBA_LLVM_BUILT_ROOT)\$(UMBA_LLVM_TOOLSET) + + + + + $(LLVM_LIB_ROOT)\$(PlatformShortName)\include;$(LLVM_LIB_ROOT)\$(PlatformShortName)\tools\clang\include + + + + + $(UMBA_LLVM_PROJECT_ROOT)\llvm\include;$(UMBA_LLVM_PROJECT_ROOT)\clang\include;$(UMBA_LLVM_CLANG_TOOLSET_PLATFORM_CONFIG_ARTIFACTS_INC) + $(UMBA_LLVM_PROJECT_ROOT)\clang-tools-extra + $(LLVM_LIB_ROOT)\$(PlatformShortName)\$(Configuration)\lib + $(LLVM_LIB_ROOT)\$(PlatformShortName)\$(Configuration)\bin + + + diff --git a/_prj_msvc/props/umba_3dp_qtdir.props b/_prj_msvc/props/umba_3dp_qtdir.props new file mode 100644 index 000000000..8fc51d7fc --- /dev/null +++ b/_prj_msvc/props/umba_3dp_qtdir.props @@ -0,0 +1,51 @@ + + + + $(MSVC2017_QTROOT)\msvc2017 + + + $(MSVC2019_QTROOT)\msvc2017 + + + + $(UMBA_QT_ROOT)\msvc2017 + + + $(UMBA_QT_ROOT)\msvc2017 + + + $(UMBA_QT_ROOT)\msvc2017_64 + + + $(UMBA_QT_ROOT)\msvc2017_64 + + + + $(QTDIR)\bin + $(QTDIR)\bin + $(QTDIR)\lib + $(QTDIR)\include + + + + + $(MSVC2017_QWT_ROOT) + + + $(QWT_ROOT_PATH) + + $(QWT_ROOT_PATH)\$(PlatformShortName)\lib + $(QWT_ROOT_PATH)\$(PlatformShortName)\lib + $(QWT_ROOT_PATH)\$(PlatformShortName)\include + + + $(QWT_LIB_PATH) + $(QWT_INC_PATH) + + + + + PATH=$(QWT_DLL_PATH);$(QT_DLL_PATH);$(PATH);$(LocalDebuggerEnvironment) + + + diff --git a/_prj_msvc/props/umba_common.props b/_prj_msvc/props/umba_common.props new file mode 100644 index 000000000..af1a05324 --- /dev/null +++ b/_prj_msvc/props/umba_common.props @@ -0,0 +1,19 @@ + + + + + + + + + + + $(PlatformShortName)\$(Configuration) + + + + $(UMBA_MSVCVER)\$(UMBA_PLATFORM_CONFIG_ROOT) + + + + diff --git a/_prj_msvc/props/umba_config_matrix_common.props b/_prj_msvc/props/umba_config_matrix_common.props new file mode 100644 index 000000000..7702a77d3 --- /dev/null +++ b/_prj_msvc/props/umba_config_matrix_common.props @@ -0,0 +1,54 @@ + + + + + UNICODE;_UNICODE;WIN32;WIN64;%(PreprocessorDefinitions) + Disabled + ProgramDatabase + MultiThreadedDebugDLL + + + true + true + + + + + + UNICODE;_UNICODE;WIN32;%(PreprocessorDefinitions) + Disabled + ProgramDatabase + MultiThreadedDebugDLL + + + true + true + + + + + + UNICODE;_UNICODE;WIN32;WIN64;NDEBUG;%(PreprocessorDefinitions) + + MultiThreadedDLL + + + false + true + + + + + + UNICODE;_UNICODE;WIN32;NDEBUG;%(PreprocessorDefinitions) + + + MultiThreadedDLL + + + false + true + + + + diff --git a/_prj_msvc/props/umba_config_matrix_qt.props b/_prj_msvc/props/umba_config_matrix_qt.props new file mode 100644 index 000000000..edb020cb7 --- /dev/null +++ b/_prj_msvc/props/umba_config_matrix_qt.props @@ -0,0 +1,33 @@ + + + + + + + UNICODE;_UNICODE;WIN32;WIN64;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories);$(ProjectDir)\..\.. + + + + + + UNICODE;_UNICODE;WIN32;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + + + + + + UNICODE;_UNICODE;WIN32;WIN64;NDEBUG;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + + + + + + UNICODE;_UNICODE;WIN32;NDEBUG;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + + + + diff --git a/_prj_msvc/props/umba_local_common_prjdirs.props b/_prj_msvc/props/umba_local_common_prjdirs.props new file mode 100644 index 000000000..bc3c91a44 --- /dev/null +++ b/_prj_msvc/props/umba_local_common_prjdirs.props @@ -0,0 +1,19 @@ + + + + + $(ProjectDir)\..\_libs + $(UMBA_LOCAL_LIBS_ROOT)\pretty_headers;$(UMBA_LOCAL_LIBS_ROOT)\_pretty_headers;$(UMBA_LOCAL_LIBS_ROOT)\std_headers;$(UMBA_LOCAL_LIBS_ROOT)\_std_headers;$(UMBA_LOCAL_LIBS_ROOT)\qt_headers;$(UMBA_LOCAL_LIBS_ROOT)\_qt_headers;$(UMBA_LOCAL_LIBS_ROOT)\qt5_headers;$(UMBA_LOCAL_LIBS_ROOT)\_qt5_headers;$(UMBA_LOCAL_LIBS_ROOT)\qt6_headers;$(UMBA_LOCAL_LIBS_ROOT)\_qt6_headers + $(UMBA_LOCAL_LIBS_ROOT);$(UMBA_LOCAL_PRETTY_HEADERS);$(ProjectDir)\..\src;$(UMBA_LOCAL_LIBS_ROOT)\sfmt\inc;$(UMBA_LOCAL_LIBS_ROOT)\mem_pools\inc + + $(SolutionDir)\.out\$(UMBA_TOOLSET_PLATFORM_CONFIG_ROOT) + + + + + $(UMBA_OUTDIR)\ + $(UMBA_OUTDIR)\_$(ProjectName)\ + + + + diff --git a/_prj_msvc/props/umba_msvcver.props b/_prj_msvc/props/umba_msvcver.props new file mode 100644 index 000000000..ee5c1823c --- /dev/null +++ b/_prj_msvc/props/umba_msvcver.props @@ -0,0 +1,24 @@ + + + + msvc_$(VisualStudioVersion) + + + + msvc2017 + 10.0.16299.0 + v141 + + + + msvc2019 + 10.0 + v142 + + + + msvc2022 + v143 + + + diff --git a/_prj_msvc/props/umba_project_configurations.props b/_prj_msvc/props/umba_project_configurations.props new file mode 100644 index 000000000..5df3f6644 --- /dev/null +++ b/_prj_msvc/props/umba_project_configurations.props @@ -0,0 +1,37 @@ + + + + + + Debug + Win32 + + + + Debug + x64 + + + + Release + Win32 + + + + Release + x64 + + + + RelWithDebInfo + Win32 + + + + MinSizeRel + x64 + + + + + diff --git a/_prj_msvc/props/umba_qt_common.props b/_prj_msvc/props/umba_qt_common.props new file mode 100644 index 000000000..aacc381d4 --- /dev/null +++ b/_prj_msvc/props/umba_qt_common.props @@ -0,0 +1,19 @@ + + + + + + $(UMBA_OUTDIR)\_$(ProjectName)\GeneratedFiles + + + + + $(QT_GENERATED_PATH);$(QT_INC_PATH);%(AdditionalIncludeDirectories) + + + STRICT;WIN32_LEAN_AND_MEAN;USE_UMBA_LOUT_COUT;%(PreprocessorDefinitions) + $(UMBA_INC_DIRS);$(QT_GENERATED_PATH);$(QT_INC_PATH);%(AdditionalIncludeDirectories) + + + + diff --git a/_prj_msvc/props/umba_stdcpp14.props b/_prj_msvc/props/umba_stdcpp14.props new file mode 100644 index 000000000..fb9a532f0 --- /dev/null +++ b/_prj_msvc/props/umba_stdcpp14.props @@ -0,0 +1,9 @@ + + + + + stdcpp14 + + + + diff --git a/_prj_msvc/props/umba_stdcpp17.props b/_prj_msvc/props/umba_stdcpp17.props new file mode 100644 index 000000000..45738a5ec --- /dev/null +++ b/_prj_msvc/props/umba_stdcpp17.props @@ -0,0 +1,9 @@ + + + + + stdcpp17 + + + + diff --git a/_prj_msvc/props/umba_stdcpp20.props b/_prj_msvc/props/umba_stdcpp20.props new file mode 100644 index 000000000..ef70efad1 --- /dev/null +++ b/_prj_msvc/props/umba_stdcpp20.props @@ -0,0 +1,9 @@ + + + + + stdcpp20 + + + + diff --git a/_prj_msvc/props/umba_target_console.props b/_prj_msvc/props/umba_target_console.props new file mode 100644 index 000000000..c139f4ac2 --- /dev/null +++ b/_prj_msvc/props/umba_target_console.props @@ -0,0 +1,19 @@ + + + + Application + + + + + USE_UMBA_LOUT_COUT;%(PreprocessorDefinitions) + + + Console + $(OutDir)\$(ProjectName).exe + $(OutDir);%(AdditionalLibraryDirectories) + %(AdditionalDependencies) + + + + diff --git a/_prj_msvc/props/umba_target_lib_static.props b/_prj_msvc/props/umba_target_lib_static.props new file mode 100644 index 000000000..8043a197d --- /dev/null +++ b/_prj_msvc/props/umba_target_lib_static.props @@ -0,0 +1,19 @@ + + + + StaticLibrary + + + + + %(PreprocessorDefinitions) + + + Console + $(OutDir)\$(ProjectName).lib + $(OutDir);%(AdditionalLibraryDirectories) + %(AdditionalDependencies) + + + + diff --git a/_prj_msvc/props/umba_target_utility.props b/_prj_msvc/props/umba_target_utility.props new file mode 100644 index 000000000..4df5dbb87 --- /dev/null +++ b/_prj_msvc/props/umba_target_utility.props @@ -0,0 +1,16 @@ + + + + Utility + + + + + Console + $(OutDir)\$(ProjectName) + $(OutDir);%(AdditionalLibraryDirectories) + %(AdditionalDependencies) + + + + diff --git a/_prj_msvc/umba_prjdefs.props b/_prj_msvc/umba_prjdefs.props new file mode 100644 index 000000000..63a2e5223 --- /dev/null +++ b/_prj_msvc/umba_prjdefs.props @@ -0,0 +1,15 @@ + + + + + + + YAML_CPP_STATIC_DEFINE;%(PreprocessorDefinitions) + + + %(AdditionalLibraryDirectories) + %(AdditionalDependencies) + + + + diff --git a/_prj_msvc/umba_prjdirs.props b/_prj_msvc/umba_prjdirs.props new file mode 100644 index 000000000..468000bca --- /dev/null +++ b/_prj_msvc/umba_prjdirs.props @@ -0,0 +1,22 @@ + + + + + + + + + + + $(ProjectDir)\.. + $(YAML_CPP_ROOT)\include + + $(YAML_CPP_INC) + $(UMBA_LOCAL_INC_DIRS);$(UMBA_INC_DIRS_EXTRA) + + + $(UMBA_LOCAL_LIB_DIRS);$(UMBA_INC_DIRS_EXTRA) + + + + diff --git a/_prj_msvc/yaml-cpp.vcxproj b/_prj_msvc/yaml-cpp.vcxproj new file mode 100644 index 000000000..ae13ce6e4 --- /dev/null +++ b/_prj_msvc/yaml-cpp.vcxproj @@ -0,0 +1,36 @@ + + + + + {5E9F7FDF-0402-4004-98FD-01852CF7477E} + + + + + + + + + + + + + + $(VC_IncludePath);$(WindowsSDK_IncludePath);$(UMBA_INC_DIRS) + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_prj_msvc/yaml-cpp.vcxproj.user b/_prj_msvc/yaml-cpp.vcxproj.user new file mode 100644 index 000000000..88a550947 --- /dev/null +++ b/_prj_msvc/yaml-cpp.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/_prj_msvc/yaml_cpp.props b/_prj_msvc/yaml_cpp.props new file mode 100644 index 000000000..b4db9de94 --- /dev/null +++ b/_prj_msvc/yaml_cpp.props @@ -0,0 +1,44 @@ + + + + + YAML_CPP_STATIC_DEFINE;%(PreprocessorDefinitions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gen-msvc2017-sln.bat b/gen-msvc2017-sln.bat new file mode 100644 index 000000000..b62806fbf --- /dev/null +++ b/gen-msvc2017-sln.bat @@ -0,0 +1,4 @@ +umba-subst-macros --overwrite --raw ^ +--set="Visual Studio Version 16:Visual Studio 15" ^ +--set="VisualStudioVersion = 16.:VisualStudioVersion = 15" ^ +yaml-cpp-msvc2019.sln yaml-cpp-msvc2017.sln diff --git a/src/contrib/dragonbox.h b/src/contrib/dragonbox.h index 499a1576e..2a9552000 100644 --- a/src/contrib/dragonbox.h +++ b/src/contrib/dragonbox.h @@ -937,9 +937,16 @@ namespace jkj { return false; } + // https://github.com/jbeder/yaml-cpp/pull/1364/files + template