cmake_minimum_required(VERSION 3.23) project(ubl-settings-bootloader) find_package(PkgConfig REQUIRED) pkg_check_modules(GTK3 REQUIRED gtk+-3.0) include_directories(${GTK3_INCLUDE_DIRS}) link_directories(${GTK3_LIBRARY_DIRS}) add_definitions(${GTK3_CFLAGS_OTHER}) pkg_check_modules(GTKMM30 REQUIRED gtkmm-3.0) include_directories(${GTKMM30_INCLUDE_DIRS}) link_directories(${GTKMM30_LIBRARY_DIRS}) add_definitions(${GTKMM30_CFLAGS_OTHER}) find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0) option(WEBKIT_FOUND "No" OFF) if(WEBKIT_LIBRARIES_FOUND) option(WEBKIT_FOUND "Yes" ON) PKG_CHECK_MODULES(WEBKIT REQUIRED webkit2gtk-4.0 webkit2gtk-web-extension-4.0) include_directories(${WEBKIT_INCLUDE_DIRS}) link_directories(${WEBKIT_LIBRARY_DIRS}) add_definitions(${WEBKIT_CFLAGS_OTHER}) endif() configure_file(ubl-settings-bootloader.h.in ubl-settings-bootloader-cm.h) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a -g") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \ -O2 -pipe -fno-plt -fexceptions \ -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ -fstack-clash-protection -fcf-protection -g") set(SOURCE_FILES menu_os.h menu_os.cc ubl-settings-bootloader-cm.h ubl-settings-bootloader.h ubl-settings-bootloader.cc save.h save.cc load.h load.cc my_process.h my_process.cc util.h util.cc ubl-util-standard.h ubl-util-standard.c main.cc) set(LIBRARIES ${GTK3_LIBRARIES} ${GTKMM30_LIBRARIES} ${WEBKIT_LIBRARIES} pthread) add_executable(${PROJECT_NAME} ${SOURCE_FILES}) target_link_libraries(${PROJECT_NAME} PUBLIC ${LIBRARIES}) target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR}) install(TARGETS ${PROJECT_NAME} DESTINATION bin)