cmake_minimum_required(VERSION 3.9) project(libublsettings-gtk3 VERSION 0) include(GNUInstallDirs) 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}) pkg_check_modules(ALPM REQUIRED libalpm) include_directories(${ALPM_INCLUDE_DIRS}) link_directories(${ALPM_LIBRARY_DIRS}) add_definitions(${ALPM_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() # 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") add_library(${PROJECT_NAME} SHARED ${PROJECT_NAME}-apps.c ${PROJECT_NAME}-calendar.c ${PROJECT_NAME}-menu.c ${PROJECT_NAME}-misc.c ${PROJECT_NAME}-packages.c ${PROJECT_NAME}-socket.c ${PROJECT_NAME}-status.c ${PROJECT_NAME}-tree-view.c ${PROJECT_NAME}-vte.c ${PROJECT_NAME}-webkit.c ${PROJECT_NAME}-window-config.c ${PROJECT_NAME}.c ${PROJECT_NAME}.h) set(LIBRARIES ${GTK_LIBRARIES} ublsettings pthread) add_definitions(-DVTE_INCLUDE) list(APPEND LIBRARIES ${VTE291_LIBRARIES}) list(APPEND LIBRARIES ${ALPM_LIBRARIES}) if (WEBKIT_LIBRARIES_FOUND) list(APPEND LIBRARIES ${WEBKIT_LIBRARIES}) add_definitions(-DWEBKIT_INCLUDE) endif() message(${CMAKE_INSTALL_LIBDIR}) target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR}) target_link_libraries(${PROJECT_NAME} PUBLIC ${LIBRARIES}) set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE C) set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION}) set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR}) set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER ${PROJECT_NAME}.h) set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) # Set pkg-config file to install.