Loosen up wxwidget version restrictions. Default to Gtk 3. Cleanup. (#3832)

* Remove version and platform checks for wxwidgets. It's probably better to find *something* rather then fail because you have 3.1.2 and the build was looking for 3.0 when both work.

* Build gtk 3 by default. Replace gtk 3 flag with one for gtk 2.

* Remove two unused cmake modules.

* Forgot to change a description in build.sh.
This commit is contained in:
arcum42 2020-10-30 05:30:03 +00:00 committed by GitHub
parent 48bff06202
commit 540c69897e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 35 additions and 163 deletions

View File

@ -207,7 +207,7 @@ for ARG in "$@"; do
--sdl12 ) flags="$flags -DSDL2_API=FALSE" ;;
--extra ) flags="$flags -DEXTRA_PLUGINS=TRUE" ;;
--asan ) flags="$flags -DUSE_ASAN=TRUE" ;;
--gtk3 ) flags="$flags -DGTK3_API=TRUE" ;;
--gtk2 ) flags="$flags -DGTK2_API=TRUE" ;;
--lto ) flags="$flags -DUSE_LTO=TRUE" ;;
--pgo-optimize ) flags="$flags -DUSE_PGO_OPTIMIZE=TRUE" ;;
--pgo-generate ) flags="$flags -DUSE_PGO_GENERATE=TRUE" ;;
@ -244,7 +244,7 @@ for ARG in "$@"; do
echo "--no-portaudio : Skip portaudio for spu2x."
echo
echo "** Expert Developer option **"
echo "--gtk3 : replace GTK2 by GTK3"
echo "--gtk2 : use GTK 2 instead of GTK 3"
echo "--no-cross-multilib: Build a native PCSX2 (nonfunctional recompiler)"
echo "--no-trans : Don't regenerate mo files when building."
echo "--clang : Build with Clang/llvm"

View File

@ -47,7 +47,7 @@ option(XDG_STD "Use XDG standard path instead of the standard PCSX2 path")
option(EXTRA_PLUGINS "Build various 'extra' plugins")
option(PORTAUDIO_API "Build portaudio support on spu2x" ON)
option(SDL2_API "Use SDL2 on spu2x and onepad (wxWidget mustn't be built with SDL1.2 support" ON)
option(GTK3_API "Use GTK3 api (experimental/wxWidget must be built with GTK3 support)")
option(GTK2_API "Use GTK2 api (legacy)")
if(PACKAGE_MODE)
if(NOT DEFINED PLUGIN_DIR)
@ -435,16 +435,6 @@ endif()
# Use some default machine flags
string(STRIP "${CMAKE_CXX_FLAGS} ${DEFAULT_CPP_FLAG}" CMAKE_CXX_FLAGS)
#-------------------------------------------------------------------------------
# Too much user/packager use experimental flags as release flags
#-------------------------------------------------------------------------------
if(CMAKE_BUILD_TYPE MATCHES "Release" OR PACKAGE_MODE)
if (GTK3_API)
message(WARNING "GTK3 is highly experimental besides it requires a wxWidget built with __WXGTK3__ support !!!")
endif()
endif()
#-------------------------------------------------------------------------------
# MacOS-specific things
#-------------------------------------------------------------------------------

View File

@ -1,75 +0,0 @@
# Find a NVidia Cg Toolkit installation
# This module finds a NVidia Cg Toolkit installation.
# CG_FOUND found Cg
# CG_INCLUDE_DIRS include path to cg.h
# CG_LIBRARIES path to Cg libs
# CG_COMPILER path to Cg compiler
# find Cg on Windows
if(WIN32)
# find Cg compiler
find_program(CG_COMPILER cgc PATHS
"C:/Program Files/NVIDIA Corporation/cg/bin"
DOC "Path to the Cg compiler.")
# find Cg include
find_path(CG_INCLUDE_DIRS NAMES Cg/cg.h GL/glext.h PATHS
"C:/Program Files/NVIDIA Corporation/cg/include"
DOC "Path to the Cg/GL includes.")
# find Cg libraries
# Cg library
find_library(CG_LIBRARY NAMES Cg PATHS
"C:/Program Files/NVIDIA Corporation/cg/lib"
DOC "Path to the Cg library.")
# Cg GL library
find_library(CG_GL_LIBRARY NAMES CgGL PATHS
"C:/Program Files/NVIDIA Corporation/cg/lib"
DOC "Path to the CgGL library.")
set(CG_LIBRARIES ${CG_LIBRARY} ${CG_GL_LIBRARY})
else(WIN32) # Unix based OS
# find Cg compiler
find_program(CG_COMPILER cgc PATHS
/usr/bin
/usr/local/bin
/opt/nvidia-cg-toolkit/bin
DOC "Path to the Cg compiler.")
# find Cg include
find_path(CG_INCLUDE_DIRS NAMES Cg/cg.h GL/glext.h PATHS
/usr/include
/usr/local/include
/opt/nvidia-cg-toolkit/include
DOC "Path to the Cg/GL includes.")
# find Cg libraries
# Cg library
find_library(CG_LIBRARY NAMES Cg PATHS
/usr/include
/usr/local/lib
/opt/nvidia-cg-toolkit/lib
/opt/nvidia-cg-toolkit/lib32
DOC "Path to the Cg library.")
# Cg GL library
find_library(CG_GL_LIBRARY NAMES CgGL PATHS
/usr/include
/usr/local/lib
/opt/nvidia-cg-toolkit/lib
/opt/nvidia-cg-toolkit/lib32
DOC "Path to the CgGL library.")
set(CG_LIBRARIES ${CG_LIBRARY} ${CG_GL_LIBRARY})
endif(WIN32)
# handle the QUIETLY and REQUIRED arguments and set CG_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Cg DEFAULT_MSG CG_LIBRARIES CG_INCLUDE_DIRS)
mark_as_advanced(CG_FOUND CG_INCLUDE_DIRS CG_LIBRARIES CG_COMPILER)

