Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python3 & CMake build + Thread caused bug fix #21

Open
wants to merge 161 commits into
base: python3
Choose a base branch
from

Conversation

grybouilli
Copy link

katjav and others added 30 commits June 25, 2015 12:22
lib.version is only expanded if the file named by $(metafile) exists, but then it uses a hardcoded filename to do the actual expansion.

this patch uses $(metafile) to do the expansion instead.
use $(metafile) instead of hardcoded filename in lib.version expansion
This commit reorganizes the accumulation of build flags in such a way that
non-obligatory build flags can be overriden or added by specifying
CPPFLAGS, CFLAGS and LDFLAGS as arguments from command line or environment.
I've also tried to make printed info a bit more helpful.
Targets pre and post can be defined in the including (library) makefile.
They are added to provide extra flexibility. Target all will
build pre, $(executable) and post in deterministic order. Built-in
documentation is modified to reflect the new situation.
This merge introduces the evaluation of optional multiline defines
'forLinux', 'forDarwin' and 'forWindows', which can be used as a flexible
replacement for system-specific variables as in Pd-extended's Makefile
template. Example code is added to Makefile.pdlibbuilder's built-in
documentation.
Command line variable CFLAGS now work according to conventions (overriding
all non-essential C flags). CPPFLAGS and LDFLAGS are also implemented.
Built-in documentation updated.
Phony target 'pre' forces rebuilds. This should not be default
behavior of Makefile.pdlibbuilder. If one needs a pre-build target
(phony or real file), declare it as prerequisite of $(all.objects)
in the library makefile after inclusion of Makefile.pdlibbuilder.
A pre-build target can have any name that isn't a target in
Makefile.pdlibbuilder.
Also remove associated documentation comments.
Multiple arch flags are incompatible with option -MM for preprocessor
on (at least) OSX <= 10.5. Non clean builds would stall on this. This
commit disables dependency checking for fat builds (current default
for OSX) on ppc and i386. Assuming that development is done on newer
systems / machines it should rarely hurt.
The bug was probably introduced with version 0.2.3.
Bump version to 0.2.4.
ahihi and others added 30 commits March 17, 2020 13:45
 - define cache variables instead of plain variable for
   user-configurable options; those will display nicely in any CMake gui
   and are self-documenting;
 - use Python3 module instead of hardcoded paths to python/numpy;
 - try to automatically determine the shared library suffix (e.g.:
   .pd_darwin) using Python's `platform` module (note: I tested this
   only on Darwin);
 - add a STRIP_TARGET option to make `strip` optional; strip fails
   on Darwin, probably because some GNU-specific switch has been used;
 - removed some architecture-specific options which caused build to fail
   on arm64; those options should anyway not be hardcoded via
   target_compile_options() but rather set into the specific CMAKE_*
   variable (e.g. `CMAKE_CXX_FLAGS`, or `CMAKE_CXX_FLAGS_RELEASE`);
 - refactored some cpp options into the proper CMake commands;
 - removed the POST_BUILD `mkdir` && `cp` command, and used the more
   appropriate CMake `install(...)` command.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants