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

Add CMake build system for valkey #1196

Open
wants to merge 16 commits into
base: unstable
Choose a base branch
from

Commits on Oct 20, 2024

  1. Added CMake build system

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    f06b624 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. Addressed PR comments

    - Force function names to lowercase in YAML config file
    - Parse version from version.h instead of hard-coding it
    - Fixed typo
    - Moved utility functions into their own module `Utils.cmake`
    - macOS: do not hard code "/usr/bin/clang", instead use `find_program`
    - Support for WITH_TLS=module|yes|off|1|0
    - Support for WITH_RDMA=module|off|0
    - Fixed (never worked for the original Makefile as well): build TLS as module on macOS
    
    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    9e53867 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2024

  1. PR comments

    - Fixed comment
    - Use a more accurate variable name `RDMACM` as the output prefix
    - Avoid using condition like `if (USE_TLS EQUAL 2)`, instead use `if (BUILD_TLS_MODULE)`
    - Build "hello*" moodules
    - Build "test" modules (using conditional variable `-DBUILD_TEST_MODULES=1`)
    - Build "rdma-test"
    
    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    1dbc492 View commit details
    Browse the repository at this point in the history
  2. Fixed build error on Linux

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    8589132 View commit details
    Browse the repository at this point in the history
  3. limit the "-std=gnu11" to linux only

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    b5993a0 View commit details
    Browse the repository at this point in the history
  4. fixed typo

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    c64b5d8 View commit details
    Browse the repository at this point in the history
  5. Updated README to include CMake section

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    f166512 View commit details
    Browse the repository at this point in the history
  6. Small fixes to the README.md

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    7734d9c View commit details
    Browse the repository at this point in the history
  7. more README.md small fixes

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    9c81b77 View commit details
    Browse the repository at this point in the history
  8. grammar fixes

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    be704ac View commit details
    Browse the repository at this point in the history
  9. fixed typos...

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    5281bb2 View commit details
    Browse the repository at this point in the history
  10. Address PR comments

    - Build of the example modules is now conditional (defaults to NO)
    - README.md fixup
    - Fixed UT build (exposed VALKEY_USE_TEST_MAIN & VALKEY_USE_TEST_SERVER_ASSERT macros only for macOS)
    - Added missing valkeylib for UT build (which was removed previous commit)
    
    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    f59c5fc View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. Addressed PR comments

    - Moved rdma-tests source file to their own file
    - Unit tests are no longer handled separately
    - Use CMake function `ProcessorCount` to determine the number of jobs to run when invoking `make`
    - FreeBSD: valkey-unit-tests: link against execinfo for backtrace symbols
    
    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    563358a View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2024

  1. Code cleanup + small fixes

    - Make `main` + `serverAssert` "weak" symbols
    - Set LTO using CMake proper syntax instead of hacking it into the build
      flags
    - For consistency, change all args starting with `WITH_*` to `BUILD_*`.
      for example: `cmake .. -DBUILD_TLS=module -DBUILD_MALLOC=jemalloc -DBUILD_UNIT_TESTS=1`
    - Only search for OpenSSL if BUILD_TLS is "on" or "module"
    
    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    bfc2991 View commit details
    Browse the repository at this point in the history
  2. Fixed typos

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    83a5840 View commit details
    Browse the repository at this point in the history
  3. Fixed yet another typo... :|

    Signed-off-by: Eran Ifrah <eifrah@amazon.com>
    eifrah-aws committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    ec9ec96 View commit details
    Browse the repository at this point in the history