From 415be01e3c073e4081ff1f8dec338796fae6d896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivar=20H=C3=A4rnqvist?= <ivaha717@student.liu.se> Date: Tue, 25 Feb 2020 00:04:55 +0100 Subject: [PATCH] fix cmake build output directory on windows --- .gitignore | 3 ++- CMakeLists.txt | 35 ++++++++++++++++++----------------- LICENSE | 2 +- README.md | 8 ++++---- 4 files changed, 25 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index 473e0e34..36987299 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 7f6908ed..c2381e4d 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 17010bd5..669ce41e 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 4917b55e..b36a5d82 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) -- GitLab