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.
117 lines
3.6 KiB
117 lines
3.6 KiB
cmake_minimum_required(VERSION 3.7)
|
|
project(ubl-settings-diskquota)
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
|
|
pkg_check_modules(GTK REQUIRED gtk+-3.0)
|
|
include_directories(${GTK_INCLUDE_DIRS})
|
|
link_directories(${GTK_LIBRARY_DIRS})
|
|
add_definitions(${GTK_CFLAGS_OTHER})
|
|
|
|
#pkg_check_modules(VTE291 REQUIRED vte-2.91)
|
|
#include_directories(${VTE291_INCLUDE_DIRS})
|
|
#link_directories(${VTE291_LIBRARY_DIRS})
|
|
#add_definitions(${VTE291_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-cmake.in ubl-cmake.h)
|
|
|
|
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/ubl-cmake.h DESTINATION ./)
|
|
|
|
set(GRESOURCE_C resources.c)
|
|
set(GRESOURCE_XML gresource.xml)
|
|
|
|
find_program(GLIB_COMPILE_RESOURCES NAMES glib-compile-resources REQUIRED)
|
|
add_custom_target(GLADE ubl-settings-diskquota.glade)
|
|
|
|
set(DEPENDFILES
|
|
../ubl-settings-diskquota.glade
|
|
../gresource.xml
|
|
../ubl-settings-diskquota-banner.png
|
|
../ubl-settings-diskquota.css
|
|
)
|
|
|
|
file(COPY ${DEPENDFILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
add_custom_command(
|
|
OUTPUT ${GRESOURCE_C}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
COMMAND ${GLIB_COMPILE_RESOURCES}
|
|
ARGS
|
|
--generate-source
|
|
--target=${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
|
|
${GRESOURCE_XML}
|
|
VERBATIM
|
|
MAIN_DEPENDENCY ${GRESOURCE_XML}
|
|
DEPENDS
|
|
${GLADE}
|
|
)
|
|
add_custom_target(
|
|
dummy-resource
|
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
|
|
)
|
|
|
|
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a")
|
|
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -lm")
|
|
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
|
|
controler.h
|
|
controler.c
|
|
view_check_user_table.c
|
|
view_check_user_table.h
|
|
model/model.h
|
|
model/model.c
|
|
model/save.h
|
|
model/save.c
|
|
model/load.h
|
|
model/load.c
|
|
model/vector.c
|
|
model/vector.h
|
|
ubl-strings.h
|
|
view_filters.c
|
|
view_filters.h
|
|
view_temp_u_g_p.c
|
|
view_temp_u_g_p.h
|
|
model/ubl-utils.h
|
|
model/ubl-utils.c
|
|
model/my_device.h
|
|
model/my_device.c
|
|
model/philos_utils.h
|
|
model/philos_utils.c
|
|
|
|
ubl-settings-diskquota.c
|
|
ubl-settings-diskquota.h
|
|
${CMAKE_CURRENT_BINARY_DIR}/ubl-cmake.h
|
|
)
|
|
|
|
set(LIBRARIES
|
|
${GTK_LIBRARIES}
|
|
${WEBKIT_LIBRARIES}
|
|
# ${VTE291_LIBRARIES}
|
|
pthread)
|
|
|
|
|
|
add_executable(${PROJECT_NAME} ${SOURCE_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C})
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${LIBRARIES})
|
|
target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR})
|
|
set_source_files_properties(
|
|
${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
|
|
PROPERTIES GENERATED TRUE
|
|
)
|
|
install(TARGETS ${PROJECT_NAME} DESTINATION bin)
|
|
add_dependencies(${PROJECT_NAME} dummy-resource) |