Add libmegapixels
This commit is contained in:
@@ -5,15 +5,94 @@ set(CMAKE_C_STANDARD 11)
|
||||
|
||||
# Use the package PkgConfig to detect GTK+ headers/library files
|
||||
FIND_PACKAGE(PkgConfig REQUIRED)
|
||||
PKG_CHECK_MODULES(GTK3 REQUIRED gtk+-3.0)
|
||||
PKG_CHECK_MODULES(GTK4 REQUIRED gtk4)
|
||||
PKG_CHECK_MODULES(FEEDBACK REQUIRED libfeedback-0.0)
|
||||
PKG_CHECK_MODULES(TIFF REQUIRED libtiff-4)
|
||||
PKG_CHECK_MODULES(ZBAR REQUIRED zbar)
|
||||
PKG_CHECK_MODULES(EPOXY REQUIRED epoxy)
|
||||
PKG_CHECK_MODULES(MEGAPIXELS REQUIRED libmegapixels)
|
||||
PKG_CHECK_MODULES(XLIB REQUIRED x11)
|
||||
PKG_CHECK_MODULES(XRANDR REQUIRED xrandr)
|
||||
PKG_CHECK_MODULES(WAYLAND REQUIRED wayland-client)
|
||||
|
||||
# Setup CMake to use GTK+, tell the compiler where to look for headers
|
||||
# and to the linker where to look for libraries
|
||||
INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
|
||||
LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})
|
||||
INCLUDE_DIRECTORIES(
|
||||
${GTK4_INCLUDE_DIRS}
|
||||
${FEEDBACK_INCLUDE_DIRS}
|
||||
${TIFF_INCLUDE_DIRS}
|
||||
${ZBAR_INCLUDE_DIRS}
|
||||
${EPOXY_INCLUDE_DIRS}
|
||||
${MEGAPIXELS_INCLUDE_DIRS}
|
||||
${XLIB_INCLUDE_DIRS}
|
||||
${XRANDR_INCLUDE_DIRS}
|
||||
${WAYLAND_INCLUDE_DIRS}
|
||||
)
|
||||
LINK_DIRECTORIES(
|
||||
${GTK4_LIBRARY_DIRS}
|
||||
${FEEDBACK_LIBRARY_DIRS}
|
||||
${TIFF_LIBRARY_DIRS}
|
||||
${ZBAR_LIBRARY_DIRS}
|
||||
${EPOXY_LIBRARY_DIRS}
|
||||
${MEGAPIXELS_LIBRARY_DIRS}
|
||||
${XLIB_LIBRARY_DIRS}
|
||||
${XRANDR_LIBRARY_DIRS}
|
||||
${WAYLAND_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
# Add other flags to the compiler
|
||||
ADD_DEFINITIONS(${GTK3_CFLAGS_OTHER})
|
||||
ADD_DEFINITIONS(
|
||||
${GTK4_CFLAGS_OTHER}
|
||||
${FEEDBACK_CFLAGS_OTHER}
|
||||
${TIFF_CFLAGS_OTHER}
|
||||
${ZBAR_CFLAGS_OTHER}
|
||||
${EPOXY_CFLAGS_OTHER}
|
||||
${MEGAPIXELS_CFLAGS_OTHER}
|
||||
${XLIB_CFLAGS_OTHER}
|
||||
${XRANDR_CFLAGS_OTHER}
|
||||
${WAYLAND_CFLAGS_OTHER}
|
||||
)
|
||||
|
||||
add_executable(megapixels main.c ini.c ini.h bayer.c bayer.h)
|
||||
target_link_libraries(megapixels ${GTK3_LIBRARIES})
|
||||
find_program(GLIB_COMPILE_RESOURCES NAMES glib-compile-resources REQUIRED)
|
||||
set(GRESOURCE_C megapixels.gresource.c)
|
||||
set(GRESOURCE_XML data/org.postmarketos.Megapixels.gresource.xml)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data
|
||||
COMMAND ${GLIB_COMPILE_RESOURCES}
|
||||
ARGS
|
||||
--generate-source
|
||||
--target=${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
|
||||
../${GRESOURCE_XML}
|
||||
VERBATIM
|
||||
MAIN_DEPENDENCY ${GRESOURCE_XML}
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
dummy-resource
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
|
||||
)
|
||||
|
||||
file(GLOB srcs src/*.c src/*h)
|
||||
add_executable(megapixels-gtk ${srcs} ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C})
|
||||
set_source_files_properties(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
|
||||
PROPERTIES GENERATED TRUE
|
||||
)
|
||||
add_dependencies(megapixels-gtk dummy-resource)
|
||||
target_link_libraries(megapixels-gtk
|
||||
${GTK4_LIBRARIES}
|
||||
${FEEDBACK_LIBRARIES}
|
||||
${TIFF_LIBRARIES}
|
||||
${ZBAR_LIBRARIES}
|
||||
${EPOXY_LIBRARIES}
|
||||
${MEGAPIXELS_LIBRARIES}
|
||||
${XLIB_LIBRARIES}
|
||||
${XRANDR_LIBRARIES}
|
||||
${WAYLAND_LIBRARIES}
|
||||
)
|
||||
|
||||
add_compile_definitions(VERSION="${PROJECT_VERSION}")
|
||||
add_compile_definitions(SYSCONFDIR="/etc")
|
||||
add_compile_definitions(DATADIR="/usr/share")
|
Reference in New Issue
Block a user