Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix cmake: Fix identation #638

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

idzm
Copy link
Contributor

@idzm idzm commented Jul 2, 2024

No description provided.

Copy link

github-actions bot commented Jul 2, 2024

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@idzm
Copy link
Contributor Author

idzm commented Jul 4, 2024

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/

@apolukhin
Copy link
Member

This does not seem to be a complete solution. How about adding https://github.com/cheshirekow/cmake_format to the CI and formatters?

@idzm
Copy link
Contributor Author

idzm commented Jul 16, 2024

After applying it directly (cmake_format):

cmake-format -i ../userver/CMakeLists.txt

we get following changes:

diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -13,11 +13,7 @@ project(userver)
 
 set(USERVER_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}")
 
-option(
-  USERVER_INSTALL
-  "Prepare build of userver to install in system"
-  OFF
-)
+option(USERVER_INSTALL "Prepare build of userver to install in system" OFF)
 
 set(USERVER_AVAILABLE_COMPONENTS universal)
 set(USERVER_NOT_INCLUDED_AS_SUBDIR OFF)
@@ -25,7 +21,10 @@ if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR AND NOT USERVER_INSTALL)
   set(USERVER_NOT_INCLUDED_AS_SUBDIR ON)
 endif()
 
-option(USERVER_FEATURE_CORE "Provide a core library with coroutines, otherwise build only userver-universal" ON)
+option(
+  USERVER_FEATURE_CORE
+  "Provide a core library with coroutines, otherwise build only userver-universal"
+  ON)
 option(USERVER_FEATURE_CHAOTIC "Provide chaotic-codegen for jsonschema" ON)
 
 set(USERVER_BUILD_PLATFORM_X86 OFF)
@@ -34,24 +33,23 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^x86")
 endif()
 
 function(_require_userver_core FEATURE)
-  if (NOT USERVER_FEATURE_CORE)
+  if(NOT USERVER_FEATURE_CORE)
     message(FATAL_ERROR "'${FEATURE}' requires 'USERVER_FEATURE_CORE=ON'")
   endif()
 endfunction()
 
-option(USERVER_FEATURE_UTEST "Provide 'utest' and 'ubench' for gtest and gbenchmark integration" ON)
-if (USERVER_FEATURE_UTEST)
+option(USERVER_FEATURE_UTEST
+       "Provide 'utest' and 'ubench' for gtest and gbenchmark integration" ON)
+if(USERVER_FEATURE_UTEST)
   message(STATUS "Building utest with gtest and ubench with gbench")
 endif()
 
-option(
-  USERVER_IS_THE_ROOT_PROJECT
-  "Contributor mode: build userver tests, samples and helper tools"
-  "${USERVER_NOT_INCLUDED_AS_SUBDIR}"
-)
-if (USERVER_IS_THE_ROOT_PROJECT)
+option(USERVER_IS_THE_ROOT_PROJECT
+       "Contributor mode: build userver tests, samples and helper tools"
+       "${USERVER_NOT_INCLUDED_AS_SUBDIR}")
+if(USERVER_IS_THE_ROOT_PROJECT)
   message(STATUS "Building userver as a primary project")
-  if (NOT USERVER_FEATURE_UTEST)
+  if(NOT USERVER_FEATURE_UTEST)
     message(FATAL_ERROR "Cannot build tests without utest")
   endif()
 else()
@@ -65,7 +63,9 @@ endif()
 
 set(USERVER_MONGODB_DEFAULT OFF)
 set(USERVER_CLICKHOUSE_DEFAULT OFF)
-if(USERVER_FEATURE_CORE AND USERVER_IS_THE_ROOT_PROJECT AND USERVER_BUILD_PLATFORM_X86)
+if(USERVER_FEATURE_CORE
+   AND USERVER_IS_THE_ROOT_PROJECT
+   AND USERVER_BUILD_PLATFORM_X86)
   if(NOT CMAKE_SYSTEM_NAME MATCHES "BSD")
     set(USERVER_MONGODB_DEFAULT ON)
   endif()
@@ -73,31 +73,34 @@ if(USERVER_FEATURE_CORE AND USERVER_IS_THE_ROOT_PROJECT AND USERVER_BUILD_PLATFO
 endif()
 
 set(USERVER_YDB_DEFAULT OFF)
-if(USERVER_FEATURE_CORE AND USERVER_IS_THE_ROOT_PROJECT AND
-  DEFINED CMAKE_CXX_STANDARD AND CMAKE_CXX_STANDARD GREATER_EQUAL 20)
+if(USERVER_FEATURE_CORE
+   AND USERVER_IS_THE_ROOT_PROJECT
+   AND DEFINED CMAKE_CXX_STANDARD
+   AND CMAKE_CXX_STANDARD GREATER_EQUAL 20)
   set(USERVER_YDB_DEFAULT ON)
 endif()
 
 option(USERVER_CONAN "Build with Conan packages" ${CONAN_EXPORTED})
 
-option(
-  USERVER_DOWNLOAD_PACKAGES
-  "Download missing third party packages and use the downloaded versions"
-  ON
-)
+option(USERVER_DOWNLOAD_PACKAGES
+       "Download missing third party packages and use the downloaded versions"
+       ON)
 option(
   USERVER_FORCE_DOWNLOAD_PACKAGES
   "Download all possible third party packages even if a system package is available"
-  OFF
-)
+  OFF)
 
