summaryrefslogtreecommitdiffstats
path: root/src/libcryptobox/CMakeLists.txt
blob: d1c8e3d614188a2bcfd9ba8214349d33d16c115f (plain)
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
35
36
37
38
39
40
41
SET(CHACHASRC ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/chacha.c
        ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/ref.c)

SET(BASE64SRC ${CMAKE_CURRENT_SOURCE_DIR}/base64/ref.c
        ${CMAKE_CURRENT_SOURCE_DIR}/base64/base64.c)

IF (HAVE_AVX2)
    IF ("${ARCH}" STREQUAL "x86_64")
        SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/avx2.S)
        MESSAGE(STATUS "Cryptobox: AVX2 support is added (chacha20)")
    ENDIF ()
    SET(BASE64SRC ${BASE64SRC} ${CMAKE_CURRENT_SOURCE_DIR}/base64/avx2.c)
    MESSAGE(STATUS "Cryptobox: AVX2 support is added (base64)")
ENDIF (HAVE_AVX2)
IF (HAVE_AVX)
    IF ("${ARCH}" STREQUAL "x86_64")
        SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/avx.S)
        MESSAGE(STATUS "Cryptobox: AVX support is added (chacha20)")
    ENDIF ()
ENDIF (HAVE_AVX)
IF (HAVE_SSE2)
    IF ("${ARCH}" STREQUAL "x86_64")
        SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/sse2.S)
        MESSAGE(STATUS "Cryptobox: SSE2 support is added (chacha20)")
    ENDIF ()
ENDIF (HAVE_SSE2)
IF (HAVE_SSE42)
    IF ("${ARCH}" STREQUAL "x86_64")
        SET(BASE64SRC ${BASE64SRC} ${CMAKE_CURRENT_SOURCE_DIR}/base64/sse42.c)
        MESSAGE(STATUS "Cryptobox: SSE42 support is added (base64)")
    ENDIF ()
ENDIF (HAVE_SSE42)

CONFIGURE_FILE(platform_config.h.in platform_config.h)
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}")
SET(LIBCRYPTOBOXSRC ${CMAKE_CURRENT_SOURCE_DIR}/cryptobox.c
        ${CMAKE_CURRENT_SOURCE_DIR}/keypair.c
        ${CMAKE_CURRENT_SOURCE_DIR}/keypairs_cache.c
        ${CMAKE_CURRENT_SOURCE_DIR}/catena/catena.c)

SET(RSPAMD_CRYPTOBOX ${LIBCRYPTOBOXSRC} ${CHACHASRC} ${BASE64SRC} PARENT_SCOPE)