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

TO-DO List #7

Closed
6 tasks done
charlesneimog opened this issue May 8, 2024 · 4 comments
Closed
6 tasks done

TO-DO List #7

charlesneimog opened this issue May 8, 2024 · 4 comments

Comments

@charlesneimog
Copy link
Collaborator

charlesneimog commented May 8, 2024

Variables

pd-lib-builder

  • PDDIR: Root directory of 'portable' pd package.

  • PDINCLUDEDIR: Directory where Pd API m_pd.h should be found, and other Pd header files. Overrides the default search path.

  • PDBINDIR: Directory where pd.dll should be found for linking (Windows only). Overrides the default search path.

  • PDLIBDIR: Root directory for installation of Pd library directories.

  • PDCMAKE_DIR: Used for the user of pd.cmake.

pd.cmake path/directory

as suggested by @umlaeute

set(PDCMAKE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH "Path to pd.cmake")
include(${PDCMAKE_DIR}/pd.cmake)

Cross Compiling

@umlaeute for this, maybe we could create some special variables, because if I understood your email, this is not enough:

if ((CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") AND LINUX)

at least for me, cross compiling need to be easy for Github Actions. pd-else for example, not support arm Linux yet.

More TODOs

  • Not create files outside the build folder
@charlesneimog charlesneimog changed the title Create and Document Variables as pd-lib-builder TO-DO List May 8, 2024
@charlesneimog
Copy link
Collaborator Author

charlesneimog commented May 28, 2024

About PDLIBDIR

@umlaeute I have some thoughts regarding the default PDLIBDIR path configuration:

Windows

Currently, pd-lib-builder uses %APPDATA%/Roaming/Pd as the default path. However, this is a hidden folder on Windows, making it somewhat inconvenient to access (personal opinion). I believe it would be more intuitive to use %HOME%/Documents/Pd/externals, which is the default path for PureData. What do you think?

Linux

For Linux, I suggest using /home/Documents/Pd/externals. In pd-lib-builder, the default path is /usr/local/lib/pd-externals, which requires sudo permissions to install. Using the home directory would simplify the installation process.

Mac

For macOS, I would also recommend placing it in the Documents folder. However, I need access to an Apple machine to verify this configuration.

@charlesneimog
Copy link
Collaborator Author

About add_pd_external function

I would simplify the add_pd_external function by reducing the number of arguments from three to two: one for the binary output name and one for the source code. Currently, the function takes three arguments: the library name, the binary output name, and the source code.

There's an issue with using the ~ character in the add_library function. We have two options to solve this:

Not allows the ~ char: FATAL_ERROR if the user set a output with the ~ character, something like: "You can't use the ~ character, replace it with _tilde."

Automatic Replacement: Automatically replace the ~ character, but this approach introduces more problems (as seen in the the test implementation in my repo's dev branch).

Current: add_pd_external(library_name, binary_output_name, source_code)
Suggested: add_pd_external(binary_output_name, source_code)

What do you think?

@umlaeute
Copy link
Contributor

What do you think?

mostly that these issues should be discussed separately, probably in https://github.com/pure-data/pd.cmake/discussions

This was referenced May 29, 2024
@umlaeute
Copy link
Contributor

umlaeute commented May 29, 2024

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

No branches or pull requests

2 participants