dino/plugins/crypto-vala/CMakeLists.txt

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)