55 lines
1.4 KiB
CMake
55 lines
1.4 KiB
CMake
find_package(GCrypt REQUIRED)
|
|
find_packages(CRYPTO_VALA_PACKAGES REQUIRED
|
|
GLib
|
|
GObject
|
|
GIO
|
|
)
|
|
|
|
vala_precompile(CRYPTO_VALA_C
|
|
SOURCES
|
|
"src/cipher.vala"
|
|
"src/cipher_converter.vala"
|
|
"src/error.vala"
|
|
"src/random.vala"
|
|
"src/srtp.vapi"
|
|
CUSTOM_VAPIS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/vapi/gcrypt.vapi"
|
|
PACKAGES
|
|
${CRYPTO_VALA_PACKAGES}
|
|
GENERATE_VAPI
|
|
crypto-vala
|
|
GENERATE_HEADER
|
|
crypto-vala
|
|
)
|
|
|
|
add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/exports/srtp.h"
|
|
COMMAND
|
|
cp "${CMAKE_CURRENT_SOURCE_DIR}/src/srtp.h" "${CMAKE_BINARY_DIR}/exports/srtp.h"
|
|
DEPENDS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/src/srtp.h"
|
|
COMMENT
|
|
Copy header file srtp.h
|
|
)
|
|
|
|
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/exports/crypto.vapi
|
|
COMMAND
|
|
cat "${CMAKE_BINARY_DIR}/exports/crypto-vala.vapi" "${CMAKE_CURRENT_SOURCE_DIR}/src/srtp.vapi" > "${CMAKE_BINARY_DIR}/exports/crypto.vapi"
|
|
DEPENDS
|
|
${CMAKE_BINARY_DIR}/exports/crypto-vala.vapi
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/srtp.vapi
|
|
)
|
|
|
|
add_custom_target(crypto-vapi
|
|
DEPENDS
|
|
${CMAKE_BINARY_DIR}/exports/crypto.vapi
|
|
${CMAKE_BINARY_DIR}/exports/srtp.h
|
|
)
|
|
|
|
set(CFLAGS ${VALA_CFLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}/src)
|
|
add_definitions(${CFLAGS})
|
|
add_library(crypto-vala STATIC ${CRYPTO_VALA_C} src/srtp.c)
|
|
add_dependencies(crypto-vala crypto-vapi)
|
|
target_link_libraries(crypto-vala ${CRYPTO_VALA_PACKAGES} gcrypt)
|
|
set_property(TARGET crypto-vala PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
|