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

Create project structure with build tools #9

Open
nicklafarge opened this issue Nov 9, 2022 · 4 comments · May be fixed by #17
Open

Create project structure with build tools #9

nicklafarge opened this issue Nov 9, 2022 · 4 comments · May be fixed by #17
Assignees
Labels
Domain: Build Tooling Issues related to the build system feature New feature or request

Comments

@nicklafarge
Copy link
Member

nicklafarge commented Nov 9, 2022

We need a basic structure for the project including the folder hierarchy and the associated build tools (CMAKE)

@nicklafarge nicklafarge added this to the 0.1 Design & Architecture milestone Nov 9, 2022
@nicklafarge nicklafarge added the feature New feature or request label Nov 9, 2022
@rjpower4 rjpower4 added the Domain: Build Tooling Issues related to the build system label Nov 9, 2022
@rjpower4
Copy link
Member

rjpower4 commented Nov 9, 2022

Maybe something along these lines:

.
├── CMakeLists.txt
├── cmake/
├── docs/
├── lib/
│   ├── CMakeLists.txt
│   ├── forest
│   │   ├── CMakeLists.txt
│   │   ├── include/
|   |   |   └── forest/
│   │   └── src/
│   │   └── test/
│   │       └── CMakeLists.txt
│   └── pyforest/
│       ├── CMakeLists.txt
│       └── src/
│       └── test/
│       └── pyforest/
|           ├── *.cpp 
|           └── __init__.py
├── test
└── third_party
    └── CMakeLists.txt

Thoughts? Not super sure about how to organize the python stuff.

@nicklafarge
Copy link
Member Author

Looks good. I'll trust your judgement on the C++ side. A couple thoughts/questions:

  • What do you think about a top-level examples/ folder to collect some sample scripts? (not quite sure how to incorporate matlab in here)
  • I'm not sure pyforest will need a src directory. I imagine that we have pybind take care of all the python definitions (in pyforest/pyforest/*.cpp), so the only .py files would be either examples scripts (see above) or unit tests.
  • Where do you foresee pybind11 to fit into this? Are we going to handle that with git submodules? How about the cspice header files we eventually pull from NAIF?
.
├── CMakeLists.txt
├── cmake/
├── docs/
├── examples/
│   ├── pyforest/
│   ├── matlab/
├── lib/
│   ├── CMakeLists.txt
│   ├── forest
│   │   ├── CMakeLists.txt
│   │   ├── include/
|   |   |   └── forest/
│   │   └── src/
│   │   └── test/
│   │       └── CMakeLists.txt
│   └── pyforest/
│       ├── CMakeLists.txt
│       └── test/
│       └── pyforest/
|           ├── *.cpp 
|           └── __init__.py
├── test
└── third_party
    └── CMakeLists.txt

@rjpower4
Copy link
Member

rjpower4 commented Nov 9, 2022

We'll pull in pybind11 with a CMake FetchContent directive, so there's no issue there. An examples directory makes sense to me, we'll probably want to subdivide by language.

One thing, what does the user story look like in relation to installing the python directory, @nicklafarge?

@nicklafarge
Copy link
Member Author

One thing, what does the user story look like in relation to installing the python directory, @nicklafarge?

I'm not sure what you mean by "installing the python directory"?

@rjpower4 rjpower4 linked a pull request Nov 9, 2022 that will close this issue
15 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Domain: Build Tooling Issues related to the build system feature New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants