You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.0 KiB
63 lines
2.0 KiB
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")
|
|
|
|
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)
|