Commit Graph

24 Commits

Author SHA1 Message Date
Martin Natano 7b9a799cdb Statically link MSVC runtime 2022-06-03 19:47:45 +02:00
Martin Natano a8b9c1da09 Replace some SM cmake macros with builtin functions 2022-03-31 12:06:18 -07:00
Tatsh b8a79cd0f6 Allow linking against system libraries for almost everything (#1790) 2019-02-16 08:32:52 -08: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
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