diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6906bb2227..d37a0cde4f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,7 @@ jobs: libasound2-dev libgl-dev libglew-dev - libgtk2.0-dev + libgtk-3-dev libjack-dev libmad0-dev libpulse-dev @@ -40,7 +40,7 @@ jobs: libasound2-dev libgl-dev libglew-dev - libgtk2.0-dev + libgtk-3-dev libjack-dev libjsoncpp-dev libmad0-dev diff --git a/CMake/DefineOptions.cmake b/CMake/DefineOptions.cmake index 1c438cce89..75de70aa2d 100644 --- a/CMake/DefineOptions.cmake +++ b/CMake/DefineOptions.cmake @@ -96,7 +96,7 @@ elseif(LINUX) option(WITH_TTY "Build with Linux TTY Input Support." OFF) option(WITH_PROFILING "Build with Profiling Support." OFF) option(WITH_GLES2 "Build with OpenGL ES 2.0 Support." ON) - option(WITH_GTK2 "Build with GTK2 Support." ON) + option(WITH_GTK3 "Build with GTK3 Support." ON) option(WITH_PARALLEL_PORT "Build with Parallel Lights I/O Support." OFF) option(WITH_CRASH_HANDLER "Build with Crash Handler Support." ON) option(WITH_XINERAMA diff --git a/CMake/Modules/FindGTK3.cmake b/CMake/Modules/FindGTK3.cmake new file mode 100644 index 0000000000..e3330d8724 --- /dev/null +++ b/CMake/Modules/FindGTK3.cmake @@ -0,0 +1,9 @@ +# Use pkg-config to find installed gtk+3 if available +# +# Once found, the following are defined: +# GTK3_FOUND +# GTK3_INCLUDE_DIRS +# GTK3_LIBRARIES + +include(FindPkgConfig) +pkg_check_modules(GTK3 gtk+-3.0) diff --git a/StepmaniaCore.cmake b/StepmaniaCore.cmake index dcab93cef0..99d5a36a92 100644 --- a/StepmaniaCore.cmake +++ b/StepmaniaCore.cmake @@ -365,17 +365,17 @@ elseif(MACOSX) MAC_FRAME_OPENGL MAC_FRAME_SYSTEM) elseif(LINUX) - if(WITH_GTK2) - find_package("GTK2" 2.0) - if(${GTK2_FOUND}) - set(HAS_GTK2 TRUE) + if(WITH_GTK3) + find_package("GTK3" 2.0) + if(${GTK3_FOUND}) + set(HAS_GTK3 TRUE) else() - set(HAS_GTK2 FALSE) + set(HAS_GTK3 FALSE) message( - "GTK2 was not found on your system. There will be no loading window.") + "GTK3 was not found on your system. There will be no loading window.") endif() else() - set(HAS_GTK2 FALSE) + set(HAS_GTK3 FALSE) endif() set(HAS_X11 FALSE) diff --git a/src/CMakeData-arch.cmake b/src/CMakeData-arch.cmake index b8bd4682d6..6d6ccd4a12 100644 --- a/src/CMakeData-arch.cmake +++ b/src/CMakeData-arch.cmake @@ -185,7 +185,7 @@ else() list(APPEND SMDATA_ARCH_LOADING_HPP "arch/LoadingWindow/LoadingWindow_MacOSX.h") elseif(LINUX) - if(GTK2_FOUND) + if(GTK3_FOUND) list(APPEND SMDATA_ARCH_LOADING_SRC "arch/LoadingWindow/LoadingWindow_Gtk.cpp") list(APPEND SMDATA_ARCH_LOADING_HPP diff --git a/src/CMakeData-gtk.cmake b/src/CMakeData-gtk.cmake index 10f9ea6b83..80a3817f20 100644 --- a/src/CMakeData-gtk.cmake +++ b/src/CMakeData-gtk.cmake @@ -1,4 +1,4 @@ -if(NOT GTK2_FOUND) +if(NOT GTK3_FOUND) return() endif() @@ -28,13 +28,13 @@ set_target_properties("GtkModule" set_target_properties("GtkModule" PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${SM_ROOT_DIR}") -target_link_libraries("GtkModule" ${GTK2_LIBRARIES}) +target_link_libraries("GtkModule" ${GTK3_LIBRARIES}) set_property(TARGET "GtkModule" PROPERTY FOLDER "Internal Libraries") list(APPEND SM_GTK_INCLUDE_DIRS "${SM_SRC_DIR}" "${SM_SRC_DIR}/generated" "${SM_SRC_DIR}/arch/LoadingWindow" - "${GTK2_INCLUDE_DIRS}") + "${GTK3_INCLUDE_DIRS}") sm_add_compile_definition("GtkModule" CMAKE_POWERED) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 97ed7617b4..f9bd0becf6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -390,7 +390,7 @@ else() # Linux sm_add_compile_definition("${SM_EXE_NAME}" BSD) endif() - if(GTK2_FOUND) + if(GTK3_FOUND) sm_add_compile_definition("${SM_EXE_NAME}" HAVE_GTK) endif() @@ -571,8 +571,8 @@ else() # Unix / Linux TODO: Remember to find and locate the zip archive files. list(APPEND SMDATA_LINK_LIB "${OPENGL_LIBRARY}") - if(GTK2_FOUND) - list(APPEND SMDATA_LINK_LIB "${GTK2_LIBRARIES}") + if(GTK3_FOUND) + list(APPEND SMDATA_LINK_LIB "${GTK3_LIBRARIES}") endif() list(APPEND SMDATA_LINK_LIB "${BZIP2_LIBRARIES}" "${CMAKE_THREAD_LIBS_INIT}") @@ -661,8 +661,8 @@ if(NOT APPLE) list(APPEND SM_INCLUDE_DIRS "${SM_FFMPEG_SRC_DIR}" "${SM_FFMPEG_ROOT}") endif() endif() - if(HAS_GTK2) - list(APPEND SM_INCLUDE_DIRS "${GTK2_INCLUDE_DIRS}") + if(HAS_GTK3) + list(APPEND SM_INCLUDE_DIRS "${GTK3_INCLUDE_DIRS}") endif() if(X11_FOUND) list(APPEND SM_INCLUDE_DIRS "${X11_INCLUDE_DIR}") diff --git a/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp b/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp index 394dbe1f84..af0cce7ed0 100644 --- a/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_GtkModule.cpp @@ -43,7 +43,7 @@ extern "C" const char *Init( int *argc, char ***argv ) progressBar = gtk_progress_bar_new(); gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(progressBar), 0.0 ); - vbox = gtk_vbox_new(FALSE,0); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(window),vbox); gtk_box_pack_start(GTK_BOX(vbox),splash,FALSE,FALSE,0); gtk_box_pack_end(GTK_BOX(vbox),progressBar,FALSE,FALSE,0);