68 Commits

Author SHA1 Message Date
Jason Felds 99b79e5410 Generate verstub.cpp through raw cmake.
There is no need for an extra program.

As a bonus, generate a consistent windows vdi file.

There is still an issue with actually *reading* the vdi, but that's for someone else to tackle.
2015-10-02 21:56:02 -04:00
Jason Felds b3a5a82b5c Bring us closer to working with MinGW again.
The biggest obstacle right now deals with FFMPEG. I insist on being able to utilize the git clone/submodule (5_1_0) section. I'm just struggling with the commands.

As part of this commit, some linux files are restored in the compilation chain. This is for consistency with the old Makefile approach.

Assistance will be needed at this point to complete MinGW support.
2015-09-27 17:07:15 -04:00
Jason Felds abf58e11cf Modify the NSIS template for a better installer.
This brings it closer in-line to what we used prior to CMake.
2015-09-27 11:52:45 -04:00
Jason Felds 598233d72e Restore nasm support for ffmpeg building. 2015-09-26 10:45:38 -04:00
Jason Felds 559616686c Update and enhance travis's building capabilities.
Borrow (proper) ideas from [ldionne's work](https://github.com/ldionne/hana/blob/c8542789946b9ff8be693301c7b57d8bd14d8c4b/.travis.yml)
2015-09-25 20:20:21 -04:00
Jason Felds baebe951b8 Enable static compiling of ogg.
Using "newogg" as the directory since I wish to reserve libogg for eventual `git submodule`-ing.
2015-09-20 09:36:38 -04:00
Jason Felds 5313a880e2 Re-implement the check for HAVE_POSIX_FADVISE.
It is unclear why this was removed.

If this needs to be removed again, either do so through the config file or the definition checks.
2015-09-19 11:30:38 -04:00
Jason Felds 9140b836cc Merge pull request #778 from wolfman2000/wolf-libjpeg-jconfig
Allow proper compiling of libjpeg for windows.
2015-09-15 18:29:18 -04:00
Jason Felds 4feddab08e Allow VS2015 to compile StepMania. 2015-09-14 22:45:56 -04:00
Jason Felds 68b3620bac Allow proper compiling of libjpeg for windows.
This expands on #777 to work with jconfig.h properly.

To facilitate these operations, a new macro was added for doing compile tests.

Note that this commit does NOT bring in the other files associated with this version of libjpeg.

At some point, it would be desirable to automatically get the files as part of the cmake configuration step, similar to ffmpeg.
2015-09-13 13:10:58 -04:00
Jason Felds 91361e5d29 Allow changing WAV and OGG settings for all OSes.
As before, set WITH_WAV and WITH_OGG to off to limit your playing experience. Why this would be done is beyond me, but it's available.
2015-09-12 11:58:57 -04:00
Jason Felds b143f5afca Improve and enhance WITH_MP3.
* All OSes can now take advantage of it.
* Mad is not linked if not utilized.
* Mac OS X side has a cleaner library list setup now.
2015-09-12 11:23:45 -04:00
Jason Felds 381870f9ea Allow libmad to be compiled in Windows.
This removes the need for an externally built library, thus officially removing the deprecated Xbox projects.

Other minimal changes were made to ensure consistency. Comments will be made in the PR.

Thanks to @Prcuvu for the initial push.
2015-09-07 09:50:01 -04:00
Jason Felds ae83a1c6ec Fixes for Linux. 2015-09-05 13:14:44 -04:00
Jason Felds e093d204c8 Use proper cmake detection of features.
This attempts to organize all needed items and places appropriate defines
in a single location. Redundant comparisons/defines were removed when noticed.

A few caveats, however:

* This may be better targeted towards the 5_1_0 branch instead of master right now.
* Cmake will run a little slower on configuration/generation now. That's due to the sanity checks it runs.
* There are some more checks to be added later, but this should be a solid start.

Thanks to the [libical](https://github.com/libical/libical) project for inspiration.
2015-09-05 10:51:17 -04:00
Jason Felds 4eb39ac38c Use the more appropriate output name properties.
Now Linux can join in on different binary names.
2015-07-02 21:51:37 -04:00
Jason Felds 42ad044817 Linux broke somehow. Restore it with system jpeg. 2015-06-19 20:53:13 -04:00
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