Commit Graph

71 Commits

Author SHA1 Message Date
teejusb 7e3789b131 Integrate C++11 branch into 5_1-new 2019-06-22 12:35:38 -07:00
Tatsh b8a79cd0f6 Allow linking against system libraries for almost everything (#1790) 2019-02-16 08:32:52 -08:00
Tatsh d395028bd4 Mac fixes (#1776)
* macOS build fixes (#1773)

* macOS build fixes

Add missing headers
Threads_Pthreads: do not call pthread_setname_np() on macOS as it does not do
the same as on Linux
DebugStr() -> os_log()

* Make the project build with Makefiles on macOS

* Fix getting modifier key state on Mac (#1774)

We really need to clean up all Carbon calls here (many will go away when the
project switches to SDL2 for all platforms)

* Fix Xcode build; bump minimum version of macOS (#1775)

* Build fixes for the "Unix Makefiles" generator
Pass CMAKE_BUILD_TYPE to the external projects
* Fix indent
2018-12-31 19:28:59 -08:00
Alexander Haibl 01a3571df8 Add files via upload 2018-01-20 19:29:27 +01:00
Alexander Haibl 25f88b8131 Delete mmmagic.h 2018-01-20 19:29:16 +01:00
Alexander Haibl 9e10633f48 Add files via upload 2018-01-20 19:28:04 +01:00
Alexander Haibl 7d033faba9 Add files via upload 2018-01-20 19:27:35 +01:00
Drew Barbarello 557be7cf1b 5 1 new backport x11 fs rework (#1485)
* Use XRandR 1.2 to set fullscreen resolution for single output

Squash of roothorick's PR #497
(also includes Kyzentun's CMake changes from PR #716)

* Cherry-pick json c++1x stuff (b9e3d7174e)

* Cherry-pick c++11 support from 5bba5c0038 and 9f8b045309

* rework Linux (X11) fullscreen, improve display-related Graphics Options

Implement option to select between monitors for exclusive fullscreen mode
on X11 (using XRandR 1.2), or use a fullscreen borderless window.

Reimplement resolution/refresh rate/display mode-related option rows
using Lua, update choices dynamically so only known-good groupings of
resolution/refresh rate/aspect ratio can be selected.

Minimally update Windows/MacOS LowLevelWindow implementations to support
changes made for Linux side. Fullscreen Borderless Window/multi monitor
support from X11 not implemented for those in this commit.

* allow forcibly disabling xinerama use on Linux

When libXinerama is available, SM tries to use it to find the proper
monitor indexes to use to set _NET_WM_FULLSCREEN_MONITORS (on borderless
fullscreen). xfwm4 seems to assume that monitors are numbered in increasing
order from left to right (rather than using the Xinerama-assigned numbers),
so _NET_WM_FULLSCREEN_MONITORS misbehaves on Xfce.

This commit bypasses use of libXinerama, and instead forces SM to induce fullscreen
on the desired monitor in the backup, hacky way: remove all window hints, move window
to desired monitor, then add _NET_WM_STATE_FULLSCREEN hint. This works on
mutter and Xfce.

* Remove multiple warnings on redundant define.

This used to be hard-coded due to pthread related items, but now it's dynamically determined.

* fix _fallback menu behavior for unrecognized aspect ratios

* Fix error recreating existing FS texture

* Bump deployment target to 10.7 to use libc++ on XCode 8

* Add explicit casts to please clang

* Update changelog
2017-06-18 08:55:16 -07:00
Kyzentun Keeslala d3ca850ea6 Forgot to add mmmagic.h 2016-02-16 20:11:58 -07:00
Kyzentun Keeslala 4b0e6f3e0a Moved minimaid linking command to proper place in src/CMakeLists.txt. Removed wrapper function pointers from LightsDriver_LinuxMinimaid.h because it doesn't load a dynamic lib. Link udev when linking libmmmagic. 2016-02-16 20:06:46 -07:00
Kyzentun Keeslala 385c1dd525 Forgot to add mmmagic cmake project file. 2016-02-14 22:58:57 -07:00
Kyzentun Keeslala 10c304a80d Add libmmmagic lights support to linux. Mostly copy paste of windows driver. 2016-02-13 17:53:39 -07:00
Naftuli Tzvi Kay aa0e8690b7 Compile dependencies statically into the binary.
On Linux when building this under RPM, RPM insisted on linking in
standard system libraries like libpng, libjpeg-turbo, libGLEW,
Lua, etc. This patch causes all dependencies to be statically
compiled into the binary, which is ideal as the alternative is
segfaulting because of incompatible library changes.

StepMania also uses a modified Lua library which exports functions
that don't exist in any standard Lua library, so there's no easy
way around this.
2016-02-12 12:07:38 -08:00
Prcuvu de5f3721ef Cleaning up deprecated binaries and VS projects. 2015-10-06 19:23:48 +08:00
Jason Felds fdac0835b8 Use ffmpeg 2.1.3 on Windows.
Once again, thanks to Zeranoe's builds.
2015-10-04 14:39:07 -04:00
Prcuvu 457adef083 Remove lua.c from CMake project. 2015-10-02 19:10:03 +08:00
Jason Felds 0382929bd4 Build vorbis & vorbisfile in Windows now. 2015-09-20 13:13:47 -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
Prcuvu 4ca2ea289f Remove old jpeg.lib. 2015-09-19 15:40:13 +08:00
Jason Felds 95d73e9df1 ...these other files were command line programs.
They are not needed here.
2015-09-13 13:30:41 -04:00
Jason Felds 66b371a6bb Corrections to the jpeg compilation fix.
* Only compile one memory manager.
* Remove the no longer used jpeg.dll file.
2015-09-13 13:27:06 -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 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 42ad044817 Linux broke somehow. Restore it with system jpeg. 2015-06-19 20:53:13 -04:00
Jason Felds 028229f881 Allow for assembly free[r] tomcrypt builds. 2015-04-16 18:31:29 -04:00
Jason Felds 33f183938e Allow for system pcre to take precedence. 2015-03-22 15:46:53 -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
Jason Felds 9738ba9b20 Move JSON to separate project (2011) 2014-03-21 21:22:25 -04:00
Jason Felds 0b1de9ba87 Correct my mistake from 83df0ad3d6.
...3+ years too late!

This should compile in all systems due to NotesLoaderJson inclusion.
2014-03-21 21:11:19 -04:00
Jason Felds 9912c51e88 Move LUA to separate project (2011) 2014-03-16 14:03:02 -04:00
Jason Felds c578ac69d4 Move GLEW to separate project (2011)
Note: glext.h was removed due to it not being used.
2014-03-16 13:09:07 -04:00
Jason Felds f4eca5cc78 Move PNG to separate project (2011) 2014-03-16 12:04:01 -04:00
Jason Felds 70f7d18b1b Move PCRE to separate project (2011) 2014-03-16 11:40:49 -04:00
Ben "root" Anderson f56df1c44b Bundling ffmpeg, initial attempt. This builds on MinGW; Linux is untested as of yet. 2014-02-09 17:23:19 -06:00
Ben "root" Anderson 3945a618e0 extern/for_mingw revamp 2013-11-07 11:55:03 -06:00
Ben "root" Anderson eb5999f8a8 libpng 1.6 was having issues. Here is 1.5. 2013-10-31 20:18:21 -05:00
Ben "root" Anderson a5eb4376ae Nuke extern libz as mingw-64 packs in a libz and it causes issues with libpng 2013-10-29 23:58:52 -05:00
Ben "root" Anderson dfbda90abe More prebuilts 2013-10-24 14:08:37 -05:00
Ben "root" Anderson f61cd1cfbb First wave of pack-in libs 2013-10-24 11:36:49 -05:00
Jason Felds 28e5148dec The big NULL replacement party part 5.
Right. ' = NULL' would get a lot of these.
2013-05-03 23:39:52 -04:00
Jason Felds ba59dd1656 The big NULL replacement party part 2.
This may take a bit. Trying to do this by operator/command.
2013-05-03 23:11:42 -04:00
Jason Felds ae95752408 I'm guessing more HGEOL crap. 2012-05-04 21:58:21 -04:00
AJ Kelly 48ce8eca53 update libpng.lib for windows to latest; should hopefully fix any issues 2012-04-28 18:23:03 -05:00
Thai Pangsakulyanont f9b0998ced remove some files 2012-04-24 00:14:52 +07:00
Thai Pangsakulyanont 503814c435 update libpng to 1.5.10, add precompiled library for ffmpeg 0.10.2 for mac, and Xcode 4.3 project in a separate project.
This should make it possible to build StepMania 5 on Mac OS X.
The catch is that it will only work with Snow Leopard and up, but I think this is better than nothing.

We can support PowerPC / 10.4-10.5 again when someone can make the old Xcode 3 project work.
2012-04-24 00:11:28 +07:00
Austen Dicken 0c94594541 remove the need for libtheora since we have ffmpeg to handle
theora videos
2012-03-12 23:26:34 -05:00
AJ Kelly a17311c38e missing stdint.h for fixing the windows compile 2012-03-11 03:09:18 -05:00
AJ Kelly 0463d3bee7 ffmpeg fixes/changes from cvpcs 2012-03-10 21:07:38 -06:00
Austen Dicken 220a23f452 Update ffmpeg support to 0.10 2012-03-10 18:45:31 -06:00
Colby Klein a191da3f20 Add libjpeg sources, build as a target on OS X. Should hopefully not break building on Windows. Also cleaned up some settings in the project file. Note: this doesn't fix PPC. 2011-12-26 11:30:11 -08:00