1
- # Copyright (c) 2023 The Bitcoin Core developers
1
+ # Copyright (c) 2023-present The Bitcoin Core developers
2
2
# Distributed under the MIT software license, see the accompanying
3
- # file COPYING or http ://www. opensource.org/licenses /mit-license.php .
3
+ # file COPYING or https ://opensource.org/license /mit/ .
4
4
5
5
# This file is part of the transition from Autotools to CMake. Once CMake
6
6
# support has been merged we should switch to using the upstream CMake
@@ -41,6 +41,8 @@ add_library(leveldb STATIC EXCLUDE_FROM_ALL
41
41
${PROJECT_SOURCE_DIR} /src/leveldb/util/comparator.cc
42
42
${PROJECT_SOURCE_DIR} /src/leveldb/util/crc32c.cc
43
43
${PROJECT_SOURCE_DIR} /src/leveldb/util/env.cc
44
+ $<$<NOT :$<BOOL :${WIN32} >>:${PROJECT_SOURCE_DIR} /src/leveldb/util/env_posix.cc>
45
+ $<$<BOOL :${WIN32} >:${PROJECT_SOURCE_DIR} /src/leveldb/util/env_windows.cc>
44
46
${PROJECT_SOURCE_DIR} /src/leveldb/util/filter_policy.cc
45
47
${PROJECT_SOURCE_DIR} /src/leveldb/util/hash.cc
46
48
${PROJECT_SOURCE_DIR} /src/leveldb/util/histogram.cc
@@ -49,14 +51,6 @@ add_library(leveldb STATIC EXCLUDE_FROM_ALL
49
51
${PROJECT_SOURCE_DIR} /src/leveldb/util/status .cc
50
52
${PROJECT_SOURCE_DIR} /src/leveldb/helpers/memenv/memenv.cc
51
53
)
52
- if (WIN32 )
53
- target_sources (leveldb PRIVATE ${PROJECT_SOURCE_DIR} /src/leveldb/util/env_windows.cc)
54
- set_property (SOURCE ${PROJECT_SOURCE_DIR} /src/leveldb/util/env_windows.cc
55
- APPEND PROPERTY COMPILE_OPTIONS $<$<AND :$<CXX_COMPILER_ID:MSVC >,$<CONFIG:Release>>:/wd4722>
56
- )
57
- else ()
58
- target_sources (leveldb PRIVATE ${PROJECT_SOURCE_DIR} /src/leveldb/util/env_posix.cc)
59
- endif ()
60
54
61
55
target_compile_definitions (leveldb
62
56
PRIVATE
@@ -67,27 +61,33 @@ target_compile_definitions(leveldb
67
61
HAVE_O_CLOEXEC=$<BOOL :${HAVE_O_CLOEXEC} >
68
62
FALLTHROUGH_INTENDED=[[fallthrough]]
69
63
LEVELDB_IS_BIG_ENDIAN=${WORDS_BIGENDIAN}
64
+ $<$<NOT :$<BOOL :${WIN32} >>:LEVELDB_PLATFORM_POSIX>
65
+ $<$<BOOL :${WIN32} >:LEVELDB_PLATFORM_WINDOWS>
66
+ $<$<BOOL :${WIN32} >:_UNICODE;UNICODE>
67
+ $<$<BOOL :${MINGW} >:__USE_MINGW_ANSI_STDIO=1>
70
68
)
71
69
72
- if (WIN32 )
73
- target_compile_definitions (leveldb
74
- PRIVATE
75
- LEVELDB_PLATFORM_WINDOWS
76
- _UNICODE
77
- UNICODE
78
- __USE_MINGW_ANSI_STDIO=1
79
- )
80
- else ()
81
- target_compile_definitions (leveldb PRIVATE LEVELDB_PLATFORM_POSIX)
82
- endif ()
83
-
84
70
target_include_directories (leveldb
85
71
PRIVATE
86
72
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src/leveldb>
87
73
PUBLIC
88
74
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src/leveldb/include >
89
75
)
90
76
77
+ if (MSVC )
78
+ target_compile_options (leveldb
79
+ PRIVATE
80
+ /wd4244
81
+ /wd4267
82
+ $<$<CONFIG:Release>:/wd4722>
83
+ )
84
+ target_compile_definitions (leveldb
85
+ PRIVATE
86
+ _CRT_NONSTDC_NO_DEPRECATE
87
+ _CRT_SECURE_NO_WARNINGS
88
+ )
89
+ endif ()
90
+
91
91
#TODO: figure out how to filter out:
92
92
# -Wconditional-uninitialized -Werror=conditional-uninitialized -Wsuggest-override -Werror=suggest-override
93
93
0 commit comments