Commit Graph
13 Commits
Author SHA1 Message Date
Martin Natano 7b9a799cdb Statically link MSVC runtime 2022-06-03 19:47:45 +02:00
Martin Natanoandteejusb 3ca3bb0773 Fix macOS build 2022-04-11 14:50:00 -07:00
Martin Natanoandteejusb a8b9c1da09 Replace some SM cmake macros with builtin functions 2022-03-31 12:06:18 -07:00
TatshandColby Klein b8a79cd0f6 Allow linking against system libraries for almost everything (#1790) 2019-02-16 08:32:52 -08:00
Drew BarbarelloandColby Klein 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
Jason Felds 47d59c9dd7 Default to linking with /MT instead of /MD for VS. 2015-10-27 19:33:05 -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 ae83a1c6ec Fixes for Linux. 2015-09-05 13:14:44 -04:00
Jason Felds 42ad044817 Linux broke somehow. Restore it with system jpeg. 2015-06-19 20:53:13 -04:00
Jason Felds 283de4f0c2 Restore Xcode debugging with newer builds. 2015-04-18 13:58:16 -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 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