View File

@ -1,51 +0,0 @@
#
# Try to find GLEW library and include path.
# Once done this will define
#
# GLEW_FOUND - system has GLEW
# GLEW_INCLUDE_DIR - the GLEW include directories
# GLEW_LIBRARY - link these to use GLEW
#
if(GLEW_INCLUDE_DIR AND GLEW_LIBRARY)
set(GLEW_FIND_QUIETLY TRUE)
endif(GLEW_INCLUDE_DIR AND GLEW_LIBRARY)
IF (WIN32)
FIND_PATH( GLEW_INCLUDE_DIR GL/glew.h
$ENV{PROGRAMFILES}/GLEW/include
${CMAKE_SOURCE_DIR}/src/nvgl/glew/include
DOC "The directory where GL/glew.h resides")
FIND_LIBRARY( GLEW_LIBRARY
NAMES glew GLEW glew32 glew32s
PATHS
$ENV{PROGRAMFILES}/GLEW/lib
${CMAKE_SOURCE_DIR}/src/nvgl/glew/bin
${CMAKE_SOURCE_DIR}/src/nvgl/glew/lib
DOC "The GLEW library")
ELSE (WIN32)
FIND_PATH( GLEW_INCLUDE_DIR GL/glew.h
/usr/include
/usr/local/include
/sw/include
/opt/local/include
DOC "The directory where GL/glew.h resides")
FIND_LIBRARY( GLEW_LIBRARY
NAMES GLEW glew
PATHS
/usr/lib32
/usr/lib
/usr/local/lib32
/usr/local/lib
/sw/lib
/opt/local/lib
DOC "The GLEW library")
ENDIF (WIN32)
# handle the QUIETLY and REQUIRED arguments and set GLEW_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GLEW DEFAULT_MSG GLEW_LIBRARY GLEW_INCLUDE_DIR)
mark_as_advanced(GLEW_LIBRARY GLEW_INCLUDE_DIR)

View File

@ -20,6 +20,7 @@ set(OpenGL_GL_PREFERENCE GLVND)
find_package(OpenGL)
find_package(PNG)
find_package(Vtune)
# The requirement of wxWidgets is checked in SelectPcsx2Plugins module
# Does not require the module (allow to compile non-wx plugins)
# Force the unicode build (the variable is only supported on cmake 2.8.3 and above)
@ -35,13 +36,15 @@ else()
set(wxWidgets_CONFIG_OPTIONS --unicode=yes)
endif()
list(APPEND wxWidgets_CONFIG_OPTIONS --version=3.0)
# I'm removing the version check, because it excludes newer versions and requires specifically 3.0.
#list(APPEND wxWidgets_CONFIG_OPTIONS --version=3.0)
if(GTK3_API AND NOT APPLE)
list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk3)
elseif(NOT APPLE)
list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk2)
endif()
# Let's not specifically require Gtk 2 or 3, either. As long as you have wx there...
#if(GTK2_API AND NOT APPLE)
# list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk2)
#elseif(NOT APPLE)
# list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk3)
#endif()
# wx2.8 => /usr/bin/wx-config-2.8
# lib32-wx2.8 => /usr/bin/wx-config32-2.8
@ -66,9 +69,21 @@ else()
if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
set(wxWidgets_CONFIG_EXECUTABLE "/usr/local/bin/wxgtk3u-3.0-config")
endif()
if(EXISTS "/usr/bin/wx-config-3.2")
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.2")
endif()
if(EXISTS "/usr/bin/wx-config-3.1")
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.1")
endif()
if(EXISTS "/usr/bin/wx-config-3.0")
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.0")
endif()
if(EXISTS "/usr/bin/wx-config")
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config")
endif()
if(EXISTS "/usr/bin/wx-config-gtk3")
set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-gtk3")
endif()
endif()
find_package(wxWidgets COMPONENTS base core adv)
@ -77,13 +92,6 @@ find_package(ZLIB)
## Use pcsx2 package to find module
include(FindLibc)
## Only needed by the extra plugins
if(EXTRA_PLUGINS)
include(FindCg)
include(FindGlew)
find_package(JPEG)
endif()
## Use CheckLib package to find module
include(CheckLib)
if(Linux)
@ -116,14 +124,14 @@ endif()
if(UNIX)
find_package(X11)
# Most plugins (if not all) and PCSX2 core need gtk2, so set the required flags
if (GTK3_API)
if(CMAKE_CROSSCOMPILING)
find_package(GTK3 REQUIRED gtk)
else()
check_lib(GTK3 gtk+-3.0 gtk/gtk.h)
endif()
if (GTK2_API)
find_package(GTK2 REQUIRED gtk)
else()
find_package(GTK2 REQUIRED gtk)
if(CMAKE_CROSSCOMPILING)
find_package(GTK3 REQUIRED gtk)
else()
check_lib(GTK3 gtk+-3.0 gtk/gtk.h)
endif()
endif()
endif()
@ -131,12 +139,12 @@ endif()
# Use system include
#----------------------------------------
if(UNIX)
if(GTK2_FOUND)
include_directories(${GTK2_INCLUDE_DIRS})
elseif(GTK3_FOUND)
include_directories(${GTK3_INCLUDE_DIRS})
if(GTK3_FOUND)
include_directories(${GTK3_INCLUDE_DIRS})
# A lazy solution
set(GTK2_LIBRARIES ${GTK3_LIBRARIES})
elseif(GTK2_FOUND)
include_directories(${GTK2_INCLUDE_DIRS})
endif()
if(X11_FOUND)