update spdlog
This commit is contained in:
		
							
								
								
									
										112
									
								
								third_party/spdlog/meson.build
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										112
									
								
								third_party/spdlog/meson.build
									
									
									
									
										vendored
									
									
								
							| @@ -1,12 +1,12 @@ | ||||
| project('spdlog', ['cpp'], | ||||
|   license         : 'MIT', | ||||
|   version         : run_command(find_program('scripts/extract_version.py')).stdout().strip(), | ||||
|   default_options : [ | ||||
|     license         : 'MIT', | ||||
|     version         : run_command(find_program('scripts/extract_version.py')).stdout().strip(), | ||||
|     default_options : [ | ||||
|     'warning_level=3', | ||||
|     'cpp_std=c++11', | ||||
|     'buildtype=release', | ||||
|     'b_colorout=always', | ||||
|   ], | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| # ------------------------ | ||||
| @@ -20,17 +20,57 @@ dep_list += dependency('threads') | ||||
|  | ||||
| # Check for FMT | ||||
| if get_option('external_fmt') | ||||
|   if not meson.version().version_compare('>=0.49.0') | ||||
|     warning('Finding fmt can fail wit meson versions before 0.49.0') | ||||
|   endif | ||||
|   dep_list     += dependency('fmt') | ||||
|   compile_args += '-DSPDLOG_FMT_EXTERNAL' | ||||
|     if not meson.version().version_compare('>=0.49.0') | ||||
|     warning('Finding fmt can fail with meson versions before 0.49.0') | ||||
|     endif | ||||
|     dep_list     += dependency('fmt') | ||||
|     compile_args += '-DSPDLOG_FMT_EXTERNAL' | ||||
| endif | ||||
|  | ||||
| if get_option('no_exceptions') | ||||
|   compile_args += '-DSPDLOG_NO_EXCEPTIONS' | ||||
| endif | ||||
|  | ||||
| if get_option('wchar_support') | ||||
|     if build_machine.system() != 'windows' | ||||
|         error('wchar_support only supported under windows') | ||||
|     endif | ||||
|     compile_args += '-DSPDLOG_WCHAR_TO_UTF8_SUPPORT' | ||||
| endif | ||||
|  | ||||
| if get_option('wchar_filenames') | ||||
|     if build_machine.system() != 'windows' | ||||
|         error('wchar_filenames only supported under windows') | ||||
|     endif | ||||
|       compile_args += '-DSPDLOG_WCHAR_FILENAMES' | ||||
| endif | ||||
|  | ||||
| if get_option('clock_coarse') | ||||
|     if build_machine.system() != 'linux' | ||||
|         error('clock_coarse only supported under linux') | ||||
|     endif | ||||
|     compile_args += '-DSPDLOG_CLOCK_COARSE' | ||||
| endif | ||||
|  | ||||
| if get_option('prevent_child_fd') | ||||
|     compile_args += '-DSPDLOG_PREVENT_CHILD_FD' | ||||
| endif | ||||
|  | ||||
| if get_option('no_thread_id') | ||||
|     compile_args += '-DSPDLOG_NO_THREAD_ID' | ||||
| endif | ||||
|  | ||||
| if get_option('no_tls') | ||||
|     compile_args += '-DSPDLOG_NO_TLS' | ||||
| endif | ||||
|  | ||||
| if get_option('no_atomic_levels') | ||||
|     compile_args += '-DSPDLOG_NO_ATOMIC_LEVELS' | ||||
| endif | ||||
|  | ||||
| compile_args_compiled = compile_args + ['-DSPDLOG_COMPILED_LIB'] | ||||
| compile_args_ho = compile_args | ||||
|  | ||||
| # ------------------------------------ | ||||
| # ---   Compiled library version   --- | ||||
| # ------------------------------------ | ||||
| @@ -41,47 +81,50 @@ spdlog_srcs = files([ | ||||
|     'src/async.cpp', | ||||
|     'src/color_sinks.cpp', | ||||
|     'src/file_sinks.cpp', | ||||
|     'src/fmt.cpp', | ||||
|     'src/spdlog.cpp', | ||||
|     'src/stdout_sinks.cpp' | ||||
| ]) | ||||
|  | ||||
| if not get_option('external_fmt') | ||||
|     spdlog_srcs+= 'src/fmt.cpp' | ||||
| endif | ||||
|  | ||||
| if get_option('library_type') == 'static' | ||||
|   spdlog = static_library( | ||||
|     spdlog = static_library( | ||||
|     'spdlog', | ||||
|     spdlog_srcs, | ||||
|     cpp_args            : [compile_args] + ['-DSPDLOG_COMPILED_LIB'], | ||||
|     cpp_args            : compile_args_compiled, | ||||
|     include_directories : spdlog_inc, | ||||
|     dependencies        : dep_list, | ||||
|     install             : not meson.is_subproject() | ||||
|     ) | ||||
| else | ||||
|   spdlog = shared_library('spdlog', | ||||
|     spdlog = shared_library('spdlog', | ||||
|     spdlog_srcs, | ||||
|     cpp_args            : [compile_args] + ['-DSPDLOG_COMPILED_LIB'], | ||||
|     cpp_args            : compile_args_compiled, | ||||
|     include_directories : spdlog_inc, | ||||
|     dependencies        : dep_list, | ||||
|     install             : not meson.is_subproject(), | ||||
|   ) | ||||
|     version             : meson.project_version(), | ||||
|     ) | ||||
| endif | ||||
|  | ||||
| spdlog_dep = declare_dependency( | ||||
|   link_with           : spdlog, | ||||
|   include_directories : spdlog_inc, | ||||
|   compile_args        : compile_args + ['-DSPDLOG_COMPILED_LIB'], | ||||
|   dependencies        : dep_list, | ||||
|   version             : meson.project_version(), | ||||
|       link_with           : spdlog, | ||||
|       include_directories : spdlog_inc, | ||||
|       compile_args        : compile_args_compiled, | ||||
|       dependencies        : dep_list, | ||||
|       version             : meson.project_version(), | ||||
| ) | ||||
|  | ||||
| # ---------------------------------- | ||||
| # ---   Header only dependency   --- | ||||
| # ---------------------------------- | ||||
|  | ||||
| spdlog_headeronly_dep = declare_dependency( | ||||
|   include_directories : spdlog_inc, | ||||
|   compile_args        : compile_args, | ||||
|   dependencies        : dep_list, | ||||
|   version             : meson.project_version(), | ||||
|     include_directories : spdlog_inc, | ||||
|     compile_args        : compile_args_ho, | ||||
|     dependencies        : dep_list, | ||||
|     version             : meson.project_version(), | ||||
| ) | ||||
|  | ||||
| # ------------------------ | ||||
| @@ -90,31 +133,31 @@ spdlog_headeronly_dep = declare_dependency( | ||||
|  | ||||
| # Do not install when spdlog is used as a subproject | ||||
| if not meson.is_subproject() | ||||
|   install_subdir('include/spdlog', install_dir: get_option('includedir')) | ||||
|     install_subdir('include/spdlog', install_dir: get_option('includedir')) | ||||
|  | ||||
|   pkg = import('pkgconfig') | ||||
|   pkg.generate(spdlog, | ||||
|     pkg = import('pkgconfig') | ||||
|     pkg.generate(spdlog, | ||||
|     name         : 'spdlog', | ||||
|     description  : 'Fast C++ logging library', | ||||
|     url          : 'https://github.com/gabime/spdlog', | ||||
|     extra_cflags : ['-DSPDLOG_COMPILED_LIB'] | ||||
|   ) | ||||
|     extra_cflags : compile_args_compiled | ||||
|     ) | ||||
| endif | ||||
|  | ||||
| # ------------------------------------- | ||||
| # ---   Conditionally add subdirs   --- | ||||
| # ------------------------------------- | ||||
|  | ||||
| if get_option('enable_tests') | ||||
|   subdir('tests') | ||||
| if get_option('enable_tests') or get_option('enable_tests-ho') | ||||
|     subdir('tests') | ||||
| endif | ||||
|  | ||||
| if get_option('enable_examples') | ||||
|   subdir('example') | ||||
|     subdir('example') | ||||
| endif | ||||
|  | ||||
| if get_option('enable_benchmarks') | ||||
|   subdir('bench') | ||||
|     subdir('bench') | ||||
| endif | ||||
|  | ||||
| # ------------------- | ||||
| @@ -122,7 +165,6 @@ endif | ||||
| # ------------------- | ||||
|  | ||||
| summary_str = '''spdlog build summary: | ||||
|  | ||||
|   - using external fmt:  @0@ | ||||
|   - building tests:      @1@ | ||||
|   - building examples:   @2@ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user