-option(USERVER_FEATURE_CRYPTOPP_BLAKE2 "Provide wrappers for blake2 algorithms of crypto++" ON)
-if (NOT USERVER_FEATURE_CRYPTOPP_BLAKE2)
+option(USERVER_FEATURE_CRYPTOPP_BLAKE2
+       "Provide wrappers for blake2 algorithms of crypto++" ON)
+if(NOT USERVER_FEATURE_CRYPTOPP_BLAKE2)
   add_compile_definitions("USERVER_NO_CRYPTOPP_BLAKE2=1")
 endif()
 
-option(USERVER_FEATURE_CRYPTOPP_BASE64_URL "Provide wrappers for Base64 URL decoding and encoding algorithms of crypto++" ON)
-if (NOT USERVER_FEATURE_CRYPTOPP_BASE64_URL)
+option(
+  USERVER_FEATURE_CRYPTOPP_BASE64_URL
+  "Provide wrappers for Base64 URL decoding and encoding algorithms of crypto++"
+  ON)
+if(NOT USERVER_FEATURE_CRYPTOPP_BASE64_URL)
   add_compile_definitions("USERVER_NO_CRYPTOPP_BASE64_URL=1")
 endif()
 
@@ -106,29 +109,43 @@ if(CMAKE_SYSTEM_NAME MATCHES "BSD")
 else()
   set(JEMALLOC_DEFAULT ON)
 endif()
-option(USERVER_FEATURE_JEMALLOC "Enable linkage with jemalloc memory allocator" ${JEMALLOC_DEFAULT})
+option(USERVER_FEATURE_JEMALLOC "Enable linkage with jemalloc memory allocator"
+       ${JEMALLOC_DEFAULT})
 
-option(USERVER_DISABLE_PHDR_CACHE "Disable caching of dl_phdr_info items, which interferes with dlopen" OFF)
+option(USERVER_DISABLE_PHDR_CACHE
+       "Disable caching of dl_phdr_info items, which interferes with dlopen"
+       OFF)
 
 set(USERVER_DISABLE_RSEQ_DEFAULT ON)
-if (USERVER_BUILD_PLATFORM_X86 AND CMAKE_SYSTEM_NAME MATCHES "Linux")
+if(USERVER_BUILD_PLATFORM_X86 AND CMAKE_SYSTEM_NAME MATCHES "Linux")
   set(USERVER_DISABLE_RSEQ_DEFAULT OFF)
   message(STATUS "rseq-based acceleration is enabled by default")
 endif()
-option(USERVER_DISABLE_RSEQ_ACCELERATION "Disable rseq-based optimizations" ${USERVER_DISABLE_RSEQ_DEFAULT})
+option(USERVER_DISABLE_RSEQ_ACCELERATION "Disable rseq-based optimizations"
+       ${USERVER_DISABLE_RSEQ_DEFAULT})
 
 option(USERVER_CHECK_PACKAGE_VERSIONS "Check package versions" ON)
 
