cmake_minimum_required(VERSION 3.5)
include(CheckCCompilerFlag)
project(zstd-jni C ASM)
file(STRINGS "version" NATIVE_VERSION)
message("Compiling version ${NATIVE_VERSION}")
find_package(JNI)
include_directories("src/main/native" "src/main/native/common" "src/main/native/compress" "src/main/native/decompress" "src/main/native/dictBuilder")
if (JNI_FOUND)
    include_directories(${JNI_INCLUDE_DIRS})
endif (JNI_FOUND)
file(GLOB_RECURSE C_SOURCES RELATIVE ${CMAKE_SOURCE_DIR} "src/*.c")
file(GLOB_RECURSE ASM_SOURCES RELATIVE ${CMAKE_SOURCE_DIR} "src/*.S")
set(SOURCES ${C_SOURCES} ${ASM_SOURCES})
add_library(zstd-jni-${NATIVE_VERSION} SHARED ${SOURCES})
add_definitions("-DZSTD_MULTITHREAD=1")
CHECK_C_COMPILER_FLAG(-Oz COMPILER_SUPPORTS_OZ)
if(COMPILER_SUPPORTS_OZ)
    add_definitions("-Oz")
endif()
set (CMAKE_SHARED_LINKER_FLAGS "-fuse-ld=lld -Wl,-z,max-page-size=16384,-z,common-page-size=16384,-z,relro,-z,now")
