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

cmake-based Windows build pipe #17

Open
julik opened this issue Nov 21, 2013 · 13 comments
Open

cmake-based Windows build pipe #17

julik opened this issue Nov 21, 2013 · 13 comments
Assignees

Comments

@julik
Copy link
Owner

julik commented Nov 21, 2013

I think that's a go. What we need to have a look at is the following

  • currently the cmakes have qite a bit of biolerplate for OSX for example, which you won't need
  • we need more precise instructions on bullding the source code. Maybe we should have a separate Markdown file for that with instructions split per OS.
@ghost ghost assigned sebastianelsner Nov 21, 2013
@sebastianelsner
Copy link
Contributor

Just the other day I read this article:
http://www.jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/

I found it very helpful in terms of project structure. We could also
move the binaries from the repo to githubs own download section.

On 11/21/2013 11:57 PM, Julik Tarkhanov wrote:

I think that's a go. What we need to have a look at is the following

  • currently the cmakes have qite a bit of biolerplate for OSX for
    example, which you won't need
  • we need more precise instructions on bullding the source code.
    Maybe we should have a separate Markdown file for that with
    instructions split per OS.


Reply to this email directly or view it on GitHub
#17.

check out www.pointcloud9.com

Sebastian Elsner - Pipeline Technical Director - RISE

t: +49 30 20180300 florian@risefx.com
f: +49 30 61651074 www.risefx.com

RISE FX GmbH
Schlesische Strasse 28, Aufgang B, 10997 Berlin
c/o action concept, An der Hasenkaule 1-7, 50354 Hürth
Geschaeftsfuehrer: Sven Pannicke, Robert Pinnow
Handelsregister Berlin HRB 106667 B

@julik
Copy link
Owner Author

julik commented Nov 22, 2013

The thing is, Github used to have downloads but they removed it. This meant that the releases went bust for people having links to the downloads page. Also I've noticed that the "download ZIP" button was getting used with people expecting that they will also get the binaries, while in fact they were only getting a repo snapshot. Do we trust the new "Releases" feature on Github enough to use it? https://github.com/blog/1547-release-your-software
Considering that we have a Python bootstrap, a release download will be the same thing as a .zip of the repo anyway - because the bootstrapper assumes a certain directory structure.

Re. the python guidelines - the only thing we currently don't execute is git-flow but I consider it a bit overkill if you got a small project. Besides of that:

  • Travis-CI and autotests - a noble goal, but Travis will never work
  • testing - we could setup some pipeline that would rely on CLI-rendering a script and diff-comparing the outputs, but this falls far short of the QA these plugins need, so I rather not go that way
  • building - we cannot rely on anything like setuptools
  • directory structure - there is some leeway in there but I need to have init.py and menu.py in the root to allow for quick bootstrapping.

@sebastianelsner
Copy link
Contributor

