mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2025-04-21 06:10:02 +02:00
building with scikit build
This commit is contained in:
parent
1a16d4522e
commit
c509e29b52
@ -1,20 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
mkdir build
|
|
||||||
mkdir install
|
|
||||||
cd build
|
|
||||||
cmake .. \
|
|
||||||
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
|
|
||||||
-DCMAKE_INSTALL_PREFIX=install \
|
|
||||||
-DAARE_SYSTEM_LIBRARIES=ON \
|
|
||||||
-DAARE_TESTS=ON \
|
|
||||||
-DAARE_PYTHON_BINDINGS=ON \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
|
|
||||||
|
|
||||||
NCORES=$(getconf _NPROCESSORS_ONLN)
|
|
||||||
echo "Building using: ${NCORES} cores"
|
|
||||||
cmake --build . -- -j${NCORES}
|
|
||||||
cmake --build . --target install
|
|
||||||
|
|
||||||
# CTEST_OUTPUT_ON_FAILURE=1 ctest -j 1
|
|
@ -1,19 +0,0 @@
|
|||||||
mkdir -p $PREFIX/lib
|
|
||||||
mkdir -p $PREFIX/bin
|
|
||||||
mkdir -p $PREFIX/include/aare
|
|
||||||
|
|
||||||
|
|
||||||
#Shared and static libraries
|
|
||||||
cp build/install/lib/* $PREFIX/lib/
|
|
||||||
|
|
||||||
#Binaries
|
|
||||||
# cp build/install/bin/sls_detector_acquire $PREFIX/bin/.
|
|
||||||
# cp build/install/bin/sls_detector_get $PREFIX/bin/.
|
|
||||||
# cp build/install/bin/sls_detector_put $PREFIX/bin/.
|
|
||||||
# cp build/install/bin/sls_detector_help $PREFIX/bin/.
|
|
||||||
# cp build/install/bin/slsReceiver $PREFIX/bin/.
|
|
||||||
# cp build/install/bin/slsMultiReceiver $PREFIX/bin/.
|
|
||||||
|
|
||||||
|
|
||||||
cp build/install/include/aare/* $PREFIX/include/aare
|
|
||||||
cp -rv build/install/share $PREFIX
|
|
@ -1,104 +1,44 @@
|
|||||||
|
|
||||||
|
|
||||||
package:
|
package:
|
||||||
name: aare_software
|
name: aare
|
||||||
version: {{ environ.get('GIT_DESCRIBE_TAG', '') }}
|
version: 2024.10.29.dev0 #TODO! how to not duplicate this?
|
||||||
|
|
||||||
source:
|
source:
|
||||||
- path: ..
|
path: ..
|
||||||
|
|
||||||
build:
|
build:
|
||||||
number: 0
|
number: 0
|
||||||
binary_relocation: True
|
script:
|
||||||
rpaths:
|
- unset CMAKE_GENERATOR && {{ PYTHON }} -m pip install . -vv # [not win]
|
||||||
- lib/
|
- {{ PYTHON }} -m pip install . -vv # [win]
|
||||||
|
|
||||||
requirements:
|
requirements:
|
||||||
build:
|
build:
|
||||||
- {{ compiler('c') }}
|
- python
|
||||||
- {{compiler('cxx')}}
|
- {{ compiler('cxx') }}
|
||||||
- cmake
|
|
||||||
# - qt 5.*
|
|
||||||
# - xorg-libx11
|
|
||||||
# - xorg-libice
|
|
||||||
# - xorg-libxext
|
|
||||||
# - xorg-libsm
|
|
||||||
# - xorg-libxau
|
|
||||||
# - xorg-libxrender
|
|
||||||
# - xorg-libxfixes
|
|
||||||
# - {{ cdt('mesa-libgl-devel') }} # [linux]
|
|
||||||
# - {{ cdt('mesa-libegl-devel') }} # [linux]
|
|
||||||
# - {{ cdt('mesa-dri-drivers') }} # [linux]
|
|
||||||
# - {{ cdt('libselinux') }} # [linux]
|
|
||||||
# - {{ cdt('libxdamage') }} # [linux]
|
|
||||||
# - {{ cdt('libxxf86vm') }} # [linux]
|
|
||||||
# - expat
|
|
||||||
|
|
||||||
host:
|
host:
|
||||||
# - libstdcxx-ng
|
- cmake
|
||||||
# - libgcc-ng
|
- ninja
|
||||||
# - xorg-libx11
|
- python
|
||||||
# - xorg-libice
|
- pip
|
||||||
# - xorg-libxext
|
- scikit-build-core
|
||||||
# - xorg-libsm
|
- pybind11 >=2.13.0
|
||||||
# - xorg-libxau
|
- fmt
|
||||||
# - xorg-libxrender
|
|
||||||
# - xorg-libxfixes
|
|
||||||
# - expat
|
|
||||||
|
|
||||||
run:
|
run:
|
||||||
# - libstdcxx-ng
|
- python
|
||||||
# - libgcc-ng
|
|
||||||
|
|
||||||
|
|
||||||
outputs:
|
test:
|
||||||
- name: aarelib
|
imports:
|
||||||
script: copy_lib.sh
|
- aare
|
||||||
|
# requires:
|
||||||
requirements:
|
# - pytest
|
||||||
build:
|
# source_files:
|
||||||
- {{ compiler('c') }}
|
# - tests
|
||||||
- {{compiler('cxx')}}
|
# commands:
|
||||||
- catch2
|
# - pytest tests
|
||||||
- zstd
|
|
||||||
|
|
||||||
# - libstdcxx-ng
|
|
||||||
# - libgcc-ng
|
|
||||||
|
|
||||||
|
|
||||||
run:
|
|
||||||
# - libstdcxx-ng
|
|
||||||
# - libgcc-ng
|
|
||||||
|
|
||||||
# - name: aare
|
|
||||||
|
|
||||||
# script: build_pylib.sh
|
|
||||||
|
|
||||||
# requirements:
|
|
||||||
# build:
|
|
||||||
# - python
|
|
||||||
# - {{ compiler('c') }}
|
|
||||||
# - {{compiler('cxx')}}
|
|
||||||
# - {{ pin_subpackage('slsdetlib', exact=True) }}
|
|
||||||
# - setuptools
|
|
||||||
# - pybind11=2.11
|
|
||||||
|
|
||||||
# host:
|
|
||||||
# - python
|
|
||||||
# - {{ pin_subpackage('slsdetlib', exact=True) }}
|
|
||||||
# - pybind11=2.11
|
|
||||||
|
|
||||||
|
|
||||||
# run:
|
|
||||||
# - libstdcxx-ng
|
|
||||||
# - libgcc-ng
|
|
||||||
# - python
|
|
||||||
# - numpy
|
|
||||||
# - {{ pin_subpackage('slsdetlib', exact=True) }}
|
|
||||||
|
|
||||||
|
|
||||||
# test:
|
|
||||||
# imports:
|
|
||||||
# - slsdet
|
|
||||||
|
|
||||||
|
|
||||||
|
about:
|
||||||
|
summary: An example project built with pybind11 and scikit-build.
|
||||||
|
# license_file: LICENSE
|
14
pyproject.toml
Normal file
14
pyproject.toml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["scikit-build-core>=0.10", "pybind11"]
|
||||||
|
build-backend = "scikit_build_core.build"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "aare"
|
||||||
|
version = "2024.10.29.dev0"
|
||||||
|
|
||||||
|
[tool.scikit-build]
|
||||||
|
cmake.verbose = true
|
||||||
|
|
||||||
|
[tool.scikit-build.cmake.define]
|
||||||
|
AARE_PYTHON_BINDINGS = "ON"
|
||||||
|
AARE_SYSTEM_LIBRARIES = "ON"
|
@ -1,34 +1,44 @@
|
|||||||
|
# Download or find pybind11 depending on configuration
|
||||||
if(AARE_FETCH_PYBIND11)
|
if(AARE_FETCH_PYBIND11)
|
||||||
FetchContent_Declare(
|
FetchContent_Declare(
|
||||||
pybind11
|
pybind11
|
||||||
GIT_REPOSITORY https://github.com/pybind/pybind11
|
GIT_REPOSITORY https://github.com/pybind/pybind11
|
||||||
GIT_TAG v2.11.0
|
GIT_TAG v2.13.0
|
||||||
)
|
)
|
||||||
FetchContent_MakeAvailable(pybind11)
|
FetchContent_MakeAvailable(pybind11)
|
||||||
else()
|
else()
|
||||||
find_package(pybind11 2.11 REQUIRED)
|
find_package(pybind11 2.13 REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Add the compiled python extension
|
||||||
pybind11_add_module(
|
pybind11_add_module(
|
||||||
_aare
|
_aare # name of the module
|
||||||
src/module.cpp
|
src/module.cpp # source file
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(_aare PROPERTIES
|
set_target_properties(_aare PROPERTIES
|
||||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
|
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
)
|
)
|
||||||
target_link_libraries(_aare PRIVATE aare_core aare_compiler_flags)
|
target_link_libraries(_aare PRIVATE aare_core aare_compiler_flags)
|
||||||
|
|
||||||
|
# List of python files to be copied to the build directory
|
||||||
set( PYTHON_FILES
|
set( PYTHON_FILES
|
||||||
aare/__init__.py
|
aare/__init__.py
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Copy the python files to the build directory
|
||||||
foreach(FILE ${PYTHON_FILES})
|
foreach(FILE ${PYTHON_FILES})
|
||||||
configure_file( ${FILE}
|
configure_file(${FILE} ${CMAKE_BINARY_DIR}/${FILE} )
|
||||||
${CMAKE_BINARY_DIR}/${FILE} )
|
|
||||||
endforeach(FILE ${PYTHON_FILES})
|
endforeach(FILE ${PYTHON_FILES})
|
||||||
|
|
||||||
|
set_target_properties(_aare PROPERTIES
|
||||||
configure_file( examples/play.py
|
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/aare
|
||||||
${CMAKE_BINARY_DIR}/play.py
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Copy the examples/scripts to the build directory
|
||||||
|
configure_file(examples/play.py ${CMAKE_BINARY_DIR}/play.py)
|
||||||
|
|
||||||
|
|
||||||
|
install(TARGETS _aare DESTINATION aare)
|
@ -1,3 +1,2 @@
|
|||||||
|
# Make the compiled classes that live in _aare available from aare.
|
||||||
|
from ._aare import File
|
||||||
from _aare import File
|
|
Loading…
x
Reference in New Issue
Block a user