blob: 185f90fea07da4e324040cd5a751b60e75e1db3c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
set(SOFT_BACKEND_COMMON_SOURCES BaseGenerator.cpp ModelAnalyzer.cpp SBSerializer.cpp SequencedIR.cpp)
set(SOFT_BACKEND_CPP_SOURCES CPPGenerator.cpp)
set(SOFT_BACKEND_C_SOURCES CGenerator.cpp)
file(GLOB_RECURSE SOFT_DEF_SOURCES "*.def")
nnc_make_generated_sources("${SOFT_DEF_SOURCES}" ${CMAKE_CURRENT_BINARY_DIR} SOFT_GENERATED_SOURCES)
add_library(soft_backend_common STATIC ${SOFT_BACKEND_COMMON_SOURCES})
set_property(TARGET soft_backend_common PROPERTY POSITION_INDEPENDENT_CODE ON)
target_include_directories(soft_backend_common PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries(soft_backend_common PRIVATE nnc_support)
target_link_libraries(soft_backend_common PRIVATE mir)
function(make_soft_backend NAME)
nnc_add_library(${NAME} SHARED ${ARGN} ${SOFT_GENERATED_SOURCES})
target_include_directories(${NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries(${NAME} PUBLIC soft_backend_common)
target_link_libraries(${NAME} PRIVATE nnc_support)
target_link_libraries(${NAME} PRIVATE mir)
# install soft backend c++ library
nnc_install_library(${NAME})
endfunction(make_soft_backend)
make_soft_backend(soft_backend_cpp ${SOFT_BACKEND_CPP_SOURCES})
make_soft_backend(soft_backend_c ${SOFT_BACKEND_C_SOURCES})
|