aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2021-02-16 18:04:59 -0800
committerWireshark GitLab Utility <gerald+gitlab-utility@wireshark.org>2021-02-18 06:34:46 +0000
commit4fd5224ecf5f5b51d3e4e5036948571649898313 (patch)
tree6fb457e3ee5d3e0295fe56712adf4b92763d228f
parent6bffbc9896f7772adc94660564b5cbafead73fc6 (diff)
CMake: Use target_include_directores more.
The include_directories documentation at https://cmake.org/cmake/help/latest/command/include_directories.html says: "Note: Prefer the target_include_directories() command to add include directories to individual targets and optionally propagate/export them to dependents." Switch from include_directories to target_include_directories in a bunch of places. Add "SYSTEM" to the remaining external include_directories calls in order to minimize our compiler warning blast radius.
-rw-r--r--CMakeLists.txt11
-rw-r--r--epan/CMakeLists.txt17
-rw-r--r--epan/crypt/CMakeLists.txt9
-rw-r--r--epan/dfilter/CMakeLists.txt15
-rw-r--r--epan/dissectors/CMakeLists.txt10
-rw-r--r--epan/ftypes/CMakeLists.txt13
-rw-r--r--epan/wmem/CMakeLists.txt11
-rw-r--r--epan/wslua/CMakeLists.txt8
-rw-r--r--ui/qt/CMakeLists.txt11
9 files changed, 49 insertions, 56 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 71eddc4dc9..a397c49081 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -994,7 +994,7 @@ message(STATUS "Linker flags: ${WS_LINK_FLAGS}")
if(APPLE AND EXISTS /usr/local/opt/gettext)
# GLib on macOS requires libintl. Homebrew installs gettext (and
# libintl) in /usr/local/opt/gettext
- include_directories(/usr/local/opt/gettext/include)
+ include_directories(SYSTEM /usr/local/opt/gettext/include)
link_directories(/usr/local/opt/gettext/lib)
endif()
@@ -1208,9 +1208,7 @@ endif()
# Include minizip include directories
if(MINIZIP_FOUND)
- include_directories(
- ${MINIZIP_INCLUDE_DIRS}
- )
+ include_directories(SYSTEM ${MINIZIP_INCLUDE_DIRS})
else()
set(MINIZIP_LIBRARY "")
endif()
@@ -2577,10 +2575,7 @@ if(BUILD_sharkd)
add_executable(sharkd ${sharkd_FILES})
set_extra_executable_properties(sharkd "Executables")
target_link_libraries(sharkd ${sharkd_LIBS})
- target_include_directories(sharkd SYSTEM
- PUBLIC
- ${SPEEXDSP_INCLUDE_DIRS}
- )
+ target_include_directories(sharkd SYSTEM PUBLIC ${SPEEXDSP_INCLUDE_DIRS})
install(TARGETS sharkd RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt
index 68935c14fc..5ccbfb02e7 100644
--- a/epan/CMakeLists.txt
+++ b/epan/CMakeLists.txt
@@ -28,11 +28,6 @@ if(LUA_FOUND)
add_subdirectory(wslua)
endif()
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
add_custom_command(
OUTPUT ps.c
COMMAND ${PYTHON_EXECUTABLE}
@@ -344,11 +339,14 @@ target_link_libraries(epan
target_include_directories(epan
INTERFACE
- $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
- $<INSTALL_INTERFACE:include/wireshark>
+ $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:include/wireshark>
)
-target_include_directories(epan SYSTEM PUBLIC ${GLIB2_INCLUDE_DIRS})
+target_include_directories(epan
+ SYSTEM PUBLIC
+ ${GLIB2_INCLUDE_DIRS}
+)
target_include_directories(epan
SYSTEM PRIVATE
@@ -362,6 +360,9 @@ target_include_directories(epan
${NGHTTP2_INCLUDE_DIRS}
${SMI_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIRS}
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
)
add_dependencies(epan lemon)
diff --git a/epan/crypt/CMakeLists.txt b/epan/crypt/CMakeLists.txt
index 23e36a89f8..d9dcb93aba 100644
--- a/epan/crypt/CMakeLists.txt
+++ b/epan/crypt/CMakeLists.txt
@@ -9,12 +9,6 @@
ADD_CUSTOM_CMAKE_INCLUDE()
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
set(CRYPT_HEADER_FILES
dot11decrypt_debug.h
dot11decrypt_int.h
@@ -63,6 +57,9 @@ add_library(crypt OBJECT
target_include_directories(crypt
SYSTEM PRIVATE
${GCRYPT_INCLUDE_DIRS}
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
)
set_target_properties(crypt PROPERTIES
diff --git a/epan/dfilter/CMakeLists.txt b/epan/dfilter/CMakeLists.txt
index df3b10f715..687e81d59e 100644
--- a/epan/dfilter/CMakeLists.txt
+++ b/epan/dfilter/CMakeLists.txt
@@ -7,13 +7,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_SOURCE_DIR}/epan
- ${CMAKE_SOURCE_DIR}/tools/lemon
-)
-
set(DFILTER_PUBLIC_HEADERS
dfilter.h
drange.h
@@ -83,6 +76,14 @@ add_library(dfilter OBJECT
${DFILTER_FILES}
)
+target_include_directories(dfilter
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/epan
+ ${CMAKE_SOURCE_DIR}/tools/lemon
+)
+
set_target_properties(dfilter PROPERTIES
FOLDER "Libs/epan/dfilter"
COMPILE_DEFINITIONS "WS_BUILD_DLL"
diff --git a/epan/dissectors/CMakeLists.txt b/epan/dissectors/CMakeLists.txt
index e4139ec172..67fa3f97b5 100644
--- a/epan/dissectors/CMakeLists.txt
+++ b/epan/dissectors/CMakeLists.txt
@@ -13,12 +13,6 @@ add_subdirectory(asn1 EXCLUDE_FROM_ALL)
add_subdirectory(dcerpc EXCLUDE_FROM_ALL)
add_subdirectory(pidl EXCLUDE_FROM_ALL)
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_SOURCE_DIR}/epan
-)
-
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/packet-ncp2222.c
COMMAND ${PYTHON_EXECUTABLE}
@@ -2065,6 +2059,10 @@ target_include_directories(dissectors
${SNAPPY_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIRS}
${ZSTD_INCLUDE_DIRS}
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/epan
)
set_target_properties(dissectors PROPERTIES
diff --git a/epan/ftypes/CMakeLists.txt b/epan/ftypes/CMakeLists.txt
index 4ed8355506..168112b9ed 100644
--- a/epan/ftypes/CMakeLists.txt
+++ b/epan/ftypes/CMakeLists.txt
@@ -7,12 +7,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_SOURCE_DIR}/epan
-)
-
set(FTYPE_PUBLIC_HEADERS
ftypes.h
)
@@ -52,6 +46,13 @@ add_library(ftypes OBJECT
${FTYPE_FILES}
)
+target_include_directories(ftypes
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/epan
+)
+
set_target_properties(ftypes PROPERTIES
FOLDER "Libs/epan/ftypes"
COMPILE_DEFINITIONS "WS_BUILD_DLL"
diff --git a/epan/wmem/CMakeLists.txt b/epan/wmem/CMakeLists.txt
index 7ac991eded..e277c3f7c4 100644
--- a/epan/wmem/CMakeLists.txt
+++ b/epan/wmem/CMakeLists.txt
@@ -7,11 +7,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
set(WMEM_PUBLIC_HEADERS
wmem.h
wmem_array.h
@@ -75,6 +70,12 @@ add_library(wmem OBJECT
${WMEM_FILES}
)
+target_include_directories(wmem
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
set_target_properties(wmem PROPERTIES
FOLDER "Libs/epan/wmem"
COMPILE_DEFINITIONS "WS_BUILD_DLL"
diff --git a/epan/wslua/CMakeLists.txt b/epan/wslua/CMakeLists.txt
index 7e365ad77f..0a74ec132c 100644
--- a/epan/wslua/CMakeLists.txt
+++ b/epan/wslua/CMakeLists.txt
@@ -7,11 +7,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
set(WSLUA_MODULES
${CMAKE_CURRENT_SOURCE_DIR}/lrexlib.c
${CMAKE_CURRENT_SOURCE_DIR}/lrexlib_glib.c
@@ -149,6 +144,9 @@ add_library(wslua OBJECT
target_include_directories(wslua
SYSTEM PRIVATE
${LUA_INCLUDE_DIRS}
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
)
set_target_properties(wslua PROPERTIES
diff --git a/ui/qt/CMakeLists.txt b/ui/qt/CMakeLists.txt
index d15cef5542..f703d0119a 100644
--- a/ui/qt/CMakeLists.txt
+++ b/ui/qt/CMakeLists.txt
@@ -628,11 +628,6 @@ set(WIRESHARK_QT_QRC
${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc
)
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
set(CMAKE_AUTOMOC TRUE)
set(CMAKE_AUTOUIC TRUE)
set(CMAKE_AUTORCC TRUE)
@@ -714,11 +709,17 @@ target_include_directories(qtui
${QT_INCLUDE_DIRS}
${WINSPARKLE_INCLUDE_DIRS}
${SPEEXDSP_INCLUDE_DIRS}
+)
+
+target_include_directories(qtui
SYSTEM PRIVATE
# Can't use imported target, linking object libraries for usage requirements
# requires CMake 3.12
${PCAP_INCLUDE_DIRS}
${GCRYPT_INCLUDE_DIRS}
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
)
target_compile_definitions(qtui