cmake_minimum_required(VERSION 3.13) project(scriptcraft C) add_compile_options( -Wall -Werror -Wno-implicit-int-float-conversion -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-sign-compare -Wno-missing-field-initializers -Wundef -Wuninitialized -Wunused -Wno-unused-parameter -Wwrite-strings -Wchar-subscripts -funsigned-char -Wno-unknown-warning-option ) add_library( scriptcraft SHARED quickjs/quickjs.c quickjs/libregexp.c quickjs/libunicode.c quickjs/cutils.c quickjs/libbf.c console.c com_thebrokenrail_scriptcraft_core_quickjs_QuickJSNative.c ) file(STRINGS "quickjs/VERSION" QUICKJS_VERSION) target_compile_definitions(scriptcraft PUBLIC -D_GNU_SOURCE PUBLIC -DCONFIG_VERSION=\"${QUICKJS_VERSION}\" -DCONFIG_BIGNUM -DDUMP_LEAKS) target_include_directories(scriptcraft PUBLIC quickjs) include_directories(jni) if(UNIX) include_directories(jni/unix) elseif(WIN32) include_directories(jni/windows) endif() target_link_libraries(scriptcraft m pthread)