-option(USERVER_FEATURE_MONGODB "Provide asynchronous driver for MongoDB" "${USERVER_MONGODB_DEFAULT}")
-option(USERVER_FEATURE_POSTGRESQL "Provide asynchronous driver for PostgreSQL" "${USERVER_LIB_ENABLED_DEFAULT}")
-option(USERVER_FEATURE_REDIS "Provide asynchronous driver for Redis" "${USERVER_LIB_ENABLED_DEFAULT}")
-option(USERVER_FEATURE_GRPC "Provide asynchronous driver for gRPC" "${USERVER_LIB_ENABLED_DEFAULT}")
-option(USERVER_FEATURE_CLICKHOUSE "Provide asynchronous driver for ClickHouse" "${USERVER_CLICKHOUSE_DEFAULT}")
-option(USERVER_FEATURE_KAFKA "Provide asynchronous driver for Apache Kafka" "${USERVER_LIB_ENABLED_DEFAULT}")
-option(USERVER_FEATURE_RABBITMQ "Provide asynchronous driver for RabbitMQ" "${USERVER_LIB_ENABLED_DEFAULT}")
-option(USERVER_FEATURE_MYSQL "Provide asynchronous driver for MariaDB/MySQL" "${USERVER_LIB_ENABLED_DEFAULT}")
-option(USERVER_FEATURE_ROCKS "Provide asynchronous driver for Rocks" "${USERVER_LIB_ENABLED_DEFAULT}")
-option(USERVER_FEATURE_YDB "Provide asynchronous driver for YDB" "${USERVER_YDB_DEFAULT}")
+option(USERVER_FEATURE_MONGODB "Provide asynchronous driver for MongoDB"
+       "${USERVER_MONGODB_DEFAULT}")
+option(USERVER_FEATURE_POSTGRESQL "Provide asynchronous driver for PostgreSQL"
+       "${USERVER_LIB_ENABLED_DEFAULT}")
+option(USERVER_FEATURE_REDIS "Provide asynchronous driver for Redis"
+       "${USERVER_LIB_ENABLED_DEFAULT}")
+option(USERVER_FEATURE_GRPC "Provide asynchronous driver for gRPC"
+       "${USERVER_LIB_ENABLED_DEFAULT}")
+option(USERVER_FEATURE_CLICKHOUSE "Provide asynchronous driver for ClickHouse"
+       "${USERVER_CLICKHOUSE_DEFAULT}")
+option(USERVER_FEATURE_KAFKA "Provide asynchronous driver for Apache Kafka"
+       "${USERVER_LIB_ENABLED_DEFAULT}")
+option(USERVER_FEATURE_RABBITMQ "Provide asynchronous driver for RabbitMQ"
+       "${USERVER_LIB_ENABLED_DEFAULT}")
+option(USERVER_FEATURE_MYSQL "Provide asynchronous driver for MariaDB/MySQL"
+       "${USERVER_LIB_ENABLED_DEFAULT}")
+option(USERVER_FEATURE_ROCKS "Provide asynchronous driver for Rocks"
+       "${USERVER_LIB_ENABLED_DEFAULT}")
+option(USERVER_FEATURE_YDB "Provide asynchronous driver for YDB"
+       "${USERVER_YDB_DEFAULT}")
 
 set(CMAKE_DEBUG_POSTFIX d)
 
@@ -151,52 +168,48 @@ include(CMakePackageConfigHelpers)
 
 message(STATUS "Generating cmake files ...")
 userver_venv_setup(
-  NAME userver-cmake
-  PYTHON_OUTPUT_VAR USERVER_CMAKE_GEN_PYTHON_BINARY
-  REQUIREMENTS "${USERVER_ROOT_DIR}/scripts/external_deps/requirements.txt"
-)
+  NAME userver-cmake PYTHON_OUTPUT_VAR USERVER_CMAKE_GEN_PYTHON_BINARY
+  REQUIREMENTS "${USERVER_ROOT_DIR}/scripts/external_deps/requirements.txt")
 execute_process(
   COMMAND
-  "${USERVER_CMAKE_GEN_PYTHON_BINARY}"
-  -u "${USERVER_ROOT_DIR}/scripts/external_deps/cmake_generator.py"
-  --repo-dir "${USERVER_ROOT_DIR}"
-  --build-dir "${CMAKE_BINARY_DIR}"
+    "${USERVER_CMAKE_GEN_PYTHON_BINARY}" -u
+    "${USERVER_ROOT_DIR}/scripts/external_deps/cmake_generator.py" --repo-dir
+    "${USERVER_ROOT_DIR}" --build-dir "${CMAKE_BINARY_DIR}"
   RESULT_VARIABLE RESULT
-  WORKING_DIRECTORY "${USERVER_ROOT_DIR}"
-)
+  WORKING_DIRECTORY "${USERVER_ROOT_DIR}")
 if(RESULT)
-  message(FATAL_ERROR
-    "Generating cmake files failed with exit code: ${RESULT}"
-  )
+  message(FATAL_ERROR "Generating cmake files failed with exit code: ${RESULT}")
 endif(RESULT)
 
-set(USERVER_THIRD_PARTY_DIRS ${USERVER_ROOT_DIR}/third_party CACHE INTERNAL "")
+set(USERVER_THIRD_PARTY_DIRS
+    ${USERVER_ROOT_DIR}/third_party
+    CACHE INTERNAL "")
 
 init_debian_depends()
 
 include(SetupGTest)
-if (USERVER_FEATURE_GRPC)
+if(USERVER_FEATURE_GRPC)
   include(SetupProtobuf)
 endif()
 
-if (USERVER_IS_THE_ROOT_PROJECT)
+if(USERVER_IS_THE_ROOT_PROJECT)
   include(testsuite/SetupUserverTestsuiteEnv.cmake)
   add_subdirectory(testsuite)
 endif()
 
 add_subdirectory(universal)
 
-if (USERVER_FEATURE_CORE)
+if(USERVER_FEATURE_CORE)
   add_subdirectory(core)
   list(APPEND USERVER_AVAILABLE_COMPONENTS core)
 endif()
 
