|
Packit |
534379 |
## Copyright(c) 2018-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 |
set(PYOPAE_PYBIND11_VERSION "2.2.4")
|
|
Packit |
534379 |
|
|
Packit |
534379 |
set(PYOPAE_SRC
|
|
Packit |
534379 |
opae.cpp
|
|
Packit |
534379 |
pycontext.h
|
|
Packit |
534379 |
pycontext.cpp
|
|
Packit |
534379 |
pyproperties.h
|
|
Packit |
534379 |
pyproperties.cpp
|
|
Packit |
534379 |
pyhandle.h
|
|
Packit |
534379 |
pyhandle.cpp
|
|
Packit |
534379 |
pytoken.h
|
|
Packit |
534379 |
pytoken.cpp
|
|
Packit |
534379 |
pyshared_buffer.h
|
|
Packit |
534379 |
pyshared_buffer.cpp
|
|
Packit |
534379 |
pyevents.h
|
|
Packit |
534379 |
pyevents.cpp
|
|
Packit |
534379 |
pyerrors.h
|
|
Packit |
534379 |
pyerrors.cpp
|
|
Packit |
534379 |
pysysobject.h
|
|
Packit |
534379 |
pysysobject.cpp
|
|
Packit |
534379 |
)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
opae_external_project_add(PROJECT_NAME pybind11
|
|
Packit |
534379 |
GIT_URL https://github.com/pybind/pybind11.git
|
|
Packit |
534379 |
GIT_TAG v2.4.3
|
|
Packit |
534379 |
)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
opae_add_module_library(TARGET _opae
|
|
Packit |
534379 |
SOURCE ${PYOPAE_SRC}
|
|
Packit |
534379 |
LIBS
|
|
Packit |
534379 |
opae-c
|
|
Packit |
534379 |
opae-cxx-core
|
|
Packit |
534379 |
)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
target_include_directories(_opae
|
|
Packit |
534379 |
PRIVATE ${PYBIND11_INCLUDE_DIR}
|
|
Packit |
534379 |
PRIVATE ${PYTHON_INCLUDE_DIRS})
|
|
Packit |
534379 |
|
|
Packit |
534379 |
set_target_properties(_opae
|
|
Packit |
534379 |
PROPERTIES PREFIX ""
|
|
Packit |
534379 |
CXX_VISIBILITY_PRESET "hidden"
|
|
Packit |
534379 |
LINK_FLAGS "-std=c++11"
|
|
Packit |
534379 |
LIBRARY_OUTPUT_DIRECTORY
|
|
Packit |
534379 |
${LIBRARY_OUTPUT_PATH}/python${OPAE_PYTHON_VERSION}/opae/fpga
|
|
Packit |
534379 |
)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
add_custom_command(TARGET _opae
|
|
Packit |
534379 |
POST_BUILD
|
|
Packit |
534379 |
COMMAND ${CMAKE_COMMAND} -E copy
|
|
Packit |
534379 |
${CMAKE_CURRENT_SOURCE_DIR}/opae/__init__.py
|
|
Packit |
534379 |
${LIBRARY_OUTPUT_PATH}/python${OPAE_PYTHON_VERSION}/opae
|
|
Packit |
534379 |
COMMAND ${CMAKE_COMMAND} -E copy
|
|
Packit |
534379 |
${CMAKE_CURRENT_SOURCE_DIR}/opae/fpga/__init__.py
|
|
Packit |
534379 |
${LIBRARY_OUTPUT_PATH}/python${OPAE_PYTHON_VERSION}/opae/fpga
|
|
Packit |
534379 |
COMMENT "Copying namespace package files")
|
|
Packit |
534379 |
|
|
Packit |
534379 |
add_custom_command(TARGET _opae
|
|
Packit |
534379 |
POST_BUILD
|
|
Packit |
534379 |
COMMAND ${CMAKE_COMMAND} -E copy
|
|
Packit |
534379 |
${CMAKE_CURRENT_SOURCE_DIR}/test_pyopae.py
|
|
Packit |
534379 |
${LIBRARY_OUTPUT_PATH}/python${OPAE_PYTHON_VERSION}
|
|
Packit |
534379 |
COMMENT "Copying Python test files")
|
|
Packit |
534379 |
|
|
Packit |
534379 |
if (OPAE_BUILD_PYTHON_DIST)
|
|
Packit |
534379 |
set(SETUP_INCLUDE_DIRS "${OPAE_INCLUDE_DIR}:${PYBIND_INCLUDE_DIR}")
|
|
Packit |
534379 |
|
|
Packit |
534379 |
set(PYFILES
|
|
Packit |
534379 |
setup.py
|
|
Packit |
534379 |
opae/__init__.py
|
|
Packit |
534379 |
opae/fpga/__init__.py
|
|
Packit |
534379 |
test_pyopae.py
|
|
Packit |
534379 |
)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
set (PYDIST_STAGE_DIR ${CMAKE_CURRENT_BINARY_DIR}/stage)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
configure_file(README.md ${PYDIST_STAGE_DIR}/README.md @ONLY)
|
|
Packit |
534379 |
foreach(pyfile ${PYFILES})
|
|
Packit |
534379 |
configure_file(${pyfile} ${PYDIST_STAGE_DIR}/${pyfile} @ONLY)
|
|
Packit |
534379 |
endforeach(pyfile ${PYFILES})
|
|
Packit |
534379 |
|
|
Packit |
534379 |
foreach(cppfile ${PYOPAE_SRC})
|
|
Packit |
534379 |
file(COPY ${cppfile} DESTINATION ${PYDIST_STAGE_DIR})
|
|
Packit |
534379 |
endforeach(cppfile ${PYOPAE_SRC})
|
|
Packit |
534379 |
file(COPY MANIFEST.in DESTINATION ${PYDIST_STAGE_DIR})
|
|
Packit |
534379 |
add_custom_target(pyopae-dist
|
|
Packit |
534379 |
COMMAND ${PYTHON_EXECUTABLE} setup.py sdist
|
|
Packit |
534379 |
COMMAND ${PYTHON_EXECUTABLE} setup.py build_ext
|
|
Packit |
534379 |
--include-dirs=${OPAE_INCLUDE_DIR}
|
|
Packit |
534379 |
--library-dirs=${LIBRARY_OUTPUT_PATH}
|
|
Packit |
534379 |
COMMAND ${PYTHON_EXECUTABLE} setup.py bdist_wheel
|
|
Packit |
534379 |
DEPENDS ${PYFILES} ${PYOPAE_SRC}
|
|
Packit |
534379 |
WORKING_DIRECTORY ${PYDIST_STAGE_DIR}
|
|
Packit |
534379 |
COMMENT "Building Python distrubutions")
|
|
Packit |
534379 |
endif (OPAE_BUILD_PYTHON_DIST)
|