llvm-project/mlir/test/CAPI/CMakeLists.txt
Jacques Pienaar 3c4d955949
[mlir] Add lib to tests for shared build (#88574)
These resulted in link failures:

```
/usr/bin/ld:
tools/mlir/test/CAPI/CMakeFiles/mlir-capi-translation-test.dir/translation.c.o:
in function `main':
translation.c:(.text.main+0x58): undefined reference to
`LLVMContextCreate'
/usr/bin/ld: translation.c:(.text.main+0x9b): undefined reference to
`LLVMDumpModule'
/usr/bin/ld: translation.c:(.text.main+0xa3): undefined reference to
`LLVMDisposeModule'
/usr/bin/ld: translation.c:(.text.main+0xb3): undefined reference to
`LLVMContextDispose'
```

Found in mlir-hs. Not sure why this hasn't been flagged elsewhere.
2024-04-14 06:36:40 -07:00

107 lines
2.1 KiB
CMake

function(_add_capi_test_executable name)
cmake_parse_arguments(ARG
""
""
"LINK_LIBS"
${ARGN})
set(LLVM_LINK_COMPONENTS
)
add_llvm_executable(${name}
PARTIAL_SOURCES_INTENDED
${ARG_UNPARSED_ARGUMENTS})
llvm_update_compile_flags(${name})
if(MLIR_BUILD_MLIR_C_DYLIB)
target_link_libraries(${name} PRIVATE
LLVMCore
MLIR-C)
else()
target_link_libraries(${name} PRIVATE
${ARG_LINK_LIBS})
endif()
endfunction(_add_capi_test_executable)
if(MLIR_ENABLE_EXECUTION_ENGINE)
_add_capi_test_executable(mlir-capi-execution-engine-test
execution_engine.c
LINK_LIBS PRIVATE
MLIRCAPIConversion
MLIRCAPIExecutionEngine
MLIRCAPIRegisterEverything
)
endif()
_add_capi_test_executable(mlir-capi-ir-test
ir.c
LINK_LIBS PRIVATE
MLIRCAPIIR
MLIRCAPIFunc
MLIRCAPIRegisterEverything
)
_add_capi_test_executable(mlir-capi-llvm-test
llvm.c
LINK_LIBS PRIVATE
MLIRCAPIIR
MLIRCAPILLVM
MLIRCAPIRegisterEverything
)
_add_capi_test_executable(mlir-capi-pass-test
pass.c
LINK_LIBS PRIVATE
MLIRCAPIFunc
MLIRCAPIIR
MLIRCAPIRegisterEverything
MLIRCAPITransforms
)
_add_capi_test_executable(mlir-capi-pdl-test
pdl.c
LINK_LIBS PRIVATE
MLIRCAPIIR
MLIRCAPIRegisterEverything
MLIRCAPIPDL
)
_add_capi_test_executable(mlir-capi-sparse-tensor-test
sparse_tensor.c
LINK_LIBS PRIVATE
MLIRCAPIIR
MLIRCAPIRegisterEverything
MLIRCAPISparseTensor
)
_add_capi_test_executable(mlir-capi-quant-test
quant.c
LINK_LIBS PRIVATE
MLIRCAPIIR
MLIRCAPIRegisterEverything
MLIRCAPIQuant
)
_add_capi_test_executable(mlir-capi-transform-test
transform.c
LINK_LIBS PRIVATE
MLIRCAPIIR
MLIRCAPIRegisterEverything
MLIRCAPITransformDialect
)
_add_capi_test_executable(mlir-capi-transform-interpreter-test
transform_interpreter.c
LINK_LIBS PRIVATE
MLIRCAPIIR
MLIRCAPIRegisterEverything
MLIRCAPITransformDialect
MLIRCAPITransformDialectTransforms
)
_add_capi_test_executable(mlir-capi-translation-test
translation.c
LINK_LIBS PRIVATE
MLIRCAPIIR
MLIRCAPILLVM
MLIRCAPIRegisterEverything
MLIRCAPITarget
)