Skip to content

Use CMake commands to set S2N_LIBCRYPTO environment variable #4814

Open
@boquan-fang

Description

@boquan-fang

Problem:

The current way of setting S2N_LIBCRYPTO environment variable is through passing it in CMAKE_PREFIX_PATH, and then use it in CMakeLists.txt. We want to set S2N_LIBCRYPTO in a more deliberate CMake design.

cmake . -Bbuild \
-DCMAKE_C_COMPILER=/usr/bin/$COMPILER \
-DCMAKE_PREFIX_PATH=/usr/local/$S2N_LIBCRYPTO \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DASAN=ON \
-DUBSAN=ON

s2n-tls/CMakeLists.txt

Lines 235 to 238 in a29068a

if (NOT $ENV{S2N_LIBCRYPTO} MATCHES "awslc")
# add cast-qual back in for non AWS-LC
target_compile_options(${PROJECT_NAME} PRIVATE -Wcast-qual)
endif()

Solution:

  • Pass libcrypto into CMake, and use set to set environment variable.

Requirements / Acceptance Criteria:

  • Buildspec files shouldn't directly pass in libcrypto through CMAKE_PREFIX_PATH.
  • CMakeLists.txt should directly set S2N_LIBCRYPTO via CMake commands.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions