Start on gui programming
This commit is contained in:
parent
8ea10129ac
commit
be0b83f80f
4 changed files with 48 additions and 2 deletions
|
@ -1,12 +1,21 @@
|
||||||
project(cpplab)
|
project(cpplab)
|
||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
|
|
||||||
|
FIND_PACKAGE(GTK)
|
||||||
|
|
||||||
|
IF(GTK_FOUND)
|
||||||
|
INCLUDE_DIRECTORIES(${GTK_INCLUDE_DIR})
|
||||||
|
ADD_EXECUTABLE(my_gtk_exe my_gtk_exe.cxx)
|
||||||
|
TARGET_LINK_LIBRARIES(my_gtk_exe ${GTK_LIBRARIES})
|
||||||
|
ENDIF(GTK_FOUND)
|
||||||
|
|
||||||
|
|
||||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
|
|
||||||
#Set c++ c11 version
|
#Set c++ c11 version
|
||||||
set (CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
add_subdirectory(include)
|
add_subdirectory(include)
|
||||||
|
@ -21,4 +30,5 @@ set(CPACK_GENERATOR "STGZ;TGZ;TZ;DEB")
|
||||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CppLab")
|
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CppLab")
|
||||||
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt")
|
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt")
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md")
|
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md")
|
||||||
|
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
|
|
@ -2,4 +2,5 @@ add_subdirectory(bmath)
|
||||||
add_subdirectory(cpu)
|
add_subdirectory(cpu)
|
||||||
add_subdirectory(dtstruct)
|
add_subdirectory(dtstruct)
|
||||||
add_subdirectory(opengl)
|
add_subdirectory(opengl)
|
||||||
add_subdirectory(misc)
|
add_subdirectory(misc)
|
||||||
|
add_subdirectory(gui)
|
12
src/gui/CMakeLists.txt
Normal file
12
src/gui/CMakeLists.txt
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
FIND_PACKAGE(GTK)
|
||||||
|
FIND_PACKAGE(GDK)
|
||||||
|
|
||||||
|
IF(GTK_FOUND)
|
||||||
|
message(STATUS "GTK found compiling GUI apps")
|
||||||
|
ADD_DEFINITIONS(${GTK3_CFLAGS_OTHER})
|
||||||
|
ADD_EXECUTABLE(gtk1 gtk1.cpp)
|
||||||
|
INCLUDE_DIRECTORIES(${GTK_INCLUDE_DIR})
|
||||||
|
TARGET_LINK_LIBRARIES(gtk1 ${GTK_LIBRARIES})
|
||||||
|
ELSE()
|
||||||
|
message(STATUS "GTK not found.")
|
||||||
|
ENDIF(GTK_FOUND)
|
23
src/gui/gtk1.cpp
Normal file
23
src/gui/gtk1.cpp
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
// Include gtk
|
||||||
|
//#include <gtk/gtk.h>
|
||||||
|
#include <gtk-2.0/gdk/gdk.h>
|
||||||
|
#include <gtk-2.0/gtk/gtk.h>
|
||||||
|
|
||||||
|
static void on_activate (GtkApplication *app) {
|
||||||
|
// Create a new window
|
||||||
|
GtkWidget *window = gtk_application_window_new (app);
|
||||||
|
// Create a new button
|
||||||
|
GtkWidget *button = gtk_button_new_with_label ("Hello, World!");
|
||||||
|
// When the button is clicked, close the window passed as an argument
|
||||||
|
g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_close), window);
|
||||||
|
gtk_window_set_child (GTK_WINDOW (window), button);
|
||||||
|
gtk_window_present (GTK_WINDOW (window));
|
||||||
|
}
|
||||||
|
|
||||||
|
int main (int argc, char *argv[]) {
|
||||||
|
// Create a new application
|
||||||
|
GtkApplication *app = gtk_application_new ("com.example.GtkApplication",
|
||||||
|
G_APPLICATION_FLAGS_NONE);
|
||||||
|
g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL);
|
||||||
|
return g_application_run (G_APPLICATION (app), argc, argv);
|
||||||
|
}
|
Loading…
Reference in a new issue