File: aws-lc.cmake

package info (click to toggle)
aws-crt-python 0.20.4%2Bdfsg-1~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 72,656 kB
  • sloc: ansic: 381,805; python: 23,008; makefile: 6,251; sh: 4,536; cpp: 699; ruby: 208; java: 77; perl: 73; javascript: 46; xml: 11
file content (34 lines) | stat: -rw-r--r-- 1,422 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# This can be used by downstream consumers (most likely CRT libraries)
# to build and embed aws-lc as libcrypto into the final library/binary
# This will create a crypto lib that is findable via find_package(LibCrypto)
# and is compatible with s2n and aws-c-cal

file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/aws-lc)
execute_process(
    COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR}
    -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
    -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
    -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
    -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
    -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
    -DCMAKE_POSITION_INDEPENDENT_CODE=ON
    -DBUILD_TESTING=OFF
    -DBUILD_LIBSSL=OFF
    -DDISABLE_GO=ON # disables codegen
    -DDISABLE_PERL=ON # disables codegen
    -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
    ${CMAKE_CURRENT_SOURCE_DIR}/crt/aws-lc
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/aws-lc
    RESULT_VARIABLE BUILD_AWSLC_EXIT_CODE
)
if (NOT ${BUILD_AWSLC_EXIT_CODE} EQUAL 0)
    message(FATAL_ERROR "Failed to configure aws-lc")
endif()
execute_process(
    COMMAND ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/aws-lc --config ${CMAKE_BUILD_TYPE} --target install
    RESULT_VARIABLE BUILD_AWSLC_EXIT_CODE
)
if (NOT ${BUILD_AWSLC_EXIT_CODE} EQUAL 0)
    message(FATAL_ERROR "Failed to build aws-lc")
endif()
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_CURRENT_BINARY_DIR}/aws-lc")