-
Notifications
You must be signed in to change notification settings - Fork 145
/
CMakeLists.txt
70 lines (67 loc) · 2 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Copyright 2011-2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# TODO(cblichmann): Remove this workaround for macOS protobuf build
if(APPLE)
add_definitions(-DGOOGLE_PROTOBUF_NO_RDTSC)
endif()
# Plugins will be named "bindiffX_ida.so" and "bindiffX_ida64.so" (or .dll or
# .dylib), where X is the release number.
add_ida_plugin(${bindiff_ida_plugin_name}
bindiff_icon.cc
bindiff_icon.h
main_plugin.cc
main_plugin.h
matched_functions_chooser.cc
matched_functions_chooser.h
names.cc
names.h
results.cc
results.h
statistics_chooser.cc
statistics_chooser.h
unmatched_functions_chooser.cc
unmatched_functions_chooser.h
visual_diff.cc
visual_diff.h
)
ida_target_link_libraries(${bindiff_ida_plugin_name}
binexport_core
binexport_plugin_shared
bindiff_base
bindiff_shared
absl::cleanup
absl::function_ref
absl::memory
absl::nullability
absl::str_format
absl::time
)
if(WIN32)
ida_target_link_libraries(${bindiff_ida_plugin_name}
delayimp.lib # Helper for /DELAYLOAD
ws2_32.lib
)
# See b/206656063 for context
set_ida_target_properties(${bindiff_ida_plugin_name} PROPERTIES
LINK_FLAGS /DELAYLOAD:dbghelp.dll
)
endif()
set_ida_target_properties(${bindiff_ida_plugin_name} PROPERTIES
POSITION_INDEPENDENT_CODE ON
INTERPROCEDURAL_OPTIMIZATION ${BINDIFF_ENABLE_IPO}
)
ida_install(TARGETS ${bindiff_ida_plugin_name}
ARCHIVE DESTINATION bindiff-prefix
RUNTIME DESTINATION bindiff-prefix
LIBRARY DESTINATION bindiff-prefix)