1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
cmake_minimum_required (VERSION 3.4)
cmake_policy (VERSION 3.4)
project (appmenu-gtk-module C)
list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
enable_testing ()
include(GNUInstallDirs)
include(CMakeDependentOption)
include(FeatureSummary)
find_package (PkgConfig QUIET)
find_package(GLIB2 REQUIRED QUIET COMPONENTS GLIB GOBJECT GIO GIO_UNIX COMPILE_SCHEMAS)
include(GLibProgramHandlers)
find_package(GTK 3.22 QUIET COMPONENTS GDK GTK X11 WAYLAND)
find_package(GTK 2.24 COMPONENTS GDK GTK X11)
set(GTK2_FOUND ${GTK_FOUND})
find_path(WAYLAND_INCLUDE
NAMES wayland-client.h
HINTS ${CMAKE_FULL_INCLUDE_DIR}
PATH_SUFFIXES wayland
)
cmake_dependent_option(STANDALONE "Build appmenu-gtk-module STANDALONE" ON
"NOT CORE_FOUND" OFF)
option(ENABLE_APPMENU_GTK_MODULE "Build appmenu-gtk-module" ON)
set(APPMENU_GTK2_MODULE ${GTK2_FOUND} AND ${ENABLE_APPMENU_GTK_MODULE})
add_feature_info(Gtk3Module ENABLE_APPMENU_GTK_MODULE "Gtk+ module for AppMenu - Gtk3 version")
add_feature_info(GtkModuleDemos ENABLE_GTK_MODULE_DEMOS "Gtk+ module for AppMenu - demos")
add_feature_info(Gtk2Module APPMENU_GTK2_MODULE "Gtk+ module for AppMenu - Gtk2 version")
if(STANDALONE)
find_package(VCM NO_MODULE)
if(VCM_FOUND)
list(APPEND CMAKE_MODULE_PATH ${VCM_MODULE_PATH})
include(GitVersion)
determine_fallback_version_for_subproject(${CMAKE_SOURCE_DIR}/cmake ${CMAKE_SOURCE_DIR}/../../)
include(${CMAKE_SOURCE_DIR}/cmake/FallbackVersion.cmake)
set (CPACK_PACKAGE_VERSION ${VERSION})
set (CPACK_PACKAGE_RELEASE "1")
else()
set (CPACK_PACKAGE_VERSION "unknown")
set (CPACK_PACKAGE_RELEASE "1")
endif()
set (CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}")
set (CPACK_SOURCE_IGNORE_FILES "/build/;/.gitmodules;/.git;/.gitignore;~$;${CPACK_SOURCE_IGNORE_FILES}")
set (CPACK_SOURCE_GENERATOR "TXZ")
include (CPack)
add_custom_target (dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
endif()
if(ENABLE_APPMENU_GTK_MODULE OR STANDALONE)
add_subdirectory(data)
add_subdirectory(lib)
add_subdirectory(src)
add_subdirectory(tests)
endif()
if(ENABLE_GTK_MODULE_DEMOS)
find_package(GtkDoc CONFIG PATH_SUFFIXES GtkDoc)
if(GtkDoc_FOUND)
add_subdirectory(docs)
endif()
endif()
cmake_dependent_option(ENABLE_GTK_MODULE_DEMOS "Enable demo programs and docs for gtk module" OFF
"ENABLE_APPMENU_GTK_MODULE" OFF)
|