Commit Graph
21 Commits
Author SHA1 Message Date
Renaud Lepage 0e06b39764 Modularize build system
This commit extracts most of the build system logic into StepmaniaCore in order
to allow the use of different CMake-controlled toolchains.
2015-05-25 09:58:07 -07:00
Jason Felds 99b8b6dbbb Move versioning info to standalone file.
Thanks to @cybik for some of the assistance.
2015-05-25 12:36:58 -04:00
Jason Felds d6e98db50a Put the license file in the CMake folder.
This way if anyone wants to wipe their entire Build directory, it won't break entirely.

I am not responsible if anyone wipes the CMake folder. That is definitely not supported.
2015-05-24 21:01:49 -04:00
Jason Felds b934a25cb2 Try to not need WITH_LIBVA. 2015-05-19 20:08:15 -04:00
Kyzentun 1389e68bb3 Changed .travis.yml to use cmake. Updated changelog. Updated version number in CMakeLists.txt. 2015-05-09 08:37:08 -06:00
Jason Felds edecedd3ee Allow disabling CrystalHD for ffmpeg. 2015-05-08 22:12:47 -04:00
Jason Felds 66f67dcbc2 ...case sensitivity. 2015-04-15 19:22:39 -04:00
Jason Felds 1bb24245ce Only use -lva for StepMania, not ffmpeg. 2015-04-15 19:08:51 -04:00
Jason Felds e4807b9b85 Allow for the va library to be used with ffmpeg.
This needs verifying.
2015-04-15 18:22:36 -04:00
Jason Felds 361df3a496 Provide initial cpack support. Mainly for devs.
There are two targets you may not be familiar with, `install` and `package`.
* For Linux, `install` now defaults to `/usr/local`, but you can set it back to `/opt` with `cmake -DCMAKE_INSTALL_PREFIX=/opt` if you wish.
* For Windows, `install` may not work, but this is not a target you would want usually.
* For Linux, `package` has not been tested yet. It will likely create an archive file of what is installed.
* For Windows, `package` will create an NSIS package that can be used to install StepMania. One minor change as a result is that the binary and companion dlls will be placed in `bin` instead of `Program` now, but it makes no difference code-wise.

Mac OS X users: for now, use the `dmg` target instead.

This commit does *not* deprecate the original nsi script yet. The Texture Font Generator program has not been addressed yet.
2015-04-11 23:47:42 -04:00
Jason Felds f78574e5a7 More cmake changes:
* Replace `string(CONCAT ...)` with an equivalent call for the cmake 2.8.12 users.
* Use `execute_process` instead of the deprecated `exec_program`. This will work regardless of version (assuming the minimum is met at least).

This should address issue #549.
2015-04-06 22:35:04 -04:00
Jason Felds c49d78f5fc Linux CMake improvements:
* Disable warning output during configuration.
* Allow users to turn on warnings for ffmpeg and other internal projects.
* Add a new variable for easier ffmpeg version migration if we ever
* pursue that.
2015-04-05 14:49:10 -04:00
Jason Felds 016a4053e1 More CMake improvements and education.
* `set_target_properties` can have multiple properties assigned in one go.
* Have version information be generated from CMake, not later plist preprocessing.
* Configure the plist file regardless of OS. This should be a safe command: following the example from the knut repository.

The old fashioned Info-StepMania.plist file can be considered deprecated
upon a full migration to CMake.
2015-04-03 23:24:46 -04:00
Jason Felds b3addbedbc CMake adjusted to allow proper releasing.
Mac side is ready.
2015-03-31 21:17:20 -04:00
Jason Felds 2291cd7f4d We're going to 5.0.7. 2015-03-31 19:27:12 -04:00
Jason Felds 8993ce7fa8 Important fixes to this branch:
* Don't download the repo again if it exists.
* Remember the include directories.
2015-03-24 20:04:48 -04:00
Jason Felds 6963e4d493 Don't have ffmpeg's download take forever.
Thanks for the assist teleshoes.
2015-03-24 19:12:28 -04:00
Jason Felds 05d341485d Allow for system ffmpeg usage.
Warning: this is NOT advised right now.
2015-03-22 16:03:38 -04:00
Jason Felds 33f183938e Allow for system pcre to take precedence. 2015-03-22 15:46:53 -04:00
Jason Felds ecbec126af Allow disabling GPL only components.
Only works for Linux right now.
2015-03-22 15:24:20 -04:00
Jason Felds dc94728628 Introduce cmake (min 2.8.12) to StepMania.
tl-dr: view the Build directory to see.

This is intended to replace the project files that we presently maintain
so that only a single set is needed instead of multiples.

The following setups were used for testing:

* Windows 8 and Visual Studio 2013 Desktop Express
* Windows 7 and Visual Studio 2012
* Mac OS X Mavericks and Xcode
* Ubuntu and makefiles
* Fedora 21 and makefiles

All three operating systems can generate projects, compile, link, and
run. Windows and Mac OS X users will find their compiled binary in the
same location as before, but Linux users will be surprised: it goes
straight into the root directory, along with a symlinked GtkModules.so
as appropriate. There is no more need for a manual symlinking step.

Known issues:

* At this time, MinGW likely does not work. Extra time will be needed.
* The WITH_JPEG option may go away, and we'll just always require it.
* Some linux libraries can use the system equivalents, but that is not up yet.

For more information, check out the Build directory.
2015-03-21 20:15:15 -04:00