Commit Graph
75 Commits
Author SHA1 Message Date
Martin KröningandMartin Kröning 37e60ffc97 Adjust to vanilla libpng 2020-06-20 12:35:04 +02:00
Martin Kröning 092cffa182 Find system jsoncpp via pkg-config, add system include 2020-06-18 23:27:12 +02:00
Martin KröningandMartin Kröning 960c57c4f3 Only add bundled inc dirs, when using bundled libs
Fixes #1881
2020-06-18 22:36:02 +02:00
Martin Kröning 98e1a20cc3 Don't disable exceptions on macOS 2020-06-13 23:36:10 +02:00
aeubanksandGitHub bbafb49b3a Don't force libc++ with clang (#1984)
Clang works with libstdc++.
2020-04-30 13:24:58 -07:00
Elias KunnasandColby Klein 0bd2365ebc Use libXtst again with CMake (#1908)
* Use libXtst again with CMake

It seems that Xtst was never used after the transition to CMake.

This is related to https://github.com/stepmania/stepmania/issues/1902.

* Travis: install libxtst-dev
2019-10-24 08:22:42 -07:00
Prcuvu 333abe5934 Upgrade to libtomcrypt 1.18.2 2019-10-15 17:43:01 +08:00
PrcuvuandGitHub 44b76446bb Merge branch '5_1-new' into win64 2019-10-06 00:55:50 +08:00
Tracy Ward d7f9c8d7b6 Remove more DX CMake bits
There is also a weird bit in here that seems like it should be
whether to use system or included libpng, but it actually does
the directx include dir on one side.
2019-10-04 11:34:24 -04:00
Prcuvu d63957ed0b Fix CMake syntax 2019-10-01 16:48:00 +08:00
Prcuvu 67ebec3320 Do not specify /arch:SSE2 to silence a MSVC warning 2019-10-01 15:03:21 +08:00
Prcuvu 3cd1bdcc8f Add WinDDK x64 libraries 2019-10-01 14:45:55 +08:00
Prcuvu b9a4d71c23 Add FFmpeg 2.1.3 Windows x64 libraries and auto copy binaries on configuration 2019-10-01 14:37:46 +08:00
Martin KröningandColby Klein 8ab7c7fab9 5_1-new: Fix building with clang/clang++ (#1866)
* Have clang and libc++ working.

If any clang users run into problems, remember to have libc++ and libc++abi set up.
Fixes
stepmania/src/arch/ArchHooks/ArchHooks.h:37:27: error:
      variable has incomplete type 'tm'
        virtual void SetTime( tm ) { }
                                 ^
/usr/include/wchar.h:83:8: note: forward declaration of 'tm'
struct tm;
       ^

* Add noexcept to swap.

See https://github.com/stepmania/stepmania/commit/e860773799f01d02f281c8c39421e7e34658788d#commitcomment-32674320

* Use standard c++11 for handling unexpected exceptions

The cxxabi.h header can make linking difficult.
2019-08-20 18:19:52 -07:00
TatshandColby Klein 3c8ee8675d Mac fixes (#1795)
* 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

* Fix setting CFBundleExecutable value

* Improve handling of system libpng

Header mismatch can cause a crash, so force the non-system png.h
if WITH_SYSTEM_PNG=no

* Better handling of TRUE/FALSE with newer versions of jpeglib

* Add JPEG include directory
2019-03-10 13:02:54 -07:00
TatshandColby Klein b8a79cd0f6 Allow linking against system libraries for almost everything (#1790) 2019-02-16 08:32:52 -08:00
TatshandColby Klein 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
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
Colby Klein 5fcc473648 update version info. why are there so many of these 2016-11-24 19:06:41 -08:00
Jason Felds e590616873 Re-enable exceptions for Xcode.
We're at the point where we should have done this awhile ago.
2016-06-29 18:42:50 -04: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
nigue f1e114aa03 i686 -> x64 recognition before make 2015-10-30 11:49:51 -03:00
Jason Felds afa68ecd72 Only install Texture Font Generator when built. 2015-10-27 18:38:23 -04:00
Jason Felds e0290fc856 Compile the Texture Font Generator with cmake.
This program is not built by default. Enable one of the following options to utilize it:

* WITH_FULL_RELEASE
* WITH_TEXTURE_GENERATOR

It is heavily advised to make sure the MFC library is installed for Visual Studio and the computer is restarted afterwards.

As a bonus, `zlib1.dll` can go away now.

The old visual studio projects are still in play in case others still struggle with the code fixes.
2015-10-27 18:11:37 -04:00
Jason Felds cf5656ac3d Temporary: Add Texture Font Generator to NSIS. 2015-10-26 21:53:45 -04:00
Jason Felds de9fc48a1a Revert "We compile zlib: don't use the old dll." 2015-10-25 20:39:56 -04:00
Jason Felds 84afd9bc9c We compile zlib: don't use the old dll. 2015-10-25 16:03:56 -04:00
Jason Felds 3dd2f54678 Add IRC feedback from Windows build servers. 2015-10-25 13:12:14 -04:00
latot 47b0f83aed Remove WITH_VERSION_INFO, version info by default 2015-10-22 21:21:47 -03:00
Colin Wallace dcd676b956 Don't define CPU_X86 on non-x86 processors 2015-10-21 06:28:30 +00:00
Colin Wallace 22d6f792f3 Fix CMake error when SM_COMPILE_FLAGS is empty (e.g. when compiling with cmake -DWITH_SSE2=off) 2015-10-21 04:20:09 +00:00
Jason Felds 6f53f1c3e5 Backtrace stuff ahoy!
* Properly detect and utilize libdl.
* Set the backtrace method appropriately.
* Remove an unused backtrace format. No references existed.
2015-10-08 18:42:44 -04:00
Jason Felds f441d3a6f7 Fix Mac OS X build. 2015-10-06 20:18:01 -04:00
Prcuvu 22637a0d8b Remove deprecated DLLs from CMake installation. 2015-10-06 19:32:03 +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
Jason Felds b8700f11a7 Finally bring ffmpeg 2.1.3 to Mac OS X.
This replaces #611.
2015-10-03 22:32:14 -04:00
Jason Felds f9a1f728af Reference bzip2 and iconv on Mac OS X properly.
This removes the need for the arbitrary other linker flags.

This is required to allow for proper building of ffmpeg (the next goal).
2015-10-03 20:38:38 -04:00
Jason Felds ba96ab7570 Separate out the remaining files. 2015-10-02 23:14:24 -04:00
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 c7943a85ee Re-enable precompiled headers for Windows.
The speed is brought back up to reasonable limits considering I work with a VM primarily.
2015-09-27 14:45:35 -04: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
Jason Felds b85c61b89e Restore mapconv post operations.
Clearing the cmake cache may be required.
2015-09-19 10:42:46 -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 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 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
Kyzentun Keeslala fc3b5eed67 Set processer to CPU_X86 if it's not 64 bit on linux. 2015-07-22 09:39:46 -06:00
Kyzentun Keeslala d2090081a1 Doing what I should have done a long time ago. 2015-07-09 13:18:51 -06: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