Skip to content

Instantly share code, notes, and snippets.

@ATMI
Created October 27, 2023 14:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ATMI/5eac8bec3bbd5d2acb435c87d7c197ac to your computer and use it in GitHub Desktop.
Save ATMI/5eac8bec3bbd5d2acb435c87d7c197ac to your computer and use it in GitHub Desktop.
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
project(tglang VERSION 1.0.0)
set(CMAKE_CXX_STANDARD 17)
include_directories("${CMAKE_SOURCE_DIR}/onnxruntime/include")
set(onnx_release Release)
add_custom_target(
onnxruntime-build
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMAND python3 "${CMAKE_CURRENT_SOURCE_DIR}/onnxruntime/tools/ci_build/build.py" --build_dir "${CMAKE_CURRENT_BINARY_DIR}/onnxruntime" --config ${onnx_release} --build_shared_lib --parallel --compile_no_warning_as_error --skip_submodule_sync
)
add_custom_target(
onnxruntime-copy
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMAND ln -f "${CMAKE_CURRENT_SOURCE_DIR}/../libonnxruntime.so.1.16.1" ./libonnxruntime.so.1.16.1
COMMAND ln -sf libonnxruntime.so.1.16.1 libonnxruntime.so
)
# prebuilt library
add_library(onnxruntime SHARED IMPORTED )
set_property(TARGET onnxruntime PROPERTY IMPORTED_LOCATION "libonnxruntime.so")
add_library(tglang SHARED tglang.cc)
add_dependencies(tglang onnxruntime-copy)
target_link_libraries(
tglang PUBLIC
onnxruntime
stdc++fs
)
add_executable(tglang-tester tglang-tester.c)
target_link_directories(tglang-tester PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
target_link_libraries(
tglang-tester PRIVATE
tglang
)
if (NOT WIN32)
target_link_libraries(tglang-tester PRIVATE m)
if (UNIX AND NOT APPLE)
target_link_libraries(tglang-tester PRIVATE rt)
endif ()
else ()
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
endif ()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment