File: BuildISALCrypto.cmake

package info (click to toggle)
ceph 18.2.8%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,186,356 kB
  • sloc: cpp: 6,282,106; ansic: 3,507,390; python: 375,284; asm: 216,381; java: 133,450; sh: 125,595; xml: 39,398; ruby: 32,026; makefile: 29,004; javascript: 23,994; cs: 18,980; perl: 9,709; sql: 7,833; lisp: 5,920; pascal: 3,109; ada: 1,681; yacc: 478; awk: 188; f90: 55; php: 1
file content (31 lines) | stat: -rw-r--r-- 1,133 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
# use an ExternalProject to build isa-l_crypto using its makefile
function(build_isal_crypto)
  set(ISAL_CRYPTO_SOURCE_DIR ${CMAKE_SOURCE_DIR}/src/crypto/isa-l/isa-l_crypto)
  set(ISAL_CRYPTO_INCLUDE_DIR "${ISAL_CRYPTO_SOURCE_DIR}/include")
  set(ISAL_CRYPTO_LIBRARY "${ISAL_CRYPTO_SOURCE_DIR}/bin/isa-l_crypto.a")

  include(FindMake)
  find_make("MAKE_EXECUTABLE" "make_cmd")

  include(ExternalProject)
  ExternalProject_Add(isal_crypto_ext
    SOURCE_DIR ${ISAL_CRYPTO_SOURCE_DIR}
    CONFIGURE_COMMAND ""
    BUILD_COMMAND ${make_cmd} -f <SOURCE_DIR>/Makefile.unx
    BUILD_IN_SOURCE 1
    BUILD_BYPRODUCTS ${ISAL_CRYPTO_LIBRARY}
    INSTALL_COMMAND ""
    UPDATE_COMMAND ""
    LOG_CONFIGURE ON
    LOG_BUILD ON
    LOG_MERGED_STDOUTERR ON
    LOG_OUTPUT_ON_FAILURE ON)

  # add imported library target ISAL::Crypto
  add_library(ISAL::Crypto STATIC IMPORTED GLOBAL)
  add_dependencies(ISAL::Crypto isal_crypto_ext)
  set_target_properties(ISAL::Crypto PROPERTIES
    INTERFACE_INCLUDE_DIRECTORIES ${ISAL_CRYPTO_INCLUDE_DIR}
    IMPORTED_LINK_INTERFACE_LANGUAGES "C"
    IMPORTED_LOCATION ${ISAL_CRYPTO_LIBRARY})
endfunction()