X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=2355ebe1c8b682d358f15734adf0a9f899c51e29;hb=2d53b0b62dd6c230f25c5d66104e6b367390485a;hp=581e84911c335781917440d4a8c603a6f4db2384;hpb=3a9aaa4369f8078b801cddd2353db5730d2388c8;p=onak.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 581e849..2355ebe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 hash-helper.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