Github releases look ok and easy to use. The other way would be to go
through Nukepedia and the way they provide plug-ins. Frank is building a
build-in client for nuke (https://github.com/frueter/NKPD) maybe he has
a way to access binaries, too.

Re. guidelines: You are completely right, that this is overkill for this
project (and most other small to midsize). I was only referring to the
structure template, which could be useful for us.

On 11/22/2013 10:40 AM, Julik Tarkhanov wrote:

The thing is, Github used to have downloads but they removed it. This
meant that the releases went bust for people having links to the
downloads page. Also I've noticed that the "download ZIP" button was
getting used with people expecting that they will also get the
binaries, while in fact they were only getting a repo snapshot. Do we
trust the new "Releases" feature on Github enough to use it?
https://github.com/blog/1547-release-your-software
Considering that we have a Python bootstrap, a release download will
be the same thing as a .zip of the repo anyway - because the
bootstrapper assumes a certain directory structure.

Re. the python guidelines - the only thing we currently don't execute
is git-flow but I consider it a bit overkill if you got a small
project. Besides of that:

  • Travis-CI and autotests - a noble goal, but Travis will never work
  • testing - we could setup some pipeline that would rely on
    CLI-rendering a script and diff-comparing the outputs, but this
    falls far short of the QA these plugins need, so I rather not go
    that way
  • building - we cannot rely on anything like setuptools
  • directory structure - there is some leeway in there but I need to
    have |init.py| and |menu.py| in the root to allow for quick
    bootstrapping.


Reply to this email directly or view it on GitHub
#17 (comment).

check out www.pointcloud9.com

Sebastian Elsner - Pipeline Technical Director - RISE

t: +49 30 20180300 florian@risefx.com
f: +49 30 61651074 www.risefx.com

RISE FX GmbH
Schlesische Strasse 28, Aufgang B, 10997 Berlin
c/o action concept, An der Hasenkaule 1-7, 50354 Hürth
Geschaeftsfuehrer: Sven Pannicke, Robert Pinnow
Handelsregister Berlin HRB 106667 B

@julik
Copy link
Owner Author

julik commented Nov 22, 2013

Nukepedia is wonderful, but back in the day I have dismissed it because it didn't have a way to push releases automatically. If I wanted to release a new version I had to go in and wait for a few minutes for these awful forms to load, then I had to make a separate upload for every binary, there was no semantic versioning, no good filtering per Nuke version and platform and so on - it was a really poor experience overall. I wonder whether that has improved lately. Re. github releases - let's.

@julik
Copy link
Owner Author

julik commented Nov 27, 2013

Good stuff! I've merged the build instructions - can you contain the cmake setup to one directory and add your build instructions to BUILD_INSTRUCTIONS.md ?

@sebastianelsner
Copy link
Contributor

You mean putting the cmake files into a separate directory? cmake will
not work any more then. I needs to be in the source directory. I have
never seen a cmake project with the files in a separate directory. I am
also working on cmake linux support, mainly just for learning how its
done there. Will do for the instructions.

On 11/27/2013 11:11 AM, Julik Tarkhanov wrote:

Good stuff! I've merged the build instructions - can you contain the
cmake setup to one directory and add your build instructions to
|BUILD_INSTRUCTIONS.md| ?


Reply to this email directly or view it on GitHub
#17 (comment).

check out www.pointcloud9.com

Sebastian Elsner - Pipeline Technical Director - RISE

t: +49 30 20180300 florian@risefx.com
f: +49 30 61651074 www.risefx.com

RISE FX GmbH
Schlesische Strasse 28, Aufgang B, 10997 Berlin
c/o action concept, An der Hasenkaule 1-7, 50354 Hürth
Geschaeftsfuehrer: Sven Pannicke, Robert Pinnow
Handelsregister Berlin HRB 106667 B

@julik
Copy link
Owner Author

julik commented Nov 27, 2013

If it has to be in the same dir it has to ;-)

On 27 Nov 2013, at 11:18, sebastianelsner notifications@github.com wrote:

You mean putting the cmake files into a separate directory? cmake will
not work any more then. I needs to be in the source directory. I have
never seen a cmake project with the files in a separate directory. I am
also working on cmake linux support, mainly just for learning how its
done there. Will do for the instructions.

Julik Tarkhanov
me@julik.nl

@julik
Copy link
Owner Author

julik commented Dec 21, 2013

@sebastianelsner still up to it? I've even prepared a file where we can put out build instructions per platform...

@sebastianelsner
Copy link
Contributor

Will get to it in the next two holiday weeks, stay tuned.

@sebastianelsner
Copy link
Contributor

Quick update: I have been struggling with getting my linux build system up and running. I am using Linux Mint 16 on my private computer, but getting gcc412 to build seems to need lots of fixes. I will try with a centos 5.4 VM as a buildhost now.

@julik
Copy link
Owner Author

julik commented Jan 2, 2014

@sebastianelsner building on Ubuntu is an issue for both Maya and Nuke plugins. Personally I gave up trying.

@julik
Copy link
Owner Author

julik commented Jan 2, 2014

@sebastianelsner by the way, a very happy 2014 to you sir!

@sebastianelsner
Copy link
Contributor

please see the cmake branch. Linux and windows cmake build is now working using https://github.com/nerdvegas/vfxcmake I recently discovered.
The only thing not implemented is OSX support (maybe you can do that) and support for installing (i.e. make install: would copy all plugins to .nuke). I should also remove the linux makefile later on as well as write a short build help. For now you can merge and release the binary plugins I added. Please thest the Linux plugins, because I do not have license on that machine.

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