Files
revng-revng/tests/pypeline/cpp/CMakeLists.txt
Giacomo Vercesi dbc734f23a CMake: force use of Python3
Switch from using `find_package(Python ...)` to `find_package(Python3
...)` as it excludes that CMake picks a Python 2 version by accident.
2026-05-14 11:26:41 +02:00

62 lines
1.8 KiB
CMake

#
# This file is distributed under the MIT License. See LICENSE.md for details.
#
#
# Generate libmockPipeboxImpl and libmockPipebox
#
add_library(mockPipeboxImpl SHARED MockPipeboxImpl.cpp)
add_library(mockPipebox SHARED MockPipebox.cpp)
llvm_map_components_to_libnames(LLVM_LIBRARIES Support Core)
target_link_libraries(mockPipeboxImpl ${LLVM_LIBRARIES} revngSupport revngModel)
target_link_libraries(
mockPipebox
mockPipeboxImpl
${Python3_LIBRARIES}
${LLVM_LIBRARIES}
nanobind
revngSupport
revngClift)
target_include_directories(mockPipebox PUBLIC ${Python3_INCLUDE_DIRS})
configure_file(pipebox.py "${CMAKE_CURRENT_BINARY_DIR}" COPYONLY)
#
# Add tests that use libmockPipebox
#
revng_add_test(
NAME pypeline-cpp-test COMMAND
"${CMAKE_CURRENT_SOURCE_DIR}/python_cpp_test.py"
"${CMAKE_CURRENT_BINARY_DIR}/libmockPipebox.so")
set_tests_properties(
pypeline-cpp-test
PROPERTIES LABELS "pypeline;test" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
revng_add_test(
NAME
pypeline-annotations-test
COMMAND
"${CMAKE_CURRENT_SOURCE_DIR}/nanobind_test_annotations.sh"
"${CMAKE_SOURCE_DIR}"
-l
"${CMAKE_CURRENT_BINARY_DIR}/libmockPipebox.so")
set_tests_properties(
pypeline-annotations-test
PROPERTIES LABELS "pypeline;test" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
revng_add_test(
NAME pypeline-native-test COMMAND
"${CMAKE_CURRENT_SOURCE_DIR}/test_native_runners.sh" "${CMAKE_BINARY_DIR}")
set_tests_properties(
pypeline-native-test
PROPERTIES LABELS
"pypeline;test"
ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH};\
PYPELINE_PIPEBOX=${CMAKE_CURRENT_BINARY_DIR}/pipebox.py;\
PYPELINE_PIPELINE=${CMAKE_CURRENT_SOURCE_DIR}/pipeline.yml")