-if (USERVER_FEATURE_CHAOTIC)
+if(USERVER_FEATURE_CHAOTIC)
   add_subdirectory(chaotic)
   list(APPEND USERVER_AVAILABLE_COMPONENTS chaotic)
 endif()
 
-if (USERVER_IS_THE_ROOT_PROJECT AND USERVER_FEATURE_CORE)
+if(USERVER_IS_THE_ROOT_PROJECT AND USERVER_FEATURE_CORE)
   add_subdirectory(tools/engine)
   add_subdirectory(tools/httpclient)
   add_subdirectory(tools/netcat)
@@ -204,60 +217,60 @@ if (USERVER_IS_THE_ROOT_PROJECT AND USERVER_FEATURE_CORE)
   add_subdirectory(tools/congestion_control_emulator)
 endif()
 
-if (USERVER_FEATURE_MONGODB)
+if(USERVER_FEATURE_MONGODB)
   _require_userver_core("USERVER_FEATURE_MONGODB")
   add_subdirectory(mongo)
   list(APPEND USERVER_AVAILABLE_COMPONENTS mongo)
 endif()
 
-if (USERVER_FEATURE_POSTGRESQL)
+if(USERVER_FEATURE_POSTGRESQL)
   _require_userver_core("USERVER_FEATURE_POSTGRESQL")
   add_subdirectory(postgresql)
   list(APPEND USERVER_AVAILABLE_COMPONENTS postgres)
 endif()
 
-if (USERVER_FEATURE_REDIS)
+if(USERVER_FEATURE_REDIS)
   _require_userver_core("USERVER_FEATURE_REDIS")
   add_subdirectory(redis)
   list(APPEND USERVER_AVAILABLE_COMPONENTS redis)
 endif()
 
-if (USERVER_FEATURE_GRPC)
+if(USERVER_FEATURE_GRPC)
   _require_userver_core("USERVER_FEATURE_GRPC")
   add_subdirectory(grpc)
   list(APPEND USERVER_AVAILABLE_COMPONENTS grpc)
 endif()
 
-if (USERVER_FEATURE_CLICKHOUSE)
+if(USERVER_FEATURE_CLICKHOUSE)
   _require_userver_core("USERVER_FEATURE_CLICKHOUSE")
   add_subdirectory(clickhouse)
   list(APPEND USERVER_AVAILABLE_COMPONENTS clickhouse)
 endif()
 
-if (USERVER_FEATURE_KAFKA)
+if(USERVER_FEATURE_KAFKA)
   _require_userver_core("USERVER_FEATURE_KAFKA")
   add_subdirectory(kafka)
   list(APPEND USERVER_AVAILABLE_COMPONENTS kafka)
 endif()
 
-if (USERVER_FEATURE_RABBITMQ)
+if(USERVER_FEATURE_RABBITMQ)
   _require_userver_core("USERVER_FEATURE_RABBITMQ")
   add_subdirectory(rabbitmq)
   list(APPEND USERVER_AVAILABLE_COMPONENTS rabbitmq)
 endif()
 
-if (USERVER_FEATURE_MYSQL)
+if(USERVER_FEATURE_MYSQL)
   _require_userver_core("USERVER_FEATURE_MYSQL")
   add_subdirectory(mysql)
   list(APPEND USERVER_AVAILABLE_COMPONENTS mysql)
 endif()
 
-if (USERVER_FEATURE_ROCKS)
+if(USERVER_FEATURE_ROCKS)
   _require_userver_core("USERVER_FEATURE_ROCKS")
   add_subdirectory(rocks)
 endif()
 
-if (USERVER_FEATURE_YDB)
+if(USERVER_FEATURE_YDB)
   _require_userver_core("USERVER_FEATURE_YDB")
   add_subdirectory(ydb)
   list(APPEND USERVER_AVAILABLE_COMPONENTS ydb)
@@ -266,7 +279,7 @@ endif()
 _userver_export_targets()
 _userver_make_install_config()
 
-if (USERVER_IS_THE_ROOT_PROJECT AND USERVER_FEATURE_CORE)
+if(USERVER_IS_THE_ROOT_PROJECT AND USERVER_FEATURE_CORE)
   add_subdirectory(samples)
 endif()

So I'll try to write down some rules to keep the existing style.

@idzm
Copy link
Contributor Author

idzm commented Aug 20, 2024

Unfortunately, cmake_format cannot preserve the existing style (there are no such rules). So some style changes will be made in CMakeLists.txt.

@idzm
Copy link
Contributor Author

idzm commented Oct 21, 2024

After applying the formatter (cmake_format) to the whole project.

find . -type f -name 'CMakeLists.txt' | xargs cmake-format -i

@idzm idzm requested a review from segoon as a code owner October 21, 2024 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants