-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
211 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
cmake_minimum_required(VERSION 3.21...3.45) | ||
|
||
project(preview | ||
VERSION 0.1.0 | ||
DESCRIPTION "Geany plugin to show preview of lightweight markup languages" | ||
HOMEPAGE_URL "https://github.com/xiota/geany-preview" | ||
) | ||
|
||
add_library(preview SHARED) | ||
|
||
set_target_properties(preview PROPERTIES | ||
PREFIX "" | ||
OUTPUT_NAME "preview" | ||
SUFFIX ".so" | ||
ENABLE_EXPORTS ON | ||
) | ||
|
||
## Options | ||
option(PREVIEW_PDF_EXPORT "Export Fountain documents to PDF" ON) | ||
|
||
## Build options (respecting user settings) | ||
if(NOT DEFINED ENV{CFLAGS} AND NOT CMAKE_C_FLAGS) | ||
set(CMAKE_C_FLAGS "-march=native -O3") | ||
endif() | ||
|
||
if(NOT DEFINED ENV{CXXFLAGS} AND NOT CMAKE_CXX_FLAGS) | ||
set(CMAKE_CXX_FLAGS "-march=native -O3") | ||
else() | ||
endif() | ||
|
||
## Depends | ||
find_package(PkgConfig REQUIRED) | ||
|
||
# Required | ||
pkg_check_modules(PC_DEPS REQUIRED IMPORTED_TARGET | ||
geany | ||
libcmark-gfm | ||
webkit2gtk-4.1 | ||
) | ||
target_link_libraries(preview PUBLIC PkgConfig::PC_DEPS) | ||
|
||
# Optional | ||
pkg_check_modules(podofo IMPORTED_TARGET libpodofo>=0.10.0) | ||
|
||
if (PREVIEW_PDF_EXPORT) | ||
if (NOT podofo_FOUND) | ||
message(SEND_ERROR " PoDoFo not found. Cannot export PDF.") | ||
elseif(podofo_VERSION VERSION_LESS 0.10.0) | ||
message(SEND_ERROR " Unsupported PoDoFo version ${podofo_VERSION}") | ||
elseif(podofo_VERSION VERSION_GREATER_EQUAL 0.11.0) | ||
message(STATUS " Unsupported PoDoFo version ${podofo_VERSION}") | ||
else() | ||
target_link_libraries(preview PUBLIC PkgConfig::podofo) | ||
endif() | ||
else() | ||
message(STATUS " - PREVIEW_PDF_EXPORT=OFF. PDF export disabled.") | ||
endif() | ||
|
||
## Install paths | ||
include(GNUInstallDirs) | ||
|
||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) | ||
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "..." FORCE) | ||
endif() | ||
|
||
if(CMAKE_INSTALL_LIBDIR_INITIALIZED_TO_DEFAULT) | ||
set(CMAKE_INSTALL_LIBDIR "lib" CACHE PATH "..." FORCE) | ||
endif() | ||
|
||
# /usr/lib/geany | ||
if (NOT DEFINED GEANY_PLUGIN_INSTALL) | ||
set(GEANY_PLUGIN_INSTALL "${CMAKE_INSTALL_LIBDIR}/geany") | ||
endif() | ||
|
||
# /usr/share/geany-plugins | ||
if (NOT DEFINED GEANY_PLUGIN_DATA) | ||
set(GEANY_PLUGIN_DATA "${CMAKE_INSTALL_DATADIR}/geany-plugins") | ||
endif() | ||
|
||
# /usr/share/geany-plugins/preview | ||
if (NOT DEFINED PREVIEW_INSTALL_DATA) | ||
set(PREVIEW_INSTALL_DATA "${CMAKE_INSTALL_PREFIX}/${GEANY_PLUGIN_DATA}/${PROJECT_NAME}") | ||
endif() | ||
|
||
# /usr/share/doc/preview | ||
if (NOT DEFINED PREVIEW_INSTALL_DOCDIR) | ||
set(PREVIEW_INSTALL_DOCDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}") | ||
endif() | ||
|
||
## Sources | ||
add_subdirectory(data) | ||
add_subdirectory(docs) | ||
add_subdirectory(src) |
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
|
||
# variables for header | ||
if(NOT DEFINED CSS_ASCIIDOCTOR) | ||
set(CSS_ASCIIDOCTOR "asciidoctor.css") | ||
endif() | ||
if(NOT DEFINED CSS_EXTRA_DARK) | ||
set(CSS_EXTRA_DARK "extra-dark.css") | ||
endif() | ||
if(NOT DEFINED CSS_EXTRA_INVERT) | ||
set(CSS_EXTRA_INVERT "extra-invert.css") | ||
endif() | ||
if(NOT DEFINED CSS_EXTRA_MEDIA) | ||
set(CSS_EXTRA_MEDIA "extra-media.css") | ||
endif() | ||
if(NOT DEFINED CSS_FOUNTAIN) | ||
set(CSS_FOUNTAIN "fountain.css") | ||
endif() | ||
if(NOT DEFINED CSS_HEADERS) | ||
set(CSS_HEADERS "preview.css") | ||
endif() | ||
if(NOT DEFINED CSS_MARKDOWN) | ||
set(CSS_MARKDOWN "markdown.css") | ||
endif() | ||
if(NOT DEFINED CSS_PANDOC) | ||
set(CSS_PANDOC "pandoc.css") | ||
endif() | ||
|
||
# install | ||
install( | ||
FILES | ||
${CSS_ASCIIDOCTOR} | ||
${CSS_EXTRA_DARK} | ||
${CSS_EXTRA_INVERT} | ||
${CSS_EXTRA_MEDIA} | ||
${CSS_FOUNTAIN} | ||
${CSS_HEADERS} | ||
${CSS_MARKDOWN} | ||
${CSS_PANDOC} | ||
PERMISSIONS | ||
OWNER_READ | ||
OWNER_WRITE | ||
GROUP_READ | ||
WORLD_READ | ||
DESTINATION "${PREVIEW_INSTALL_DATA}" | ||
) | ||
|
||
set(PARENT_SCOPE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
|
||
# variables for generated header | ||
set(DOCS_FAQ "CQA.md") | ||
set(DOCS_README "Readme.md") | ||
|
||
# fix paths in readme | ||
|
||
add_custom_target(docs_readme ALL | ||
COMMAND sed -E -e "s@\\]\\(docs/([^\\)]+)\\)@](\\1)@" "${CMAKE_CURRENT_SOURCE_DIR}/../${DOCS_README}" > "${CMAKE_CURRENT_BINARY_DIR}/${DOCS_README}" | ||
VERBATIM USES_TERMINAL | ||
) | ||
|
||
# install | ||
install( | ||
FILES | ||
"${CMAKE_CURRENT_BINARY_DIR}/${DOCS_README}" | ||
"${DOCS_FAQ}" | ||
geany-plugin-preferences.png | ||
screenshot-908.jpg | ||
PERMISSIONS | ||
OWNER_READ | ||
OWNER_WRITE | ||
GROUP_READ | ||
WORLD_READ | ||
DESTINATION "${PREVIEW_INSTALL_DOCDIR}" | ||
) | ||
|
||
set(PARENT_SCOPE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
|
||
target_sources(preview | ||
PUBLIC | ||
pv_main.cc | ||
PRIVATE | ||
auxiliary.cc | ||
fountain.cc | ||
process.cc | ||
pv_formats.cc | ||
pv_settings.cc | ||
) | ||
|
||
## Generate header | ||
configure_file(cmake.h.in cmake.h) | ||
target_include_directories( | ||
preview PUBLIC | ||
"${CMAKE_CURRENT_BINARY_DIR}" | ||
) | ||
|
||
## Install | ||
install(TARGETS preview DESTINATION "${GEANY_PLUGIN_INSTALL}") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#pragma once | ||
|
||
#define ON 1 | ||
#define OFF 0 | ||
|
||
#define VERSION "@PROJECT_VERSION@" | ||
|
||
#define PREVIEW_CSS_ASCIIDOCTOR "@PREVIEW_INSTALL_DATA@/@CSS_ASCIIDOCTOR@" | ||
#define PREVIEW_CSS_EXTRA_DARK "@PREVIEW_INSTALL_DATA@/@CSS_EXTRA_DARK@" | ||
#define PREVIEW_CSS_EXTRA_INVERT "@PREVIEW_INSTALL_DATA@/@CSS_EXTRA_INVERT@" | ||
#define PREVIEW_CSS_EXTRA_MEDIA "@PREVIEW_INSTALL_DATA@/@CSS_EXTRA_MEDIA@" | ||
#define PREVIEW_CSS_FOUNTAIN "@PREVIEW_INSTALL_DATA@/@CSS_FOUNTAIN@" | ||
#define PREVIEW_CSS_HEADERS "@PREVIEW_INSTALL_DATA@/@CSS_HEADERS@" | ||
#define PREVIEW_CSS_MARKDOWN "@PREVIEW_INSTALL_DATA@/@CSS_MARKDOWN@" | ||
#define PREVIEW_CSS_PANDOC "@PREVIEW_INSTALL_DATA@/@CSS_PANDOC@" | ||
|
||
#define PREVIEW_FAQ "@PREVIEW_INSTALL_DATA@/@FAQ@" | ||
#define PREVIEW_README "@PREVIEW_INSTALL_DATA@/@README@" | ||
|
||
#define ENABLE_EXPORT_PDF @PREVIEW_PDF_EXPORT@ |