Commit Graph
100 Commits
Author SHA1 Message Date
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 34ba6e37c4 Merge pull request #775 from wolfman2000/wolf-with-other-audio-off
Allow changing WAV and OGG settings for all OSes.
2015-09-12 12:12:05 -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 e103bf286f Merge pull request #774 from wolfman2000/wolf-with-mp3-off
Improve and enhance WITH_MP3.
2015-09-12 11:36:49 -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 e7b3011058 Merge pull request #773 from wolfman2000/wolf-tomcrypt-portable
Switch portable tomcrypt to ON by default.
2015-09-11 17:03:28 -04:00
Jason Felds 2448e67641 Switch portable tomcrypt to ON by default. 2015-09-09 20:47:46 -04:00
Jason Felds 0d5a3fdfc1 Merge pull request #769 from wolfman2000/wolf-locale-chaos
Attempt to fix compiling for Windows JP users.
2015-09-08 17:15:31 -04:00
Jason Felds 4149191b54 Attempt to fix compiling for Windows JP users. 2015-09-08 16:57:56 -04:00
Jason Felds 0b2a31491c Merge pull request #768 from wolfman2000/prcuvu-libmad-windows-src
Allow libmad to be compiled in Windows.
2015-09-08 16:55:21 -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 b3c8f28c9d Merge pull request #765 from wolfman2000/wolf-cmake-feature-detection
Use proper cmake detection of features.
2015-09-06 09:08:13 -04:00
Jason Felds 2cbec13c5a Merge pull request #766 from wolfman2000/wolf-travis-container
Switch to travis's container infrastructure.
2015-09-06 09:05:33 -04:00
Jason Felds 70375a7e26 ...I forgot libvorbis? Re-verify. 2015-09-06 08:52:24 -04:00
Jason Felds e488674987 Whitespace fix. 2015-09-06 08:40:37 -04:00
Jason Felds 02a443460e Switch to travis's container infrastructure.
Alledgedly, we'll get faster builds and performance. Considering how complex this repository is, it's worth trying. Note that sudo calls are not allowed with this container format at this time.
2015-09-06 08:33:30 -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 89683e0e7c Merge pull request #761 from Prcuvu/use_vs_implemented_functions
Use Visual Studio implemented functions.
2015-09-01 20:23:59 -04:00
Jason Felds 0075192ada ...silly typo. 2015-08-20 18:24:50 -04:00
Jason Felds 4344d0114a Have Windows build with Minimaid on by default. 2015-08-20 16:50:10 -04:00
Jason Felds 76d07bca14 Merge pull request #730 from wolfman2000/wolf-timing-window-ticks
Partial revert of b61e878.
2015-07-19 22:12:28 -04:00
Jason Felds 23d9271307 More accurate timing based on chart data.
Thanks to Skypers for the assist.
2015-07-19 22:09:34 -04:00
Jason Felds 960af12c23 Partial revert of b61e878.
Pump holds do have a little bit of leeway when it comes to letting go and putting your foot back on as proven by [WinDEU's demonstration of Dignity S20](https://www.youtube.com/watch?v=P2Fw9KPyHIg&feature=youtu.be&t=30).

The value used was determined by two video sources: the one mentioned above and a private one sent to me involving a different song/chart combination. 200ms is a rough estimate for what works. There may be other allowed values.
2015-07-19 16:08:50 -04:00
Jason Felds e7ba881168 Update cmake comments. 2015-07-12 07:31:38 -04:00
Jason Felds eca10c363c Merge pull request #720 from HirotakaTakayama/document_patch2
Add example information: Build/README.md.
2015-07-11 21:04:18 -04:00
Jason Felds 46ac2bd63b Merge pull request #719 from HirotakaTakayama/document_patch1 2015-07-11 12:47:02 -04:00
Jason Felds 358712b0ff Merge pull request #710 from wolfman2000/wolf-cmake-output-names
Use the more appropriate output name properties.
2015-07-02 22:11:11 -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 1e3bb0a10e Merge pull request #709 from wolfman2000/wolf-cmake-indexing
Use list(FIND) to have more flexible lists.
2015-07-02 21:14:03 -04:00
Jason Felds 09621811e8 Use list(FIND) to have more flexible lists.
If Travis builds this, then we know it is solid.
2015-07-02 20:52:03 -04:00
Jason Felds d1ce427a19 Merge pull request #708 from wolfman2000/wolf-xcode-old-readme
Remove deprecated XCode project. Update README.
2015-07-02 20:45:19 -04:00
Jason Felds aaba7c6e23 Remove deprecated project. Update README.
There was nothing absolutely necessary to bring in to the cmake version from what I can tell.
2015-07-02 20:23:06 -04:00
Jason Felds 42ad044817 Linux broke somehow. Restore it with system jpeg. 2015-06-19 20:53:13 -04:00
Jason Felds 3bd182b523 Potential holy war, but use UTF-8 always. 2015-06-10 18:09:27 -04:00
Jason Felds 5a1f3433bc Merge pull request #673 from wolfman2000/wolf-checkpoint-m-only
Require reasons for checkpoints.
2015-06-08 19:00:43 -04:00
Jason Felds 80542a5a7d Require reasons for checkpoints. 2015-06-08 18:37:13 -04:00
Jason Felds 07c773fe2b Merge pull request #664 from wolfman2000/wolf-bundle-warning-fix
Fix bundle warning.
2015-06-02 20:09:28 -04:00
Jason Felds 999fdfee5a Fix bundle warning. 2015-05-29 09:36:22 -04:00
Jason Felds c5e4f3fca8 Add diffmerge files to gitignore. 2015-05-26 10:36:57 -04:00
Jason Felds 441075a532 We forgot about the generated stuff @cybik. 2015-05-25 15:51:11 -04:00
Jason Felds 26b6738913 Merge pull request #658 from stepmania/toolchain-prep
Modularize build system
2015-05-25 13:41:21 -04:00
Jason Felds 5a6291e887 Merge pull request #657 from stepmania/crash-manager-linux-back
Reactivating Crash Manager on the Linux platform
2015-05-25 13:33:44 -04:00
Jason Felds 21b80aaca3 Merge pull request #656 from stepmania/verstub-is-gone
Alter verstub generation
2015-05-25 13:21:49 -04:00
Jason Felds 8394366238 Prepare timestamp macros. 2015-05-25 12:43:22 -04: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 57ebdd87fb Fix Release With Debug Info 2015-05-25 11:56:40 -04:00
Jason Felds 130ce32784 Merge pull request #651 from wolfman2000/wolf-cmake-license-file-change
Put the license file in the CMake folder.
2015-05-24 21:18:50 -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 266ac4ef92 Merge pull request #635 from wolfman2000/wolf-libva-builtin
Try to not need WITH_LIBVA.
2015-05-20 19:37:17 -04:00
Jason Felds 57ad9e1eba Ensure Ubuntu core dumps never get added. 2015-05-19 22:09:29 -04:00
Jason Felds b934a25cb2 Try to not need WITH_LIBVA. 2015-05-19 20:08:15 -04:00
Jason Felds a000732c2c Merge pull request #615 from nixtrix/previewlength2
Setting sample length for songs with preview file to 0 uses length of preview file
2015-05-18 23:11:22 -04:00
Jason Felds e85162df7a Merge pull request #614 from nixtrix/changelog
Updated the changelog with all the new changes I've made
2015-05-18 23:09:58 -04:00
Jason Felds c3b468382d Merge pull request #613 from dguzek/OSX-Loading-Splash
fix LoadingWindow splash image for OS X
2015-05-17 22:02:31 -04:00
Jason Felds b756db459e Don't allow any .a files in general.
If they must be added, force them from here on.
2015-05-13 21:05:18 -04:00
Jason Felds aa53504530 Ignore generated CodeLite files.
Yes, trying to branch out slightly.
2015-05-13 19:00:46 -04:00
Jason Felds 736e68e6e9 Merge pull request #597 from jobn/cmakefindjack
Added missing lines of FindJACK.cmake - now finds JACK successfully
2015-05-11 16:59:02 -04:00
Jason Felds 86b0a207d9 A few cmake related fixes:
* Restore Windows installing to `C:\Games` by default.
* Restore Windows installing to the `Program` subdirectory.
* Use actual newlines in the `Build` documentation files.
* Remove the text that says that cmake is unstable.
2015-05-10 09:32:56 -04:00
Jason Felds 1578072d4d Don't break up -G and the generator. 2015-05-09 15:05:16 -04:00
Jason Felds da2c5921bc Use portable tomcrypt for Travis for now. 2015-05-09 14:53:06 -04:00
Jason Felds 215cf4265c Verify both cmake and stepmania install.
This comes from http://docs.travis-ci.com/user/installing-dependencies/
2015-05-09 14:35:08 -04:00
Jason Felds 0b49ae773f Attempt a manual cmake installation for Travis.
If any dependencies are missing, we should be notified.
2015-05-09 14:12:05 -04:00
Jason Felds 8ce00e7f4b Mention new cmake option in Changelog. 2015-05-09 11:29:21 -04:00
Jason Felds 6ed0bbbcbf StepMania is a C++ project. Tell Travis that. 2015-05-09 10:45:21 -04:00
Jason Felds e5bc990c52 Merge pull request #588 from kyzentun/xml_conv
XML to Lua converter
2015-05-09 09:53:32 -04:00
Jason Felds edecedd3ee Allow disabling CrystalHD for ffmpeg. 2015-05-08 22:12:47 -04:00
Jason Felds 166b6c5d61 Time to remove these unused files. 2015-05-08 20:59:10 -04:00
Jason Felds 283de4f0c2 Restore Xcode debugging with newer builds. 2015-04-18 13:58:16 -04:00
Jason Felds 8ead89d484 Some OSes need tomcrypt defines in StepMania too. 2015-04-18 12:27:32 -04:00
Jason Felds 52d2c99048 Merge pull request #558 from wolfman2000/wolf-cmake-cpack-clean
Provide initial cpack support. Mainly for devs.
2015-04-16 18:34:04 -04:00
Jason Felds 028229f881 Allow for assembly free[r] tomcrypt builds. 2015-04-16 18:31:29 -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 4374d18cb8 Merge pull request #544 from wolfman2000/wolf-cmake-dmg-generator
Allow generating dmg files thanks to cmake.
2015-04-06 22:58:53 -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 0954c81846 Merge pull request #545 from Wallacoloo/master
Fix OSX key translation crash (#504)
2015-04-05 09:26:58 -04:00
Jason Felds 01032b6049 Allow generating dmg files thanks to cmake.
A new target is introduced called `dmg`. This must be run explicitly.
Upon running it, it creates the dmg file.

The target respects if we are in a full release or not.

This will officially deprecate the ruby release script in the Xcode
folder upon a successful merge.
2015-04-04 15:23:28 -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 6b4c4e298f Restore compilation for non cmake users.
The goal is to move to cmake fully. Dealing with plist issues,
specifically on the version.
2015-04-03 16:04:48 -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 bfc24455ae Merge pull request #529 from dguzek/OSX-Version-LogFix-v2
OS X Version Log Fix -- v2
2015-03-26 17:41:06 -04:00
Jason Felds 541389ea7d Resolve casting warning where no one would check. 2015-03-25 22:09:46 -04:00
Jason Felds 38cf1730db Merge pull request #528 from wolfman2000/wolf-cmake-ffmpeg-quick
Don't have ffmpeg's download take forever.
2015-03-24 21:27:56 -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 6e5b80fbfe Right: 2011/2012 compiles PNG. 2015-03-23 19:43:46 -04:00
Jason Felds 5d232aad75 Restore cmake-less 2011/2012 VS support.
Move to cmake people!
2015-03-23 19:41:39 -04:00
Jason Felds 0b312b1771 Merge pull request #524 from wolfman2000/wolf-vs-2013-fix
Fix compilation for cmake-less 2013 users.
2015-03-23 18:55:38 -04:00
Jason Felds 0a1f43dcbe Fix compilation for cmake-less 2013 users.
This should compliment 7ac547a5.
2015-03-23 18:54:58 -04:00
Jason Felds b66b9143dc Make it clearer for build types. 2015-03-22 17:08:54 -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 736338dab6 Make sure product_version is set for OS X.
This may go away when we move to cmake for good.
2015-03-22 10:03:50 -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