|
Packit |
534379 |
## Copyright(c) 2020, Intel Corporation
|
|
Packit |
534379 |
##
|
|
Packit |
534379 |
## Redistribution and use in source and binary forms, with or without
|
|
Packit |
534379 |
## modification, are permitted provided that the following conditions are met:
|
|
Packit |
534379 |
##
|
|
Packit |
534379 |
## * Redistributions of source code must retain the above copyright notice,
|
|
Packit |
534379 |
## this list of conditions and the following disclaimer.
|
|
Packit |
534379 |
## * Redistributions in binary form must reproduce the above copyright notice,
|
|
Packit |
534379 |
## this list of conditions and the following disclaimer in the documentation
|
|
Packit |
534379 |
## and/or other materials provided with the distribution.
|
|
Packit |
534379 |
## * Neither the name of Intel Corporation nor the names of its contributors
|
|
Packit |
534379 |
## may be used to endorse or promote products derived from this software
|
|
Packit |
534379 |
## without specific prior written permission.
|
|
Packit |
534379 |
##
|
|
Packit |
534379 |
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
Packit |
534379 |
## AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
Packit |
534379 |
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
Packit |
534379 |
## ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
Packit |
534379 |
## LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
Packit |
534379 |
## CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
Packit |
534379 |
## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
Packit |
534379 |
## INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
Packit |
534379 |
## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
Packit |
534379 |
## ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
Packit |
534379 |
## POSSIBILITY OF SUCH DAMAGE.
|
|
Packit |
534379 |
|
|
Packit |
534379 |
try_compile(SUPPORTS_EMBEDDED_PYTHON
|
|
Packit |
534379 |
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/test_embed.cpp
|
|
Packit |
534379 |
CMAKE_FLAGS
|
|
Packit |
534379 |
"-DINCLUDE_DIRECTORIES=${PYTHON_INCLUDE_DIRS};${PYBIND11_INCLUDE_DIR}"
|
|
Packit |
534379 |
LINK_LIBRARIES ${PYTHON_LIBRARIES}
|
|
Packit |
534379 |
OUTPUT_VARIABLE TRY_COMPILE_OUTPUT
|
|
Packit |
534379 |
)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
if (SUPPORTS_EMBEDDED_PYTHON)
|
|
Packit |
534379 |
add_executable(test_pyopae
|
|
Packit |
534379 |
${opae-test_ROOT}/framework/mock/mock.c
|
|
Packit |
534379 |
test_pyopae.cpp
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/opae.cpp
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pycontext.h
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pycontext.cpp
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pyproperties.h
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pyproperties.cpp
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pyhandle.h
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pyhandle.cpp
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pytoken.h
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pytoken.cpp
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pyshared_buffer.h
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pyshared_buffer.cpp
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pyevents.h
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pyevents.cpp
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pyerrors.h
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pyerrors.cpp
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pysysobject.h
|
|
Packit |
534379 |
${OPAE_LIBS_ROOT}/pyopae/pysysobject.cpp)
|
|
Packit |
534379 |
target_compile_definitions(test_pyopae PRIVATE
|
|
Packit |
534379 |
OPAE_EMBEDDED)
|
|
Packit |
534379 |
target_include_directories(test_pyopae
|
|
Packit |
534379 |
PRIVATE ${PYBIND11_INCLUDE_DIR}
|
|
Packit |
534379 |
PRIVATE ${PYTHON_INCLUDE_DIRS}
|
|
Packit |
534379 |
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
Packit |
534379 |
PRIVATE ${opae-test_ROOT}/framework)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
target_link_libraries(test_pyopae
|
|
Packit |
534379 |
PUBLIC
|
|
Packit |
534379 |
opae-c
|
|
Packit |
534379 |
opae-cxx-core
|
|
Packit |
534379 |
${OPAE_TEST_LIBRARIES}
|
|
Packit |
534379 |
${libjson-c_LIBRARIES}
|
|
Packit |
534379 |
${PYTHON_LIBRARIES})
|
|
Packit |
534379 |
|
|
Packit |
534379 |
macro(add_pyopae_test pytest)
|
|
Packit |
534379 |
add_custom_command(TARGET test_pyopae
|
|
Packit |
534379 |
POST_BUILD
|
|
Packit |
534379 |
COMMAND ${CMAKE_COMMAND} -E copy
|
|
Packit |
534379 |
${CMAKE_CURRENT_SOURCE_DIR}/${pytest}
|
|
Packit |
534379 |
${CMAKE_BINARY_DIR}
|
|
Packit |
534379 |
)
|
|
Packit |
534379 |
add_test(
|
|
Packit |
534379 |
NAME ${pytest}
|
|
Packit |
534379 |
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
|
Packit |
534379 |
COMMAND $<TARGET_FILE:test_pyopae> test ${pytest}
|
|
Packit |
534379 |
)
|
|
Packit |
534379 |
endmacro(add_pyopae_test pytest)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
add_pyopae_test(test_properties.py)
|
|
Packit |
534379 |
add_pyopae_test(test_shared_buffers.py)
|
|
Packit |
534379 |
add_pyopae_test(test_sysobject.py)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
else(SUPPORTS_EMBEDDED_PYTHON)
|
|
Packit |
534379 |
message(WARNING
|
|
Packit |
534379 |
"Could not compile embedded Python. See errors in embed_errors.txt")
|
|
Packit |
534379 |
file(WRITE ${CMAKE_BINARY_DIR}/embed_errors.txt ${TRY_COMPILE_OUTPUT})
|
|
Packit |
534379 |
endif(SUPPORTS_EMBEDDED_PYTHON)
|