Skip to content
Snippets Groups Projects
README.md 1.26 KiB
Newer Older
Xuefeng Ding's avatar
Xuefeng Ding committed
# scikit-build-cpp-python



## Why and What
Xuefeng Ding's avatar
Xuefeng Ding committed

use scikit-build-core to setup a python-cmake project that can be installed with `pip install -e .`
Xuefeng Ding's avatar
Xuefeng Ding committed

## Conclusion

Xuefeng Ding's avatar
Xuefeng Ding committed
- cannot make packages like import myproj.simulation. It replaces "." with "_"
- most of the case, check following
```cmake
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/my_main.py DESTINATION .)
```
and set
```
[tool.scikit-build]
wheel.install-dir = "kk/ss"
```


## special variable


- `${SKBUILD_PLATLIB_DIR}`: The original platlib directory. Anything here goes
  directly to site-packages when a wheel is installed.
- `${SKBUILD_DATA_DIR}`: The data directory. Anything here goes to the root of
  the environment when a wheel is installed (use with care).
- `${SKBUILD_HEADERS_DIR}`: The header directory. Anything in here gets
  installed to Python's header directory.
- `${SKBUILD_SCRIPTS_DIR}`: The scripts directory. Anything placed in here will
  go to `bin` (Unix) or `Scripts` (Windows).
- `${SKBUILD_METADATA_DIR}`: The dist-info directory. Licenses go in the
  `licenses` subdirectory. _Note that CMake is not run in the
  `prepare_metadata_\*` hooks, so anything written to this directory will only
  be present when writing wheels.\_
- `${SKBUILD_NULL_DIR}`: Anything installed here will not be placed in the
  wheel.