| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| cmake_minimum_required(VERSION 3.2) |
| project(tsim C CXX) |
| |
| set(TVM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../) |
| set(VTA_DIR ${TVM_DIR}/vta) |
| |
| include_directories("${TVM_DIR}/include") |
| include_directories("${TVM_DIR}/3rdparty/dlpack/include") |
| include_directories("${TVM_DIR}/3rdparty/dmlc-core/include") |
| include_directories("${TVM_DIR}/vta/src/dpi") |
| |
| set(CMAKE_C_FLAGS "-O2 -Wall -fPIC -fvisibility=hidden") |
| set(CMAKE_CXX_FLAGS "-O2 -Wall -fPIC -fvisibility=hidden -std=c++11") |
| |
| if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND |
| CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0) |
| set(CMAKE_CXX_FLAGS "-faligned-new ${CMAKE_CXX_FLAGS}") |
| endif() |
| |
| file(GLOB TSIM_SW_SRC src/driver.cc) |
| list(APPEND TSIM_SW_SRC ${VTA_DIR}/src/vmem/virtual_memory.cc) |
| list(APPEND TSIM_SW_SRC ${VTA_DIR}/src/dpi/module.cc) |
| |
| add_library(sw SHARED ${TSIM_SW_SRC}) |
| target_include_directories(sw PRIVATE ${VTA_DIR}/include ${VTA_DIR}/src) |
| |
| if(APPLE) |
| set_target_properties(sw PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") |
| endif(APPLE) |