Re: [PATCH v2 1/2] Fix CMakeLists.txt on Linux.
From: Junio C Hamano <hidden>
Date: 2022-05-24 23:04:54
"Yuyi Wang via GitGitGadget" [off-list ref] writes:
Subject: Re: [PATCH v2 1/2] Fix CMakeLists.txt on Linux.
Perhaps Subject: cmake: fix CMakeLists on Linux i.e. with a short and meaningful <area>: prefix, no need to capitalize the first word after the prefix, without the terminating full-stop. From: Yuyi Wang <redacted>
CMakeLists.txt didn't follow the grammar of `set`, and it will fail when setting `USE_VCPKG` off on non-Windows platforms.
So any non-Windows, the use of set() here was broken. It is understandable because cmake support was added primarily for Windows. It is nevertheless good to see it corrected.
When the platform is Linux, the Makefile adds `compat/linux/procinfo.o` to `COMPAT_OBJS`, but the CMakeLists.txt didn't add `compat/linux/procinfo.c` to `compat_SOURCES`. It would cause linkage error.
OK. I didn't know anybody cared about using cmake on non-Windows platforms for this project. Thanks, will queue, together with the other two patches.
quoted hunk
Signed-off-by: Yuyi Wang <redacted> --- contrib/buildsystems/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt index 185f56f414f..7f333e303c2 100644 --- a/contrib/buildsystems/CMakeLists.txt +++ b/contrib/buildsystems/CMakeLists.txt@@ -54,7 +54,7 @@ set(CMAKE_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/../..) option(USE_VCPKG "Whether or not to use vcpkg for obtaining dependencies. Only applicable to Windows platforms" ON) if(NOT WIN32) - set(USE_VCPKG OFF CACHE BOOL FORCE) + set(USE_VCPKG OFF CACHE BOOL "" FORCE) endif() if(NOT DEFINED CMAKE_EXPORT_COMPILE_COMMANDS)@@ -277,7 +277,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows") elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") add_compile_definitions(PROCFS_EXECUTABLE_PATH="/proc/self/exe" HAVE_DEV_TTY ) - list(APPEND compat_SOURCES unix-socket.c unix-stream-server.c) + list(APPEND compat_SOURCES unix-socket.c unix-stream-server.c compat/linux/procinfo.c) endif() if(CMAKE_SYSTEM_NAME STREQUAL "Windows")