X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=ed47ba32766625792e3a3b7d2ca348c7e3f834c5;hb=HEAD;hp=98659b3fac0baee17c49b075245518b1b24a8838;hpb=bd759e962e2434d41f154e8c2c09a8e8bbfc7943;p=onak.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 98659b3..ed47ba3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.1 FATAL_ERROR) -project(onak VERSION 0.6.1 LANGUAGES C) +project(onak VERSION 0.6.3 LANGUAGES C) include(CheckSymbolExists) include(FindPkgConfig) @@ -23,22 +23,45 @@ option(KEYD set(CMAKE_POSITION_INDEPENDENT_CODE ON) TEST_BIG_ENDIAN(WORDS_BIGENDIAN) +include(CheckCSourceCompiles) +check_c_source_compiles( + " + #include + static void f(__attribute__((unused))) {} + int main(void) { f(); return 0;} + " + HAVE___ATTRIBUTE__UNUSED +) +if (HAVE___ATTRIBUTE__UNUSED) + set(UNUSED_ATTRIB "__attribute__((unused))") +else() + set(UNUSED_ATTRIB "") +endif() + # Pick up a git based version number for development builds find_package(Git) if (GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git") - EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} describe --tags --dirty - OUTPUT_VARIABLE GIT_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) - string(REPLACE "onak-" "" VERSION ${GIT_VERSION}) + if (EXISTS "${CMAKE_SOURCE_DIR}/.git/refs/tags/onak-0.6.2") + EXECUTE_PROCESS( + COMMAND ${GIT_EXECUTABLE} describe --tags --dirty + OUTPUT_VARIABLE GIT_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REPLACE "onak-" "" VERSION ${GIT_VERSION}) + else() + EXECUTE_PROCESS( + COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD + OUTPUT_VARIABLE VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() else() set(VERSION ${PROJECT_VERSION}) endif() # Core objects add_library(libonak STATIC armor.c charfuncs.c cleankey.c cleanup.c decodekey.c - getcgi.c hash.c keyarray.c keyid.c keyindex.c ll.c log.c marshal.c - mem.c merge.c onak-conf.c parsekey.c photoid.c rsa.c sigcheck.c sendsync.c - sha1x.c wordlist.c) + hash.c hash-helper.c key-store.c keyarray.c keyid.c keyindex.c + ll.c log.c marshal.c mem.c merge.c onak-conf.c parsekey.c photoid.c + rsa.c sigcheck.c sendsync.c sha1x.c wordlist.c) set(LIBONAK_LIBRARIES "") # Ideally use Nettle, fall back to our own md5/sha1 routines otherwise @@ -70,6 +93,12 @@ if (GMP_FOUND) CHECK_SYMBOL_EXISTS(nettle_get_secp_521r1 "nettle/ecc-curve.h" HAVE_NETTLE_GET_SECP_521R1) endif() +# keyd will use this for socket activation, if it's available +pkg_check_modules(SYSTEMD libsystemd) +if (SYSTEMD_FOUND) + set(HAVE_SYSTEMD true) +endif() + # Build files that have substitutions in them include_directories(${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}) configure_file("${CMAKE_SOURCE_DIR}/build-config.h.in"