mirror of
https://github.com/lifegpc/c-utils.git
synced 2026-06-06 05:08:45 +08:00
Enable stdc++17 by default
This commit is contained in:
@@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 3.17)
|
|||||||
|
|
||||||
option(ENABLE_ICONV "Use libiconv to convert encoding" ON)
|
option(ENABLE_ICONV "Use libiconv to convert encoding" ON)
|
||||||
option(ENABLE_STANDALONE "Build utils standalone" OFF)
|
option(ENABLE_STANDALONE "Build utils standalone" OFF)
|
||||||
option(ENABLE_CXX17 "Enable C++ 17" OFF)
|
|
||||||
option(INSTALL_DEP_FILES "Install a file with dependences." OFF)
|
option(INSTALL_DEP_FILES "Install a file with dependences." OFF)
|
||||||
option(ENABLE_SSL "Enable SSL" OFF)
|
option(ENABLE_SSL "Enable SSL" OFF)
|
||||||
option(ENABLE_ZLIB "Use Zlib to uncompress http data." OFF)
|
option(ENABLE_ZLIB "Use Zlib to uncompress http data." OFF)
|
||||||
@@ -186,9 +185,7 @@ endif()
|
|||||||
if (ENABLE_ZLIB)
|
if (ENABLE_ZLIB)
|
||||||
target_link_libraries(utils ZLIB::ZLIB)
|
target_link_libraries(utils ZLIB::ZLIB)
|
||||||
endif()
|
endif()
|
||||||
if (ENABLE_CXX17)
|
target_compile_features(utils PRIVATE cxx_std_17)
|
||||||
target_compile_features(utils PRIVATE cxx_std_17)
|
|
||||||
endif()
|
|
||||||
if (ENABLE_STANDALONE)
|
if (ENABLE_STANDALONE)
|
||||||
install(TARGETS utils)
|
install(TARGETS utils)
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
18
meson.build
18
meson.build
@@ -1,4 +1,4 @@
|
|||||||
project('utils')
|
project('utils', default_options: ['cpp_std=c++17'])
|
||||||
add_languages('c', 'cpp', required: true)
|
add_languages('c', 'cpp', required: true)
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
@@ -181,3 +181,19 @@ utils_dep = declare_dependency(include_directories: include_directories('.'), li
|
|||||||
if get_option('utils_standalone')
|
if get_option('utils_standalone')
|
||||||
install_headers(source_file_headers)
|
install_headers(source_file_headers)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if get_option('test')
|
||||||
|
gtest = subproject('gtest')
|
||||||
|
gtest_main_dep = gtest.get_variable('gtest_main_dep')
|
||||||
|
test_exe = executable('unittest',
|
||||||
|
files(
|
||||||
|
'test/stack_test.cpp',
|
||||||
|
'test/queue_test.cpp',
|
||||||
|
'test/binary_tree_test.cpp',
|
||||||
|
'test/hash_map_test.cpp',
|
||||||
|
'test/hash_lib_test.cpp',
|
||||||
|
),
|
||||||
|
dependencies: [utils_dep, gtest_main_dep],
|
||||||
|
)
|
||||||
|
test('unittest', test_exe, args: ['-v'], timeout: 60)
|
||||||
|
endif
|
||||||
|
|||||||
@@ -2,3 +2,4 @@ option('utils_iconv', type: 'feature', value: 'auto', description: 'Enable iconv
|
|||||||
option('utils_standalone', type: 'boolean', value: false, description: 'Build standalone utils')
|
option('utils_standalone', type: 'boolean', value: false, description: 'Build standalone utils')
|
||||||
option('utils_ssl', type: 'feature', value: 'disabled', description: 'Enable SSL support')
|
option('utils_ssl', type: 'feature', value: 'disabled', description: 'Enable SSL support')
|
||||||
option('utils_zlib', type: 'feature', value: 'disabled', description: 'Enable zlib support for uncompress http data.')
|
option('utils_zlib', type: 'feature', value: 'disabled', description: 'Enable zlib support for uncompress http data.')
|
||||||
|
option('test', type: 'boolean', value: false, description: 'Enable test')
|
||||||
|
|||||||
1
subprojects/.gitignore
vendored
Normal file
1
subprojects/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*/
|
||||||
16
subprojects/gtest.wrap
Normal file
16
subprojects/gtest.wrap
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
[wrap-file]
|
||||||
|
directory = googletest-1.15.2
|
||||||
|
source_url = https://github.com/google/googletest/archive/refs/tags/v1.15.2.tar.gz
|
||||||
|
source_filename = gtest-1.15.2.tar.gz
|
||||||
|
source_hash = 7b42b4d6ed48810c5362c265a17faebe90dc2373c885e5216439d37927f02926
|
||||||
|
patch_filename = gtest_1.15.2-4_patch.zip
|
||||||
|
patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.15.2-4/get_patch
|
||||||
|
patch_hash = a5151324b97e6a98fa7a0e8095523e6d5c4bb3431210d6ac4ad9800c345acf40
|
||||||
|
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/gtest_1.15.2-4/gtest-1.15.2.tar.gz
|
||||||
|
wrapdb_version = 1.15.2-4
|
||||||
|
|
||||||
|
[provide]
|
||||||
|
gtest = gtest_dep
|
||||||
|
gtest_main = gtest_main_dep
|
||||||
|
gmock = gmock_dep
|
||||||
|
gmock_main = gmock_main_dep
|
||||||
@@ -12,6 +12,7 @@ TEST(HashLibTest, SHA512ClassTest) {
|
|||||||
GTEST_ASSERT_EQ(re, sha512.digest());
|
GTEST_ASSERT_EQ(re, sha512.digest());
|
||||||
auto hexRe = hashHex<SHA512>("Hello, World!");
|
auto hexRe = hashHex<SHA512>("Hello, World!");
|
||||||
GTEST_ASSERT_EQ(hexRe, sha512.hexDigest());
|
GTEST_ASSERT_EQ(hexRe, sha512.hexDigest());
|
||||||
|
GTEST_ASSERT_EQ(hashHex<SHA512>("Hello, World!Hello, World!"), hashHex<SHA512>("Hello, World!", another));
|
||||||
another.update("Hello, World!");
|
another.update("Hello, World!");
|
||||||
GTEST_ASSERT_EQ(hashHex<SHA512>("Hello, World!Hello, World!"), another.hexDigest());
|
GTEST_ASSERT_EQ(hashHex<SHA512>("Hello, World!Hello, World!"), another.hexDigest());
|
||||||
sha512.update("Hello, World!");
|
sha512.update("Hello, World!");
|
||||||
|
|||||||
Reference in New Issue
Block a user