Skip to content

Commit 19aaefd

Browse files
Fixed Pcap++ build
- Disabled Pcap++ / Common++ / Packet++ treat-warnings-as-errors (they have many warnings if any other dependency enables them AND they treat them as errors) - Disabled compiler warnings for those 3 targets entirely - Added proper alias targets
1 parent 1308187 commit 19aaefd

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

thirdparty/pcapplusplus/pcapplusplus_make_available.cmake

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,44 @@ set(PCAPPP_INSTALL ON)
1010
message(STATUS "Fetching Pcap++...")
1111
FetchContent_MakeAvailable(pcapplusplus)
1212

13+
# Add alias targets for PcapPlusPlus
14+
15+
if(NOT TARGET PcapPlusPlus::Common++)
16+
add_library(PcapPlusPlus::Common++ ALIAS Common++)
17+
endif()
18+
1319
if(NOT TARGET PcapPlusPlus::Pcap++)
1420
add_library(PcapPlusPlus::Pcap++ ALIAS Pcap++)
1521
endif()
1622

23+
if(NOT TARGET PcapPlusPlus::Packet++)
24+
add_library(PcapPlusPlus::Packet++ ALIAS Packet++)
25+
endif()
26+
27+
# Disable warnings as errors for Pcap++. They have a lot of warnings but treat
28+
# them as errors, which breaks our build, if the warnings are enabled.
29+
set_property(TARGET Common++ PROPERTY COMPILE_WARNING_AS_ERROR OFF)
30+
set_property(TARGET Pcap++ PROPERTY COMPILE_WARNING_AS_ERROR OFF)
31+
set_property(TARGET Packet++ PROPERTY COMPILE_WARNING_AS_ERROR OFF)
32+
33+
# Also, disable the compiler warnings for those targets. It's not our code, so
34+
# we don't want to see their warnings.
35+
target_compile_options(Common++ PRIVATE
36+
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
37+
-w>
38+
$<$<CXX_COMPILER_ID:MSVC>:
39+
/W0>)
40+
41+
target_compile_options(Pcap++ PRIVATE
42+
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
43+
-w>
44+
$<$<CXX_COMPILER_ID:MSVC>:
45+
/W0>)
46+
47+
target_compile_options(Packet++ PRIVATE
48+
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
49+
-w>
50+
$<$<CXX_COMPILER_ID:MSVC>:
51+
/W0>)
52+
1753
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/Modules/")

0 commit comments

Comments
 (0)