From 7c709e97c641dc8fd314dce4d9ed1a44364fd42b Mon Sep 17 00:00:00 2001 From: Mark Hansen Date: Sat, 8 Oct 2022 21:21:49 +1100 Subject: [PATCH] Avoid uninitialized CMake GETOPT variable warnings Only access GETOPT_INCLUDE_DIRS if GETOPT is found. Fix a few warnings with --warn-uninitialized like: ``` CMake Warning (dev) at cmd/gvmap/CMakeLists.txt:20 (target_include_directories): uninitialized variable 'GETOPT_INCLUDE_DIRS' ``` Towards #2291 --- cmd/edgepaint/CMakeLists.txt | 8 ++-- cmd/gvmap/CMakeLists.txt | 8 ++-- cmd/tools/CMakeLists.txt | 85 ++++++++++++++++++++++++------------ lib/gvpr/CMakeLists.txt | 8 ++-- 4 files changed, 71 insertions(+), 38 deletions(-) diff --git a/cmd/edgepaint/CMakeLists.txt b/cmd/edgepaint/CMakeLists.txt index 8b3e464b3..58ebb81fd 100644 --- a/cmd/edgepaint/CMakeLists.txt +++ b/cmd/edgepaint/CMakeLists.txt @@ -9,9 +9,11 @@ if(with_sfdp) ../../lib/cdt ) - target_include_directories(edgepaint SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} - ) + if(GETOPT_FOUND) + target_include_directories(edgepaint SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) + endif() target_link_libraries(edgepaint PRIVATE cdt diff --git a/cmd/gvmap/CMakeLists.txt b/cmd/gvmap/CMakeLists.txt index e3d91a1cf..3f02bab71 100644 --- a/cmd/gvmap/CMakeLists.txt +++ b/cmd/gvmap/CMakeLists.txt @@ -17,9 +17,11 @@ if(with_sfdp) ../../lib/cdt ) - target_include_directories(gvmap SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} - ) + if(GETOPT_FOUND) + target_include_directories(gvmap SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) + endif() target_link_libraries(gvmap cgraph diff --git a/cmd/tools/CMakeLists.txt b/cmd/tools/CMakeLists.txt index 39a4930f2..7f5f45aca 100644 --- a/cmd/tools/CMakeLists.txt +++ b/cmd/tools/CMakeLists.txt @@ -54,9 +54,11 @@ function(add_simple_tool name) ../../lib/pathplan ) - target_include_directories(${name} SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} - ) + if(GETOPT_FOUND) + target_include_directories(${name} SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) + endif() target_link_libraries(${name} cgraph @@ -97,9 +99,11 @@ target_include_directories(dijkstra PRIVATE ../../lib/pathplan ) -target_include_directories(dijkstra SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} -) +if(GETOPT_FOUND) + target_include_directories(dijkstra SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) +endif() target_link_libraries(dijkstra cgraph @@ -140,9 +144,11 @@ target_include_directories(gml2gv PRIVATE ../../lib/pathplan ) -target_include_directories(gml2gv SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} -) +if(GETOPT_FOUND) + target_include_directories(gml2gv SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) +endif() target_link_libraries(gml2gv cgraph @@ -159,9 +165,11 @@ target_include_directories(gv2gml PRIVATE ../../lib/gvc ../../lib/pathplan ) -target_include_directories(gv2gml SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} -) +if(GETOPT_FOUND) + target_include_directories(gv2gml SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) +endif() target_link_libraries(gv2gml cgraph gvc ingraphs) if(NOT HAVE_GETOPT_H) target_link_libraries(gv2gml ${GETOPT_LINK_LIBRARIES}) @@ -190,9 +198,14 @@ if(EXPAT_FOUND) target_include_directories(graphml2gv SYSTEM PRIVATE ${EXPAT_INCLUDE_DIRS} - ${GETOPT_INCLUDE_DIRS} ) + if(GETOPT_FOUND) + target_include_directories(graphml2gv SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) + endif() + target_link_libraries(graphml2gv cgraph ${EXPAT_LIBRARIES} @@ -224,9 +237,11 @@ target_include_directories(gvcolor PRIVATE ../../lib/pathplan ) -target_include_directories(gvcolor SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} -) +if(GETOPT_FOUND) + target_include_directories(gvcolor SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) +endif() target_link_libraries(gvcolor cgraph @@ -254,9 +269,11 @@ target_include_directories(gvgen PRIVATE ../../lib/pathplan ) -target_include_directories(gvgen SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} -) +if (GETOPT_FOUND) + target_include_directories(gvgen SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) +endif() target_link_libraries(gvgen cgraph) @@ -284,9 +301,11 @@ target_include_directories(gvpack PRIVATE ../../lib/pathplan ) -target_include_directories(gvpack SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} -) +if(GETOPT_FOUND) + target_include_directories(gvpack SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) +endif() target_link_libraries(gvpack cgraph @@ -321,8 +340,12 @@ if(EXPAT_FOUND) target_include_directories(gxl2gv SYSTEM PRIVATE ${EXPAT_INCLUDE_DIRS} - ${GETOPT_INCLUDE_DIRS} ) + if(GETOPT_FOUND) + target_include_directories(gxl2gv SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) + endif() target_link_libraries(gxl2gv cgraph @@ -379,9 +402,11 @@ target_include_directories(mm2gv PRIVATE ../../lib/pathplan ) -target_include_directories(mm2gv SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} -) +if(GETOPT_FOUND) + target_include_directories(mm2gv SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) +endif() target_link_libraries(mm2gv sparse @@ -409,9 +434,11 @@ target_include_directories(sccmap PRIVATE ../../lib/pathplan ) -target_include_directories(sccmap SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} -) +if(GETOPT_FOUND) + target_include_directories(sccmap SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) +endif() target_link_libraries(sccmap cgraph diff --git a/lib/gvpr/CMakeLists.txt b/lib/gvpr/CMakeLists.txt index 02c1c25f4..15637aa02 100644 --- a/lib/gvpr/CMakeLists.txt +++ b/lib/gvpr/CMakeLists.txt @@ -34,9 +34,11 @@ target_include_directories(gvpr PRIVATE ../expr ) -target_include_directories(gvpr SYSTEM PRIVATE - ${GETOPT_INCLUDE_DIRS} -) +if(GETOPT_FOUND) + target_include_directories(gvpr SYSTEM PRIVATE + ${GETOPT_INCLUDE_DIRS} + ) +endif() if(WIN32 AND NOT MINGW) target_include_directories(gvpr PRIVATE ../../windows/include/unistd) -- 2.40.0