Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
空白の変更を非表示
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
テキストスタイル
外観を変更
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
txiki.js CMakeLists.txt FFI support removed
作成日
10 か月前
差分は期限切れになりません
クリア
エクスポート
共有
説明
42 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
181 行
すべてコピー
1 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
140 行
すべてコピー
cmake_minimum_required(VERSION 3.14)
cmake_minimum_required(VERSION 3.14)
project(tjs LANGUAGES C)
project(tjs LANGUAGES C)
include(ExternalProject)
include(ExternalProject)
include(GNUInstallDirs)
include(GNUInstallDirs)
if (NOT CMAKE_BUILD_TYPE)
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to Release")
message(STATUS "No build type selected, default to Release")
set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_BUILD_TYPE "Release")
endif()
endif()
message(STATUS "Building in ${CMAKE_BUILD_TYPE} mode")
message(STATUS "Building in ${CMAKE_BUILD_TYPE} mode")
message(STATUS "Building with ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} on ${CMAKE_SYSTEM}")
message(STATUS "Building with ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} on ${CMAKE_SYSTEM}")
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON)
set(CMAKE_C_EXTENSIONS ON)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD 11)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
list(APPEND tjs_cflags -Wall -g)
list(APPEND tjs_cflags -Wall -g)
if (CMAKE_BUILD_TYPE MATCHES "Debug")
if (CMAKE_BUILD_TYPE MATCHES "Debug")
list(APPEND tjs_cflags -ggdb -O0 -fno-omit-frame-pointer)
list(APPEND tjs_cflags -ggdb -O0 -fno-omit-frame-pointer)
endif()
endif()
set(TJS__VERSION_MAJOR 24)
set(TJS__VERSION_MAJOR 24)
set(TJS__VERSION_MINOR 12)
set(TJS__VERSION_MINOR 12)
set(TJS__VERSION_PATCH 0)
set(TJS__VERSION_PATCH 0)
set(TJS__VERSION_SUFFIX "")
set(TJS__VERSION_SUFFIX "")
configure_file(
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.in"
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.in"
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.h"
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.h"
)
)
macro(cpr_option OPTION_NAME OPTION_TEXT OPTION_DEFAULT)
macro(cpr_option OPTION_NAME OPTION_TEXT OPTION_DEFAULT)
option(${OPTION_NAME} ${OPTION_TEXT} ${OPTION_DEFAULT})
option(${OPTION_NAME} ${OPTION_TEXT} ${OPTION_DEFAULT})
if(DEFINED ENV{${OPTION_NAME}})
if(DEFINED ENV{${OPTION_NAME}})
# Allow setting the option through an environment variable
# Allow setting the option through an environment variable
set(${OPTION_NAME} $ENV{${OPTION_NAME}})
set(${OPTION_NAME} $ENV{${OPTION_NAME}})
endif()
endif()
if(${OPTION_NAME})
if(${OPTION_NAME})
add_definitions(-D${OPTION_NAME})
add_definitions(-D${OPTION_NAME})
endif()
endif()
message(STATUS " ${OPTION_NAME}: ${${OPTION_NAME}}")
message(STATUS " ${OPTION_NAME}: ${${OPTION_NAME}}")
endmacro()
endmacro()
cpr_option(BUILD_WITH_MIMALLOC "If ON (default), build with mimalloc" ON)
cpr_option(BUILD_WITH_MIMALLOC "If ON (default), build with mimalloc" ON)
cpr_option(USE_EXTERNAL_FFI "Specify to use external ffi dependency" OFF)
cpr_option(USE_EXTERNAL_FFI "Specify to use external ffi dependency" OFF)
add_subdirectory(deps/quickjs EXCLUDE_FROM_ALL)
add_subdirectory(deps/quickjs EXCLUDE_FROM_ALL)
option(libuv_buildtests "" OFF)
option(libuv_buildtests "" OFF)
add_subdirectory(deps/libuv EXCLUDE_FROM_ALL)
add_subdirectory(deps/libuv EXCLUDE_FROM_ALL)
add_subdirectory(deps/sqlite3 EXCLUDE_FROM_ALL)
add_subdirectory(deps/sqlite3 EXCLUDE_FROM_ALL)
set(BUILD_WASI "simple" CACHE STRING "WASI implementation")
set(BUILD_WASI "simple" CACHE STRING "WASI implementation")
add_subdirectory(deps/wasm3 EXCLUDE_FROM_ALL)
add_subdirectory(deps/wasm3 EXCLUDE_FROM_ALL)
if(BUILD_WITH_MIMALLOC)
if(BUILD_WITH_MIMALLOC)
option(MI_OVERRIDE "" OFF)
option(MI_OVERRIDE "" OFF)
option(MI_BUILD_SHARED "" OFF)
option(MI_BUILD_SHARED "" OFF)
option(MI_BUILD_STATIC "" ON)
option(MI_BUILD_STATIC "" ON)
option(MI_BUILD_OBJECT "" OFF)
option(MI_BUILD_OBJECT "" OFF)
option(MI_BUILD_TESTS "" OFF)
option(MI_BUILD_TESTS "" OFF)
add_subdirectory(deps/mimalloc EXCLUDE_FROM_ALL)
add_subdirectory(deps/mimalloc EXCLUDE_FROM_ALL)
endif()
endif()
find_package(CURL REQUIRED)
find_package(CURL REQUIRED)
add_library(tjs STATIC
add_library(tjs STATIC
src/builtins.c
src/builtins.c
src/curl-utils.c
src/curl-utils.c
src/curl-websocket.c
src/curl-websocket.c
src/error.c
src/error.c
src/eval.c
src/eval.c
src/mem.c
src/mem.c
src/modules.c
src/modules.c
src/sha1.c
src/sha1.c
src/signals.c
src/signals.c
src/timers.c
src/timers.c
src/utils.c
src/utils.c
src/version.c
src/version.c
src/vm.c
src/vm.c
src/wasm.c
src/wasm.c
src/worker.c
src/worker.c
src/ws.c
src/ws.c
src/xhr.c
src/xhr.c
src/mod_dns.c
src/mod_dns.c
src/mod_engine.c
src/mod_engine.c
コピー
コピー済み
コピー
コピー済み
src/mod_ffi.c
src/mod_fs.c
src/mod_fs.c
src/mod_fswatch.c
src/mod_fswatch.c
src/mod_os.c
src/mod_os.c
src/mod_process.c
src/mod_process.c
src/mod_sqlite3.c
src/mod_sqlite3.c
src/mod_streams.c
src/mod_streams.c
src/mod_sys.c
src/mod_sys.c
src/mod_udp.c
src/mod_udp.c
src/bundles/c/core/core.c
src/bundles/c/core/core.c
src/bundles/c/core/polyfills.c
src/bundles/c/core/polyfills.c
src/bundles/c/core/run-main.c
src/bundles/c/core/run-main.c
src/bundles/c/core/run-repl.c
src/bundles/c/core/run-repl.c
src/bundles/c/core/worker-bootstrap.c
src/bundles/c/core/worker-bootstrap.c
deps/quickjs/cutils.c
deps/quickjs/cutils.c
)
)
if(UNIX)
if(UNIX)
target_sources(tjs PUBLIC src/mod_posix-socket.c)
target_sources(tjs PUBLIC src/mod_posix-socket.c)
endif()
endif()
コピー
コピー済み
コピー
コピー済み
add_library(ffi-test SHARED
tests/fixtures/ffi-test-lib.c
)
add_library(sqlite-test SHARED
tests/fixtures/sqlite-test-ext.c
)
target_link_libraries(sqlite-test sqlite3)
if(NOT USE_EXTERNAL_FFI AND NOT MINGW AND NOT APPLE)
set(LIBFFI_SRC "${CMAKE_CURRENT_SOURCE_DIR}/deps/libffi")
set(TMP_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ffi_root")
if(MINGW)
set(LIBFFI_STATIC_PATH ${TMP_INSTALL_DIR}/usr/local/lib/libffi.dll.a)
else()
set(LIBFFI_STATIC_PATH ${TMP_INSTALL_DIR}/usr/local/lib/libffi.a)
endif()
ExternalProject_Add(
libffi
BUILD_IN_SOURCE 1
SOURCE_DIR "${LIBFFI_SRC}"
CONFIGURE_COMMAND ./autogen.sh COMMAND ./configure --enable-static=yes --disable-shared --disable-docs --disable-multi-os-directory
BUILD_COMMAND make
INSTALL_DIR ${TMP_INSTALL_DIR}
INSTALL_COMMAND make DESTDIR=${TMP_INSTALL_DIR} install
EXCLUDE_FROM_ALL TRUE
BUILD_BYPRODUCTS ${LIBFFI_STATIC_PATH}
)
add_dependencies(tjs libffi)
add_library(libffi_a STATIC IMPORTED)
set_target_properties(libffi_a PROPERTIES IMPORTED_LOCATION ${LIBFFI_STATIC_PATH})
target_include_directories(tjs PRIVATE ${TMP_INSTALL_DIR}/usr/local/include)
target_link_libraries(tjs libffi_a)
else()
find_library(FFI_LIB NAMES libffi ffi REQUIRED)
find_path(FFI_INCLUDE_DIR NAMES ffi.h PATH_SUFFIXES ffi REQUIRED)
target_include_directories(tjs PRIVATE ${FFI_INCLUDE_DIR})
target_link_libraries(tjs ${FFI_LIB})
endif()
set_target_properties(tjs PROPERTIES
set_target_properties(tjs PROPERTIES
C_STANDARD 11
C_STANDARD 11
C_STANDARD_REQUIRED ON
C_STANDARD_REQUIRED ON
)
)
string(TOLOWER ${CMAKE_SYSTEM_NAME} TJS_PLATFORM)
string(TOLOWER ${CMAKE_SYSTEM_NAME} TJS_PLATFORM)
target_compile_options(tjs PRIVATE ${tjs_cflags})
target_compile_options(tjs PRIVATE ${tjs_cflags})
target_compile_definitions(tjs PRIVATE TJS__PLATFORM="${TJS_PLATFORM}")
target_compile_definitions(tjs PRIVATE TJS__PLATFORM="${TJS_PLATFORM}")
target_include_directories(tjs PUBLIC src)
target_include_directories(tjs PUBLIC src)
target_link_libraries(tjs qjs uv_a m3 sqlite3 CURL::libcurl)
target_link_libraries(tjs qjs uv_a m3 sqlite3 CURL::libcurl)
if (BUILD_WITH_MIMALLOC)
if (BUILD_WITH_MIMALLOC)
target_compile_definitions(tjs PRIVATE TJS__HAS_MIMALLOC)
target_compile_definitions(tjs PRIVATE TJS__HAS_MIMALLOC)
target_link_libraries(tjs mimalloc-static)
target_link_libraries(tjs mimalloc-static)
endif()
endif()
add_executable(tjs-cli
add_executable(tjs-cli
src/cli.c
src/cli.c
)
)
target_link_libraries(tjs-cli tjs)
target_link_libraries(tjs-cli tjs)
set_target_properties(tjs-cli
set_target_properties(tjs-cli
PROPERTIES OUTPUT_NAME tjs
PROPERTIES OUTPUT_NAME tjs
)
)
add_executable(tjsc EXCLUDE_FROM_ALL
add_executable(tjsc EXCLUDE_FROM_ALL
src/qjsc.c
src/qjsc.c
)
)
target_link_libraries(tjsc qjs)
target_link_libraries(tjsc qjs)
コピー
コピー済み
コピー
コピー済み
保存された差分
原文
ファイルを開く
cmake_minimum_required(VERSION 3.14) project(tjs LANGUAGES C) include(ExternalProject) include(GNUInstallDirs) if (NOT CMAKE_BUILD_TYPE) message(STATUS "No build type selected, default to Release") set(CMAKE_BUILD_TYPE "Release") endif() message(STATUS "Building in ${CMAKE_BUILD_TYPE} mode") message(STATUS "Building with ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} on ${CMAKE_SYSTEM}") set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS ON) set(CMAKE_C_STANDARD 11) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) list(APPEND tjs_cflags -Wall -g) if (CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND tjs_cflags -ggdb -O0 -fno-omit-frame-pointer) endif() set(TJS__VERSION_MAJOR 24) set(TJS__VERSION_MINOR 12) set(TJS__VERSION_PATCH 0) set(TJS__VERSION_SUFFIX "") configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.in" "${CMAKE_CURRENT_SOURCE_DIR}/src/version.h" ) macro(cpr_option OPTION_NAME OPTION_TEXT OPTION_DEFAULT) option(${OPTION_NAME} ${OPTION_TEXT} ${OPTION_DEFAULT}) if(DEFINED ENV{${OPTION_NAME}}) # Allow setting the option through an environment variable set(${OPTION_NAME} $ENV{${OPTION_NAME}}) endif() if(${OPTION_NAME}) add_definitions(-D${OPTION_NAME}) endif() message(STATUS " ${OPTION_NAME}: ${${OPTION_NAME}}") endmacro() cpr_option(BUILD_WITH_MIMALLOC "If ON (default), build with mimalloc" ON) cpr_option(USE_EXTERNAL_FFI "Specify to use external ffi dependency" OFF) add_subdirectory(deps/quickjs EXCLUDE_FROM_ALL) option(libuv_buildtests "" OFF) add_subdirectory(deps/libuv EXCLUDE_FROM_ALL) add_subdirectory(deps/sqlite3 EXCLUDE_FROM_ALL) set(BUILD_WASI "simple" CACHE STRING "WASI implementation") add_subdirectory(deps/wasm3 EXCLUDE_FROM_ALL) if(BUILD_WITH_MIMALLOC) option(MI_OVERRIDE "" OFF) option(MI_BUILD_SHARED "" OFF) option(MI_BUILD_STATIC "" ON) option(MI_BUILD_OBJECT "" OFF) option(MI_BUILD_TESTS "" OFF) add_subdirectory(deps/mimalloc EXCLUDE_FROM_ALL) endif() find_package(CURL REQUIRED) add_library(tjs STATIC src/builtins.c src/curl-utils.c src/curl-websocket.c src/error.c src/eval.c src/mem.c src/modules.c src/sha1.c src/signals.c src/timers.c src/utils.c src/version.c src/vm.c src/wasm.c src/worker.c src/ws.c src/xhr.c src/mod_dns.c src/mod_engine.c src/mod_ffi.c src/mod_fs.c src/mod_fswatch.c src/mod_os.c src/mod_process.c src/mod_sqlite3.c src/mod_streams.c src/mod_sys.c src/mod_udp.c src/bundles/c/core/core.c src/bundles/c/core/polyfills.c src/bundles/c/core/run-main.c src/bundles/c/core/run-repl.c src/bundles/c/core/worker-bootstrap.c deps/quickjs/cutils.c ) if(UNIX) target_sources(tjs PUBLIC src/mod_posix-socket.c) endif() add_library(ffi-test SHARED tests/fixtures/ffi-test-lib.c ) add_library(sqlite-test SHARED tests/fixtures/sqlite-test-ext.c ) target_link_libraries(sqlite-test sqlite3) if(NOT USE_EXTERNAL_FFI AND NOT MINGW AND NOT APPLE) set(LIBFFI_SRC "${CMAKE_CURRENT_SOURCE_DIR}/deps/libffi") set(TMP_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ffi_root") if(MINGW) set(LIBFFI_STATIC_PATH ${TMP_INSTALL_DIR}/usr/local/lib/libffi.dll.a) else() set(LIBFFI_STATIC_PATH ${TMP_INSTALL_DIR}/usr/local/lib/libffi.a) endif() ExternalProject_Add( libffi BUILD_IN_SOURCE 1 SOURCE_DIR "${LIBFFI_SRC}" CONFIGURE_COMMAND ./autogen.sh COMMAND ./configure --enable-static=yes --disable-shared --disable-docs --disable-multi-os-directory BUILD_COMMAND make INSTALL_DIR ${TMP_INSTALL_DIR} INSTALL_COMMAND make DESTDIR=${TMP_INSTALL_DIR} install EXCLUDE_FROM_ALL TRUE BUILD_BYPRODUCTS ${LIBFFI_STATIC_PATH} ) add_dependencies(tjs libffi) add_library(libffi_a STATIC IMPORTED) set_target_properties(libffi_a PROPERTIES IMPORTED_LOCATION ${LIBFFI_STATIC_PATH}) target_include_directories(tjs PRIVATE ${TMP_INSTALL_DIR}/usr/local/include) target_link_libraries(tjs libffi_a) else() find_library(FFI_LIB NAMES libffi ffi REQUIRED) find_path(FFI_INCLUDE_DIR NAMES ffi.h PATH_SUFFIXES ffi REQUIRED) target_include_directories(tjs PRIVATE ${FFI_INCLUDE_DIR}) target_link_libraries(tjs ${FFI_LIB}) endif() set_target_properties(tjs PROPERTIES C_STANDARD 11 C_STANDARD_REQUIRED ON ) string(TOLOWER ${CMAKE_SYSTEM_NAME} TJS_PLATFORM) target_compile_options(tjs PRIVATE ${tjs_cflags}) target_compile_definitions(tjs PRIVATE TJS__PLATFORM="${TJS_PLATFORM}") target_include_directories(tjs PUBLIC src) target_link_libraries(tjs qjs uv_a m3 sqlite3 CURL::libcurl) if (BUILD_WITH_MIMALLOC) target_compile_definitions(tjs PRIVATE TJS__HAS_MIMALLOC) target_link_libraries(tjs mimalloc-static) endif() add_executable(tjs-cli src/cli.c ) target_link_libraries(tjs-cli tjs) set_target_properties(tjs-cli PROPERTIES OUTPUT_NAME tjs ) add_executable(tjsc EXCLUDE_FROM_ALL src/qjsc.c ) target_link_libraries(tjsc qjs)
変更されたテキスト
ファイルを開く
cmake_minimum_required(VERSION 3.14) project(tjs LANGUAGES C) include(ExternalProject) include(GNUInstallDirs) if (NOT CMAKE_BUILD_TYPE) message(STATUS "No build type selected, default to Release") set(CMAKE_BUILD_TYPE "Release") endif() message(STATUS "Building in ${CMAKE_BUILD_TYPE} mode") message(STATUS "Building with ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} on ${CMAKE_SYSTEM}") set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS ON) set(CMAKE_C_STANDARD 11) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) list(APPEND tjs_cflags -Wall -g) if (CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND tjs_cflags -ggdb -O0 -fno-omit-frame-pointer) endif() set(TJS__VERSION_MAJOR 24) set(TJS__VERSION_MINOR 12) set(TJS__VERSION_PATCH 0) set(TJS__VERSION_SUFFIX "") configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.in" "${CMAKE_CURRENT_SOURCE_DIR}/src/version.h" ) macro(cpr_option OPTION_NAME OPTION_TEXT OPTION_DEFAULT) option(${OPTION_NAME} ${OPTION_TEXT} ${OPTION_DEFAULT}) if(DEFINED ENV{${OPTION_NAME}}) # Allow setting the option through an environment variable set(${OPTION_NAME} $ENV{${OPTION_NAME}}) endif() if(${OPTION_NAME}) add_definitions(-D${OPTION_NAME}) endif() message(STATUS " ${OPTION_NAME}: ${${OPTION_NAME}}") endmacro() cpr_option(BUILD_WITH_MIMALLOC "If ON (default), build with mimalloc" ON) cpr_option(USE_EXTERNAL_FFI "Specify to use external ffi dependency" OFF) add_subdirectory(deps/quickjs EXCLUDE_FROM_ALL) option(libuv_buildtests "" OFF) add_subdirectory(deps/libuv EXCLUDE_FROM_ALL) add_subdirectory(deps/sqlite3 EXCLUDE_FROM_ALL) set(BUILD_WASI "simple" CACHE STRING "WASI implementation") add_subdirectory(deps/wasm3 EXCLUDE_FROM_ALL) if(BUILD_WITH_MIMALLOC) option(MI_OVERRIDE "" OFF) option(MI_BUILD_SHARED "" OFF) option(MI_BUILD_STATIC "" ON) option(MI_BUILD_OBJECT "" OFF) option(MI_BUILD_TESTS "" OFF) add_subdirectory(deps/mimalloc EXCLUDE_FROM_ALL) endif() find_package(CURL REQUIRED) add_library(tjs STATIC src/builtins.c src/curl-utils.c src/curl-websocket.c src/error.c src/eval.c src/mem.c src/modules.c src/sha1.c src/signals.c src/timers.c src/utils.c src/version.c src/vm.c src/wasm.c src/worker.c src/ws.c src/xhr.c src/mod_dns.c src/mod_engine.c src/mod_fs.c src/mod_fswatch.c src/mod_os.c src/mod_process.c src/mod_sqlite3.c src/mod_streams.c src/mod_sys.c src/mod_udp.c src/bundles/c/core/core.c src/bundles/c/core/polyfills.c src/bundles/c/core/run-main.c src/bundles/c/core/run-repl.c src/bundles/c/core/worker-bootstrap.c deps/quickjs/cutils.c ) if(UNIX) target_sources(tjs PUBLIC src/mod_posix-socket.c) endif() set_target_properties(tjs PROPERTIES C_STANDARD 11 C_STANDARD_REQUIRED ON ) string(TOLOWER ${CMAKE_SYSTEM_NAME} TJS_PLATFORM) target_compile_options(tjs PRIVATE ${tjs_cflags}) target_compile_definitions(tjs PRIVATE TJS__PLATFORM="${TJS_PLATFORM}") target_include_directories(tjs PUBLIC src) target_link_libraries(tjs qjs uv_a m3 sqlite3 CURL::libcurl) if (BUILD_WITH_MIMALLOC) target_compile_definitions(tjs PRIVATE TJS__HAS_MIMALLOC) target_link_libraries(tjs mimalloc-static) endif() add_executable(tjs-cli src/cli.c ) target_link_libraries(tjs-cli tjs) set_target_properties(tjs-cli PROPERTIES OUTPUT_NAME tjs ) add_executable(tjsc EXCLUDE_FROM_ALL src/qjsc.c ) target_link_libraries(tjsc qjs)
違いを見つける