hasherkawpow-sys 0.1.0

Low-level Rust bindings for KawPow hashing and verification.
Documentation
cmake_minimum_required(VERSION 3.5.1)
project(hasherkawpow)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

file(GLOB hasher_kawpow_SRC
        "${PROJECT_SOURCE_DIR}/*/*.c"
        "${PROJECT_SOURCE_DIR}/*.c"
        "${PROJECT_SOURCE_DIR}/*.cpp"
        "${PROJECT_SOURCE_DIR}/*/*.cpp"
        )

set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")

include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_SOURCE_DIR})
#include_directories(${PROJECT_NAME} PUBLIC "./src")

# include static libraries
add_library(${PROJECT_NAME} STATIC ${hasher_kawpow_SRC} "libhasherkawpow.cc")

#set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".lib")


#ff building Node JS Addon
if (CMAKE_JS_VERSION)

    set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")

    # add node include directories, fix potential backslashes
    foreach(CMAKE_JS_INC_ITEM ${CMAKE_JS_INC})
        string(REPLACE "\\" "/" CMAKE_JS_INC_ITEM ${CMAKE_JS_INC_ITEM})
        message(STATUS "include_directories ${CMAKE_JS_INC_ITEM}")
        include_directories(${CMAKE_JS_INC_ITEM})
    endforeach(CMAKE_JS_INC_ITEM)

    string(REPLACE "\\" "/" PROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR})
    message(STATUS "include_directories ${PROJECT_SOURCE_DIR}")
    include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_SOURCE_DIR})
    include_directories(${PROJECT_NAME} PUBLIC "./src")

    # include static libraries

    add_library(${PROJECT_NAME} SHARED ${hasher_kawpow_SRC} "hasherkawpow.cc")
    set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".node")

endif()