diff --git a/.gitignore b/.gitignore index 473e0e348315eb4b4cc98afc4e9a60832546e0e6..36987299f0ef0403c4aaa8bd9a9a970ec940de35 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,5 @@ ehthumbs_vista.db $RECYCLE.BIN/ *.stackdump [Dd]esktop.ini -*.egg-info \ No newline at end of file +*.egg-info +__pycache__/ \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f6908ed2d0a352aed1e16f936a8a1d5593cccd4..c2381e4d5f346d3a84edf4fb206ade3fa08267cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,24 +12,26 @@ find_package(pybind11 CONFIG REQUIRED) set(LIBRARY_NAME "b_asic") set(TARGET_NAME "_${LIBRARY_NAME}") + if(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY) include(GNUInstallDirs) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_INSTALL_LIBDIR}") endif() +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +set(CMAKE_PDB_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +set(CMAKE_PDB_OUTPUT_DIRECTORY_DEBUG "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +set(CMAKE_PDB_OUTPUT_DIRECTORY_RELEASE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") -add_library( - "${TARGET_NAME}" MODULE - "${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp" -) -add_library( - "${TARGET_NAME}:${TARGET_NAME}" - ALIAS "${TARGET_NAME}" -) - -set_target_properties( +pybind11_add_module( "${TARGET_NAME}" - PROPERTIES - PREFIX "" + "${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp" ) target_include_directories( @@ -47,14 +49,14 @@ target_compile_options( "${TARGET_NAME}" PRIVATE $<$<OR:$<CXX_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:Clang>>: - -W -Wall -Wextra -Werror -Wno-psabi -fvisibility=hidden + -W -Wall -Wextra -Werror -Wno-psabi $<$<CONFIG:Debug>:-g> - $<$<NOT:$<CONFIG:Debug>>:-O3> + $<$<NOT:$<CONFIG:Debug>>:-O3 -flto> > $<$<CXX_COMPILER_ID:MSVC>: - /W3 /WX /permissive- /utf-8 + /W3 /WX /permissive- /utf-8 /bigobj $<$<CONFIG:Debug>:/Od> - $<$<NOT:$<CONFIG:Debug>>:/Ot> + $<$<NOT:$<CONFIG:Debug>>:/Ot /GL /LTCG> > ) @@ -62,7 +64,6 @@ target_link_libraries( "${TARGET_NAME}" PRIVATE fmt::fmt-header-only - pybind11::module ) add_custom_target( diff --git a/LICENSE b/LICENSE index 17010bd5c1e2eb344384a5fa1f4fa6bfc4b72e63..669ce41e6f7c3cc001e8f9bb88a86c0dfaf755d9 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2020 TDDD96 +Copyright (c) 2020 TDDD96 PUM4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 4917b55e937ac4e1a158f78ecce77e63d7e60cac..b36a5d82421b3c31455a2b69d8d9fc303e4c116e 100644 --- a/README.md +++ b/README.md @@ -43,26 +43,26 @@ cmake --build . --config Release The output gets written to `B-ASIC/build/lib`. ### Using setuptools to create a package -How to create a package using setuptools. +How to create a package using setuptools that can be installed using pip. #### Setup (Binary distribution) In `B-ASIC`: ``` python3 setup.py bdist_wheel ``` -The output gets written to `B-ASIC/dist`. +The output gets written to `B-ASIC/dist/b_asic-<version>-<python_tag>-<abi_tag>-<platform_tag>.whl`. #### Setup (Source distribution) In `B-ASIC`: ``` python3 setup.py sdist ``` -The output gets written to `B-ASIC/dist`. +The output gets written to `B-ASIC/dist/b-asic-<version>.tar.gz`. #### Installation (Binary distribution) In `B-ASIC`: ``` -python3 -m pip install b_asic-<version>-<cpver>-<cpver>_<arch>.whl +python3 -m pip install b_asic-<version>-<python_tag>-<abi_tag>-<platform_tag>.whl ``` #### Installation (Source distribution)