From cd9d38e845a3940a7f18eb4ff864ae5deb9cc2d9 Mon Sep 17 00:00:00 2001 From: Ivo Jimenez Date: Thu, 22 Feb 2024 02:05:45 -0500 Subject: [PATCH 1/5] cmake/main: rename `VECTORIZED_CMAKE_DIR` to `REDPANDA_CMAKE_DIR` Signed-off-by: Ivo Jimenez (cherry picked from commit 58ab041572ff7a896262990981fc28242097f606) --- CMakeLists.txt | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 74e79ee05fb0..2904f0bbf285 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,8 +1,13 @@ -cmake_minimum_required(VERSION 3.12.0) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) -# keep this minimal. modify `cmake/main.cmake` file instead -if(NOT VECTORIZED_CMAKE_DIR) - include(main) -else() - include(${VECTORIZED_CMAKE_DIR}/main.cmake) +# Redirect control for internal Redpanda builds +if(REDPANDA_CMAKE_DIR) + cmake_minimum_required(VERSION 3.22) + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + include(${REDPANDA_CMAKE_DIR}/main.cmake) + return() endif() + +cmake_minimum_required(VERSION 3.24) +project(redpanda LANGUAGES CXX) + +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +include(main) From 19cb15cf64064623b51b9198624e50470ce24e8f Mon Sep 17 00:00:00 2001 From: Ivo Jimenez Date: Thu, 22 Feb 2024 02:06:30 -0500 Subject: [PATCH 2/5] tools/cmake: update folder name of 3rdparty deps The `v_` prefixed was dropped Signed-off-by: Ivo Jimenez (cherry picked from commit b93d1baa2df591b38239e29818148e0c6ac75f35) --- tools/cmake_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/cmake_test.py b/tools/cmake_test.py index ce848546dd6c..212c12a09b0e 100755 --- a/tools/cmake_test.py +++ b/tools/cmake_test.py @@ -133,7 +133,7 @@ def _find_addr2lines(self): # Workstation: find our build directory by searching back from binary path_parts = self.binary.split("/") try: - vbuild = "/".join(path_parts[0:path_parts.index("vbuild") + 3]) + vbuild = "/".join(path_parts[0:path_parts.index("vbuild") + 5]) except (ValueError, IndexError): sys.stderr.write( f"Could not find vbuild in binary path {self.binary}\n") @@ -141,7 +141,7 @@ def _find_addr2lines(self): else: location = os.path.join( vbuild, - "v_deps_build/seastar-prefix/src/seastar/scripts/seastar-addr2line" + "deps_build/seastar-prefix/src/seastar/scripts/seastar-addr2line" ) if not os.path.exists(location): From b612853350f055b570f8c08be5194ca0c3904d0d Mon Sep 17 00:00:00 2001 From: Noah Watkins Date: Fri, 11 Aug 2023 23:04:31 -0700 Subject: [PATCH 3/5] cmake: use standard method of finding programs Signed-off-by: Noah Watkins (cherry picked from commit ad49bdb428e255d4a866edd5e62af5900a5b52af) --- build.sh | 1 - src/go/kreq-gen/CMakeLists.txt | 6 +++--- src/v/CMakeLists.txt | 2 ++ 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/build.sh b/build.sh index 4493e0e45abe..4e867f3494e5 100755 --- a/build.sh +++ b/build.sh @@ -30,7 +30,6 @@ cmake -DCMAKE_BUILD_TYPE=Release \ -GNinja \ -DCMAKE_C_COMPILER=$CC \ -DCMAKE_CXX_COMPILER=$CXX \ - -DCMAKE_GO_BINARY="$go" \ "$@" (cd "$root"/build && ninja) diff --git a/src/go/kreq-gen/CMakeLists.txt b/src/go/kreq-gen/CMakeLists.txt index 290b981c4488..b630fd2a2f3d 100644 --- a/src/go/kreq-gen/CMakeLists.txt +++ b/src/go/kreq-gen/CMakeLists.txt @@ -2,9 +2,9 @@ set(GOPATH ${CMAKE_CURRENT_BINARY_DIR}) function(add_go_dependency NAME MAIN_SRC) get_filename_component(MAIN_SRC_ABS ${MAIN_SRC} ABSOLUTE) - add_custom_target(${NAME}) - add_custom_command(TARGET ${NAME} - COMMAND env GOPATH=${GOPATH} ${CMAKE_GO_BINARY} build + string(REPLACE "-" "_" target_name ${NAME}) + add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${NAME}" + COMMAND env GOPATH=${GOPATH} ${GO_PROGRAM} build -modcacherw -o "${CMAKE_CURRENT_BINARY_DIR}/${NAME}" ${CMAKE_GO_FLAGS} ${MAIN_SRC} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} diff --git a/src/v/CMakeLists.txt b/src/v/CMakeLists.txt index ef4d0b57884b..938d7de65a52 100644 --- a/src/v/CMakeLists.txt +++ b/src/v/CMakeLists.txt @@ -38,6 +38,8 @@ if(REDPANDA_RUN_CLANG_TIDY) unset(clang_tidy_checks) endif() +find_program(GO_PROGRAM go REQUIRED) + # libraries add_subdirectory(test_utils) add_subdirectory(ssx) From f986ad3efabb20ea3df2448e6f0809572d0a9037 Mon Sep 17 00:00:00 2001 From: Noah Watkins Date: Thu, 17 Aug 2023 12:55:10 -0700 Subject: [PATCH 4/5] cmake: remove unused cmake go flag Signed-off-by: Noah Watkins (cherry picked from commit 0ddf1603c1945a3564e7a675eeea2144a8632386) --- src/go/kreq-gen/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/go/kreq-gen/CMakeLists.txt b/src/go/kreq-gen/CMakeLists.txt index b630fd2a2f3d..f022c7966006 100644 --- a/src/go/kreq-gen/CMakeLists.txt +++ b/src/go/kreq-gen/CMakeLists.txt @@ -6,7 +6,7 @@ function(add_go_dependency NAME MAIN_SRC) add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${NAME}" COMMAND env GOPATH=${GOPATH} ${GO_PROGRAM} build -modcacherw -o "${CMAKE_CURRENT_BINARY_DIR}/${NAME}" - ${CMAKE_GO_FLAGS} ${MAIN_SRC} + ${MAIN_SRC} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} DEPENDS ${MAIN_SRC_ABS}) add_custom_target(${NAME}_all ALL DEPENDS ${NAME}) From 15eddb52fd5ef304eca498284bcf26410002e2f9 Mon Sep 17 00:00:00 2001 From: Noah Watkins Date: Thu, 17 Aug 2023 20:04:52 -0700 Subject: [PATCH 5/5] build: move go find to be scoped above uses Signed-off-by: Noah Watkins (cherry picked from commit 2b73b5e4106bc6900bece9a14b7345f3a50ee920) --- src/CMakeLists.txt | 1 + src/v/CMakeLists.txt | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index eecd145edda1..3ba833d7425e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,5 +4,6 @@ find_package(Boost REQUIRED iostreams unit_test_framework) find_package(absl REQUIRED) +find_program(GO_PROGRAM go REQUIRED) add_subdirectory(v) add_subdirectory(go/kreq-gen) diff --git a/src/v/CMakeLists.txt b/src/v/CMakeLists.txt index 938d7de65a52..ef4d0b57884b 100644 --- a/src/v/CMakeLists.txt +++ b/src/v/CMakeLists.txt @@ -38,8 +38,6 @@ if(REDPANDA_RUN_CLANG_TIDY) unset(clang_tidy_checks) endif() -find_program(GO_PROGRAM go REQUIRED) - # libraries add_subdirectory(test_utils) add_subdirectory(ssx)