raster pushed a commit to branch master. http://git.enlightenment.org/apps/ecrire.git/commit/?id=261e4cb7b7b78fd5288e3c16c71b84acd0f5add5
commit 261e4cb7b7b78fd5288e3c16c71b84acd0f5add5 Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Mon Feb 17 14:29:22 2020 +0000 move ecrire to meson ... just so we have a more consistent build story --- CMakeLists.txt | 84 --------- cmake/Modules/GettextTranslate.cmake | 271 ------------------------------ cmake/Modules/MakeDistcheck.cmake | 122 -------------- cmake/Modules/legacy/FindEcore.cmake | 63 ------- cmake/Modules/legacy/FindEdje.cmake | 32 ---- cmake/Modules/legacy/FindEet.cmake | 32 ---- cmake/Modules/legacy/FindEfreet.cmake | 32 ---- cmake/Modules/legacy/FindEina.cmake | 32 ---- cmake/Modules/legacy/FindElementary.cmake | 32 ---- cmake/Modules/legacy/FindEvas.cmake | 32 ---- cmakeconfig.h.in | 22 --- data/CMakeLists.txt | 5 - data/{ => desktop}/ecrire.desktop | 0 data/desktop/meson.build | 2 + data/{ => icons}/ecrire.png | Bin data/icons/meson.build | 2 + data/meson.build | 2 + meson.build | 54 ++++++ meson_options.txt | 4 + po/CMakeLists.txt | 1 - po/meson.build | 19 +++ src/bin/CMakeLists.txt | 35 ---- src/bin/main.c | 90 +++++----- src/bin/meson.build | 17 ++ src/bin/ui/alerts.c | 13 +- src/bin/ui/file_related.c | 5 +- src/bin/ui/font_dialog.c | 11 +- src/bin/ui/goto_dialog.c | 9 +- src/bin/ui/search_dialog.c | 11 +- src/meson.build | 1 + 30 files changed, 156 insertions(+), 879 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index b8b8251..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,84 +0,0 @@ -cmake_minimum_required(VERSION 2.6) -project(ecrire) -set(VMAJ 0) -set(VMIN 1) -set(VMIC 0) -set(PACKAGE_VERSION ${VMAJ}.${VMIN}.${VMIC}) - -set(PACKAGE ${CMAKE_PROJECT_NAME}) -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") - -include_directories ("${PROJECT_BINARY_DIR}") - -# FIXME: add version checking! -find_package(Eina REQUIRED) -find_package(Eet REQUIRED) -find_package(Evas REQUIRED) -find_package(Ecore REQUIRED) -find_package(Ecore COMPONENTS X) -find_package(Edje REQUIRED) -find_package(Efreet REQUIRED) -find_package(Elementary REQUIRED) - -if(DEFINED ECORE_X_FOUND) - set(HAVE_ECORE_X 1) -endif(DEFINED ECORE_X_FOUND) - - -INCLUDE(CheckIncludeFiles) -CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H) - -# likely put this into an FindCompilerAttribute.cmake: -INCLUDE(CheckCSourceCompiles) -SET(HAVE___ATTRIBUTE__) -CHECK_C_SOURCE_COMPILES( - "void foo (int bar __attribute__((unused)) ) { } - static void baz (void) __attribute__((unused)); - static void baz (void) { } - int main(){} - " HAVE___ATTRIBUTE__ - ) - -ADD_DEFINITIONS(-DPACKAGE_BIN_DIR="${CMAKE_INSTALL_PREFIX}/bin" - -DPACKAGE_DATA_DIR="${CMAKE_INSTALL_PREFIX}/share/${CMAKE_PROJECT_NAME}" - -DPACKAGE_LIB_DIR="${CMAKE_INSTALL_PREFIX}/lib") - -set(LOCALEDIR "${CMAKE_INSTALL_PREFIX}/share/locale") - -ADD_DEFINITIONS( - -DLOCALE_DIR="${LOCALEDIR}" - ) - -ADD_DEFINITIONS(-DHAVE_CONFIG_H) - -find_package(Gettext) -if (GETTEXT_FOUND) - set(GettextTranslate_ALL true) - set(GettextTranslate_GMO_BINARY true) - include(GettextTranslate) - set(ENABLE_NLS 1) -endif (GETTEXT_FOUND) - -configure_file ( - "${PROJECT_SOURCE_DIR}/cmakeconfig.h.in" - "${PROJECT_BINARY_DIR}/config.h" - ) - -add_subdirectory(src/bin) -add_subdirectory(data) -add_subdirectory(po) - -# Make dist -set(CPACK_PACKAGE_VERSION_MAJOR ${VMAJ}) -set(CPACK_PACKAGE_VERSION_MINOR ${VMIN}) -set(CPACK_PACKAGE_VERSION_PATCH ${VMIC}) -set(CPACK_SOURCE_GENERATOR "TGZ;TBZ2") -set(CPACK_SOURCE_PACKAGE_FILE_NAME - "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") -set(CPACK_SOURCE_IGNORE_FILES - "${CMAKE_BINARY_DIR};/.git/;.svn/;.swp$;~$;${CPACK_SOURCE_IGNORE_FILES}") -include(CPack) -add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source) - -include(MakeDistcheck) -add_distcheck() diff --git a/cmake/Modules/GettextTranslate.cmake b/cmake/Modules/GettextTranslate.cmake deleted file mode 100644 index 93bdacc..0000000 --- a/cmake/Modules/GettextTranslate.cmake +++ /dev/null @@ -1,271 +0,0 @@ -# Copyright (c) 2012, Jarryd Beck -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# Redistributions of source code must retain the above copyright notice, this -# list of conditions and the following disclaimer. -# Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - - -# This module creates build rules for updating translation files made -# with gettext -# In your top level CMakeLists.txt, do -# include(GettextTranslate) -# then in any po directory where you want things to be translated, write -# GettextTranslate() -# -# This module also finds the gettext binaries. If these are in a non-standard -# location, you can define the following variables to provide paths to search -# in -# GettextTranslate_BINARIES --- a path in which to look for every program -# GettextTranslate_XGETTEXT --- the xgettext program -# GettextTranslate_MSGINIT --- the msginit program -# GettextTranslate_MSGFILTER --- the msgfilter program -# GettextTranslate_MSGCONV --- the msgconv program -# GettextTranslate_MSGMERGE --- the msgmerge program -# GettextTranslate_MSGFMT --- the msgfmt program -# these are searched first before $PATH, so set this if you have your own -# version that overrides the system version -# -# it reads variables from Makevars, one of the most important being DOMAIN -# it reads the languages to generate from LINGUAS -# -# it adds the following targets -# update-po -# update-gmo -# ${DOMAIN}-pot.update -# generate-${DOMAIN}-${lang}-po -# generate-${DOMAIN}-${lang}-gmo -# -# where ${DOMAIN} is the DOMAIN variable read from Makevars -# and ${lang} is each language mentioned in LINGUAS -# -# if you want update-gmo to be added to the "all" target, then define the -# variable GettextTranslate_ALL before including this file -# -# by default, the gmo files are built in the source directory. If you want -# them to be built in the binary directory, then define the variable -# GettextTranslate_GMO_BINARY - - - -# add the update-po and update-gmo targets, the actual files that need to -# depend on this will be added as we go - -if (DEFINED GettextTranslate_ALL) - set(_addToALL "ALL") -endif() - -add_custom_target(update-po) -add_custom_target(update-gmo ${_addToALL}) - -#look for all the programs -#xgettext, msginit, msgfilter, msgconv, msgmerge, msgfmt - -function(REQUIRE_BINARY binname varname) - if (defined ${${varname}-NOTFOUND}) - message(FATAL_ERROR "Could not find " binname) - endif() -endfunction() - -find_program(GettextTranslate_XGETTEXT_EXECUTABLE xgettext - HINTS ${GettextTranslate_XGETTEXT} ${GettextTranslate_BINARIES} -) -REQUIRE_BINARY(xgettext GettextTranslate_XGETTEXT_EXECUTABLE) - -find_program(GettextTranslate_MSGINIT_EXECUTABLE msginit - HINTS ${GettextTranslate_MSGINIT} ${GettextTranslate_BINARIES} -) -REQUIRE_BINARY(msginit GettextTranslate_MSGINIT_EXECUTABLE) - -find_program(GettextTranslate_MSGFILTER_EXECUTABLE msgfilter - HINTS ${GettextTranslate_MSGFILTER} ${GettextTranslate_BINARIES} -) -REQUIRE_BINARY(msgfilter GettextTranslate_MSGFILTER_EXECUTABLE) - -find_program(GettextTranslate_MSGCONV_EXECUTABLE msgconv - HINTS ${GettextTranslate_MSGCONV} ${GettextTranslate_BINARIES} -) -REQUIRE_BINARY(msgconv GettextTranslate_MSGCONV_EXECUTABLE) - -find_program(GettextTranslate_MSGMERGE_EXECUTABLE msgmerge - HINTS ${GettextTranslate_MSGMERGE} ${GettextTranslate_BINARIES} -) -REQUIRE_BINARY(msgmerge GettextTranslate_MSGMERGE_EXECUTABLE) - -find_program(GettextTranslate_MSGFMT_EXECUTABLE msgfmt - HINTS ${GettextTranslate_MSGFMT} ${GettextTranslate_BINARIES} -) -REQUIRE_BINARY(msgfmt GettextTranslate_MSGFMT_EXECUTABLE) - -mark_as_advanced( - GettextTranslate_MSGCONV_EXECUTABLE - GettextTranslate_MSGFILTER_EXECUTABLE - GettextTranslate_MSGFMT_EXECUTABLE - GettextTranslate_MSGINIT_EXECUTABLE - GettextTranslate_MSGMERGE_EXECUTABLE - GettextTranslate_XGETTEXT_EXECUTABLE -) - -macro(GettextTranslate) - - if(GettextTranslate_GMO_BINARY) - set (GMO_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) - else() - set (GMO_BUILD_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - - if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/POTFILES.in) - message(FATAL_ERROR "There is no POTFILES.in in - ${CMAKE_CURRENT_SOURCE_DIR}") - endif() - - if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Makevars) - message(FATAL_ERROR "There is no Makevars in ${CMAKE_CURRENT_SOURCE_DIR}") - endif() - - file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/Makevars makevars - REGEX "^[^=]+=(.*)$" - ) - - foreach(makevar ${makevars}) - string(REGEX REPLACE "^([^= ]+) =[ ]?(.*)$" "\\1" MAKEVAR_KEY ${makevar}) - string(REGEX REPLACE "^([^= ]+) =[ ]?(.*)$" "\\2" - MAKEVAR_${MAKEVAR_KEY} ${makevar}) - endforeach() - - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/POTFILES.in - ${CMAKE_CURRENT_BINARY_DIR}/POTFILES - COPYONLY - ) - - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/LINGUAS - ${CMAKE_CURRENT_BINARY_DIR}/LINGUAS - COPYONLY - ) - - #set the directory to not clean - set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - PROPERTY CLEAN_NO_CUSTOM true) - - file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/POTFILES.in potfiles - REGEX "^[^#].*" - ) - - foreach(potfile ${potfiles}) - list(APPEND source_translatable - ${CMAKE_CURRENT_SOURCE_DIR}/${MAKEVAR_top_builddir}/${potfile}) - endforeach() - - set(TEMPLATE_FILE ${MAKEVAR_DOMAIN}.pot) - set(TEMPLATE_FILE_ABS ${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE_FILE}) - add_custom_target(${MAKEVAR_DOMAIN}.pot-update DEPENDS - ${TEMPLATE_FILE_ABS} - ) - - string(REGEX MATCHALL "[^ ]+" XGETTEXT_OPTS ${MAKEVAR_XGETTEXT_OPTIONS}) - add_custom_command(OUTPUT ${TEMPLATE_FILE_ABS} - COMMAND ${GettextTranslate_XGETTEXT_EXECUTABLE} ${XGETTEXT_OPTS} - -o ${TEMPLATE_FILE_ABS} - --default-domain=${MAKEVAR_DOMAIN} - --add-comments=TRANSLATORS: - --copyright-holder=${MAKEVAR_COPYRIGHT_HOLDER} - --msgid-bugs-address="${MAKEVAR_MSGID_BUGS_ADDRESS}" - --directory=${MAKEVAR_top_builddir} - --files-from=${CMAKE_CURRENT_BINARY_DIR}/POTFILES - --package-version=${VERSION} - --package-name=${CMAKE_PROJECT_NAME} - DEPENDS ${source_translatable} - ${CMAKE_CURRENT_SOURCE_DIR}/POTFILES.in - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - - add_dependencies(update-po ${MAKEVAR_DOMAIN}.pot-update) - - file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/LINGUAS LINGUAS - REGEX "^[^#].*") - string(REGEX MATCHALL "[^ ]+" languages ${LINGUAS}) - - foreach(lang ${languages}) - set(PO_FILE_NAME "${CMAKE_CURRENT_SOURCE_DIR}/${lang}.po") - set(GMO_FILE_NAME "${GMO_BUILD_DIR}/${lang}.gmo") - set(PO_TARGET "generate-${MAKEVAR_DOMAIN}-${lang}-po") - set(GMO_TARGET "generate-${MAKEVAR_DOMAIN}-${lang}-gmo") - list(APPEND po_files ${PO_TARGET}) - list(APPEND gmo_files ${GMO_TARGET}) - - if(${lang} MATCHES "en@(.*)quot") - - add_custom_command(OUTPUT ${lang}.insert-header - COMMAND - sed -e "'/^#/d'" -e 's/HEADER/${lang}.header/g' - ${CMAKE_CURRENT_SOURCE_DIR}/insert-header.sin > ${lang}.insert-header - ) - - #generate the en@quot files - add_custom_command(OUTPUT ${PO_FILE_NAME} - COMMAND - ${GettextTranslate_MSGINIT_EXECUTABLE} -i ${TEMPLATE_FILE_ABS} - --no-translator -l ${lang} - -o - 2>/dev/null - | sed -f ${CMAKE_CURRENT_BINARY_DIR}/${lang}.insert-header - | ${GettextTranslate_MSGCONV_EXECUTABLE} -t UTF-8 - | ${GettextTranslate_MSGFILTER_EXECUTABLE} sed -f - ${CMAKE_CURRENT_SOURCE_DIR}/`echo ${lang} - | sed -e 's/.*@//'`.sed 2>/dev/null > - ${PO_FILE_NAME} - DEPENDS ${lang}.insert-header ${TEMPLATE_FILE_ABS} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - - else() - - add_custom_command(OUTPUT ${PO_FILE_NAME} - COMMAND ${GettextTranslate_MSGMERGE_EXECUTABLE} --lang=${lang} - ${PO_FILE_NAME} ${TEMPLATE_FILE_ABS} - -o ${PO_FILE_NAME}.new - COMMAND mv ${PO_FILE_NAME}.new ${PO_FILE_NAME} - DEPENDS ${TEMPLATE_FILE_ABS} - ) - - endif() - - add_custom_command(OUTPUT ${GMO_FILE_NAME} - COMMAND ${GettextTranslate_MSGFMT_EXECUTABLE} -c --statistics --verbose - -o ${GMO_FILE_NAME} ${PO_FILE_NAME} - DEPENDS ${PO_TARGET} - ) - add_custom_target(${GMO_TARGET} DEPENDS ${GMO_FILE_NAME}) - - add_custom_target(${PO_TARGET} DEPENDS ${PO_FILE_NAME}) - add_dependencies(${PO_TARGET} ${MAKEVAR_DOMAIN}.pot-update) - - install(FILES ${GMO_FILE_NAME} DESTINATION - ${LOCALEDIR}/${lang}/LC_MESSAGES - RENAME ${MAKEVAR_DOMAIN}.mo - ) - - endforeach() - - add_dependencies(update-po ${po_files}) - add_dependencies(update-gmo ${gmo_files}) - -#string(REGEX MATCH "^[^=]+=(.*)$" parsed_variables ${makevars}) - -endmacro() diff --git a/cmake/Modules/MakeDistcheck.cmake b/cmake/Modules/MakeDistcheck.cmake deleted file mode 100644 index 1f383a5..0000000 --- a/cmake/Modules/MakeDistcheck.cmake +++ /dev/null @@ -1,122 +0,0 @@ -# - adds support for the 'make distcheck' command -*- cmake -*- -# Dependencies: -# 1. CPack generating ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz. -# 2. Having a "dist" target, e.g: -# add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source) -# Usage: -# add_distcheck() ... called exactly once per project in the top-level -# CMakeLists.txt; it adds the 'dist' and 'distcheck' -# targets -# -# This module implements the 'make dist' and 'make distcheck' -# commands. -# It supports the following variables: -# -# DISTCHECK_TMPDIR ... directory for temporary files -# DISTCHECK_FILENAME ... basename of existing tar.gz.; defaults to -# ${CPACK_SOURCE_PACKAGE_FILE_NAME} -# DISTCHECK_CMAKEFLAGS -# ... flags which are given to 'cmake' by 'make distcheck' -# DISTCHECK_BUILDTARGETS -# ... the build-targets tried by 'make distcheck'; -# defaults to nothing (--> all) -# DISTCHECK_INSTALLTARGETS -# ... the install-targets tried by 'make distcheck'; -# defaults to 'install' -# -# Example: -# --- top-level CMakeLists.txt --- -# add_subdirectory(foo) -# ... -# ... -# set(CPACK_PACKAGE_VERSION_MAJOR ${ECRIRE_VERSION_MAJOR}) -# set(CPACK_PACKAGE_VERSION_MINOR ${ECRIRE_VERSION_MINOR}) -# set(CPACK_PACKAGE_VERSION_PATCH ${ECRIRE_VERSION_MICRO}) -# set(CPACK_SOURCE_GENERATOR "TGZ") -# set(CPACK_SOURCE_IGNORE_FILES -# "${CMAKE_BINARY_DIR};/.git/;~$;${CPACK_SOURCE_IGNORE_FILES}") -# include(CPack) -# add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source) -# -# find_package(Distcheck) -# add_distcheck() -# -# -# Copyright (C) 2012 Tom Hacohen <[email protected]> -# Based on the work done by: -# Copyright (C) 2006 Enrico Scholz <[email protected]> -# -# Redistribution and use, with or without modification, are permitted -# provided that the following conditions are met: -# -# 1. Redistributions must retain the above copyright notice, this -# list of conditions and the following disclaimer. -# 2. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -macro(add_distcheck) - set(MakeDist_FOUND 1) - - set(DISTCHECK_TMPDIR "${CMAKE_BINARY_DIR}/.make-dist" CACHE PATH "directory for temporary files created by'make dist*'") - set(DISTCHECK_FILENAME ${CPACK_SOURCE_PACKAGE_FILE_NAME} CACHE PATH "basename of the tarball created by 'make dist'") - set(DISTCHECK_CMAKEFLAGS CACHE STRING "flags which are given to 'cmake' by 'make distcheck'") - set(DISTCHECK_BUILDTARGETS "" CACHE STRING "build-target(s) tried by 'make distcheck'") - set(DISTCHECK_INSTALLTARGETS install CACHE STRING "install-target(s) tried by 'make distcheck'") - - mark_as_advanced(DISTCHECK_TMPDIR DISTCHECK_FILENAME DISTCHECK_CMAKEFLAGS DISTCHECK_BUILDTARGETS DISTCHECK_INSTALLTARGETS) - - set(DISTCHECK_BASESOURCEDIR "${DISTCHECK_TMPDIR}/source") - set(DISTCHECK_SOURCEDIR "${DISTCHECK_BASESOURCEDIR}/${DISTCHECK_FILENAME}") - set(DISTCHECK_BUILDDIR "${DISTCHECK_TMPDIR}/build") - set(DISTCHECK_INSTALLTARGETS "install") - add_custom_target(distcheck - # Create the tarball - COMMAND ${CMAKE_MAKE_PROGRAM} dist - - # Create the temp dir. - COMMAND chmod -Rf a+w "${DISTCHECK_TMPDIR}" 2>/dev/null || : - COMMAND rm -rf "${DISTCHECK_TMPDIR}" - COMMAND mkdir -p "${DISTCHECK_SOURCEDIR}" "${DISTCHECK_BUILDDIR}" - - # extract tarball - COMMAND tar xzf ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz -C "${DISTCHECK_BASESOURCEDIR}" - # write-protect sources to detect modifies-sourcetree bugs - COMMAND chmod -R a-w "${DISTCHECK_SOURCEDIR}" - - COMMAND cd "${DISTCHECK_BUILDDIR}" && ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX:PATH="${DISTCHECK_TMPDIR}/install" ${DISTCHECK_CMAKEFLAGS} "${DISTCHECK_SOURCEDIR}" - - COMMAND cd "${DISTCHECK_BUILDDIR}" && ${CMAKE_MAKE_PROGRAM} ${DISTCHECK_BUILDTARGETS} - - # execute 'make install' without DESTDIR - COMMAND cd "${DISTCHECK_BUILDDIR}" && ${CMAKE_MAKE_PROGRAM} ${DISTCHECK_INSTALLTARGETS} DESTDIR= - # write protect installation path to detect writing outside of DESTDIR - COMMAND chmod -R a-w "${DISTCHECK_TMPDIR}/install" - # execute 'make install' with DESTDIR and move the files to a better location - COMMAND cd "${DISTCHECK_BUILDDIR}" && ${CMAKE_MAKE_PROGRAM} ${DISTCHECK_INSTALLTARGETS} DESTDIR="${DISTCHECK_TMPDIR}/install-tmp" - COMMAND mv "${DISTCHECK_TMPDIR}/install-tmp/${DISTCHECK_TMPDIR}/install" "${DISTCHECK_TMPDIR}/install-destdir" - - # generate list of files which were installed by the both 'make - # install' commands above and compare them - COMMAND cd "${DISTCHECK_TMPDIR}/install" && find -type f | sort > ../files.install - COMMAND cd "${DISTCHECK_TMPDIR}/install-destdir" && find -type f | sort > ../files.destdir - COMMAND cd "${DISTCHECK_TMPDIR}" && diff files.install files.destdir - - # cleanup tmpdir - COMMAND chmod -R u+Xw "${DISTCHECK_TMPDIR}" 2>/dev/null || : - COMMAND rm -rf "${DISTCHECK_TMPDIR}" - ) -endmacro(add_distcheck) - diff --git a/cmake/Modules/legacy/FindEcore.cmake b/cmake/Modules/legacy/FindEcore.cmake deleted file mode 100644 index 25368cb..0000000 --- a/cmake/Modules/legacy/FindEcore.cmake +++ /dev/null @@ -1,63 +0,0 @@ -# - Try to find ecore -# Once done this will define -# ECORE_FOUND - System has ecore -# ECORE_INCLUDE_DIRS - The ecore include directories -# ECORE_LIBRARIES - The libraries needed to use ecore -# ECORE_DEFINITIONS - Compiler switches required for using ecore - -# Use FIND_PACKAGE( Ecore COMPONENTS ... ) to enable modules -IF( Ecore_FIND_COMPONENTS ) - FOREACH( component ${Ecore_FIND_COMPONENTS} ) - STRING( TOUPPER ${component} _COMPONENT ) - SET( ECORE_USE_${_COMPONENT} 1 ) - ENDFOREACH( component ) -ENDIF( Ecore_FIND_COMPONENTS ) - -find_package(PkgConfig) -if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") - # "QUIET" was introduced in 2.8.2 - set(_QUIET QUIET) -endif () -pkg_check_modules(PC_LIBECORE ${_QUIET} ecore) -set(ECORE_DEFINITIONS ${PC_LIBECORE_CFLAGS_OTHER}) - -find_path(ECORE_INCLUDE_DIR Ecore.h - HINTS ${PC_LIBECORE_INCLUDEDIR} ${PC_LIBECORE_INCLUDE_DIRS} - PATH_SUFFIXES ecore ) - -find_library(ECORE_LIBRARY NAMES ecore - HINTS ${PC_LIBECORE_LIBDIR} ${PC_LIBECORE_LIBRARY_DIRS} ) - -set(ECORE_LIBRARIES ${ECORE_LIBRARY} ) -set(ECORE_INCLUDE_DIRS ${ECORE_INCLUDE_DIR} ) - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set ECORE_FOUND to TRUE -# if all listed variables are TRUE -find_package_handle_standard_args(ecore DEFAULT_MSG - ECORE_LIBRARY ECORE_INCLUDE_DIR) - -mark_as_advanced( ECORE_INCLUDE_DIR ECORE_LIBRARY ) - -if (ECORE_USE_ECORE-X) - pkg_check_modules(PC_LIBECORE_X ${_QUIET} ecore-x) - set(ECORE_X_DEFINITIONS ${PC_LIBECORE_X_CFLAGS_OTHER}) - - find_path(ECORE_X_INCLUDE_DIR Ecore_X.h - HINTS ${PC_LIBECORE_X_INCLUDEDIR} ${PC_LIBECORE_X_INCLUDE_DIRS} - PATH_SUFFIXES ecore ) - - find_library(ECORE_X_LIBRARY NAMES ecore_x - HINTS ${PC_LIBECORE_X_LIBDIR} ${PC_LIBECORE_X_LIBRARY_DIRS} ) - - set(ECORE_X_LIBRARIES ${ECORE_X_LIBRARY} ) - set(ECORE_X_INCLUDE_DIRS ${ECORE_X_INCLUDE_DIR} ) - - include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set ECORE_X_FOUND to TRUE -# if all listed variables are TRUE - find_package_handle_standard_args(ecore_x DEFAULT_MSG - ECORE_X_LIBRARY ECORE_X_INCLUDE_DIR) - - mark_as_advanced( ECORE_X_INCLUDE_DIR ECORE_X_LIBRARY ) -endif (ECORE_USE_ECORE-X) diff --git a/cmake/Modules/legacy/FindEdje.cmake b/cmake/Modules/legacy/FindEdje.cmake deleted file mode 100644 index 3e58d79..0000000 --- a/cmake/Modules/legacy/FindEdje.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# - Try to find edje -# Once done this will define -# EDJE_FOUND - System has edje -# EDJE_INCLUDE_DIRS - The edje include directories -# EDJE_LIBRARIES - The libraries needed to use edje -# EDJE_DEFINITIONS - Compiler switches required for using edje - -find_package(PkgConfig) -if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") - # "QUIET" was introduced in 2.8.2 - set(_QUIET QUIET) -endif () -pkg_check_modules(PC_LIBEDJE ${_QUIET} edje) -set(EDJE_DEFINITIONS ${PC_LIBEDJE_CFLAGS_OTHER}) - -find_path(EDJE_INCLUDE_DIR Edje.h - HINTS ${PC_LIBEDJE_INCLUDEDIR} ${PC_LIBEDJE_INCLUDE_DIRS} - PATH_SUFFIXES edje ) - -find_library(EDJE_LIBRARY NAMES edje - HINTS ${PC_LIBEDJE_LIBDIR} ${PC_LIBEDJE_LIBRARY_DIRS} ) - -set(EDJE_LIBRARIES ${EDJE_LIBRARY} ) -set(EDJE_INCLUDE_DIRS ${EDJE_INCLUDE_DIR} ) - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set EDJE_FOUND to TRUE -# if all listed variables are TRUE -find_package_handle_standard_args(edje DEFAULT_MSG - EDJE_LIBRARY EDJE_INCLUDE_DIR) - -mark_as_advanced(EDJE_INCLUDE_DIR EDJE_LIBRARY ) diff --git a/cmake/Modules/legacy/FindEet.cmake b/cmake/Modules/legacy/FindEet.cmake deleted file mode 100644 index c749883..0000000 --- a/cmake/Modules/legacy/FindEet.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# - Try to find eet -# Once done this will define -# EET_FOUND - System has eet -# EET_INCLUDE_DIRS - The eet include directories -# EET_LIBRARIES - The libraries needed to use eet -# EET_DEFINITIONS - Compiler switches required for using eet - -find_package(PkgConfig) -if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") - # "QUIET" was introduced in 2.8.2 - set(_QUIET QUIET) -endif () -pkg_check_modules(PC_LIBEET ${_QUIET} eet) -set(EET_DEFINITIONS ${PC_LIBEET_CFLAGS_OTHER}) - -find_path(EET_INCLUDE_DIR Eet.h - HINTS ${PC_LIBEET_INCLUDEDIR} ${PC_LIBEET_INCLUDE_DIRS} - PATH_SUFFIXES eet ) - -find_library(EET_LIBRARY NAMES eet - HINTS ${PC_LIBEET_LIBDIR} ${PC_LIBEET_LIBRARY_DIRS} ) - -set(EET_LIBRARIES ${EET_LIBRARY} ) -set(EET_INCLUDE_DIRS ${EET_INCLUDE_DIR} ) - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set EET_FOUND to TRUE -# if all listed variables are TRUE -find_package_handle_standard_args(eet DEFAULT_MSG - EET_LIBRARY EET_INCLUDE_DIR) - -mark_as_advanced( EET_INCLUDE_DIR EET_LIBRARY ) diff --git a/cmake/Modules/legacy/FindEfreet.cmake b/cmake/Modules/legacy/FindEfreet.cmake deleted file mode 100644 index 0ec8637..0000000 --- a/cmake/Modules/legacy/FindEfreet.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# - Try to find efreet -# Once done this will define -# EFREET_FOUND - System has efreet -# EFREET_INCLUDE_DIRS - The efreet include directories -# EFREET_LIBRARIES - The libraries needed to use efreet -# EFREET_DEFINITIONS - Compiler switches required for using efreet - -find_package(PkgConfig) -if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") - # "QUIET" was introduced in 2.8.2 - set(_QUIET QUIET) -endif () -pkg_check_modules(PC_LIBEFREET ${_QUIET} efreet) -set(EFREET_DEFINITIONS ${PC_LIBEFREET_CFLAGS_OTHER}) - -find_path(EFREET_INCLUDE_DIR Efreet.h - HINTS ${PC_LIBEFREET_INCLUDEDIR} ${PC_LIBEFREET_INCLUDE_DIRS} - PATH_SUFFIXES efreet ) - -find_library(EFREET_LIBRARY NAMES efreet - HINTS ${PC_LIBEFREET_LIBDIR} ${PC_LIBEFREET_LIBRARY_DIRS} ) - -set(EFREET_LIBRARIES ${EFREET_LIBRARY} ) -set(EFREET_INCLUDE_DIRS ${EFREET_INCLUDE_DIR} ) - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set EFREET_FOUND to TRUE -# if all listed variables are TRUE -find_package_handle_standard_args(efreet DEFAULT_MSG - EFREET_LIBRARY EFREET_INCLUDE_DIR) - -mark_as_advanced(EFREET_INCLUDE_DIR EFREET_LIBRARY ) diff --git a/cmake/Modules/legacy/FindEina.cmake b/cmake/Modules/legacy/FindEina.cmake deleted file mode 100644 index 35989e4..0000000 --- a/cmake/Modules/legacy/FindEina.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# - Try to find eina -# Once done this will define -# EINA_FOUND - System has eina -# EINA_INCLUDE_DIRS - The eina include directories -# EINA_LIBRARIES - The libraries needed to use eina -# EINA_DEFINITIONS - Compiler switches required for using eina - -find_package(PkgConfig) -if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") - # "QUIET" was introduced in 2.8.2 - set(_QUIET QUIET) -endif () -pkg_check_modules(PC_LIBEINA ${_QUIET} eina) -set(EINA_DEFINITIONS ${PC_LIBEINA_CFLAGS_OTHER}) - -find_path(EINA_INCLUDE_DIR Eina.h - HINTS ${PC_LIBEINA_INCLUDEDIR} ${PC_LIBEINA_INCLUDE_DIRS} - PATH_SUFFIXES eina ) - -find_library(EINA_LIBRARY NAMES eina - HINTS ${PC_LIBEINA_LIBDIR} ${PC_LIBEINA_LIBRARY_DIRS} ) - -set(EINA_LIBRARIES ${EINA_LIBRARY} ) -set(EINA_INCLUDE_DIRS ${EINA_INCLUDE_DIR} "${EINA_INCLUDE_DIR}/eina" ) - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set EINA_FOUND to TRUE -# if all listed variables are TRUE -find_package_handle_standard_args(eina DEFAULT_MSG - EINA_LIBRARY EINA_INCLUDE_DIR) - -mark_as_advanced(EINA_INCLUDE_DIR EINA_LIBRARY ) diff --git a/cmake/Modules/legacy/FindElementary.cmake b/cmake/Modules/legacy/FindElementary.cmake deleted file mode 100644 index 5b09da0..0000000 --- a/cmake/Modules/legacy/FindElementary.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# - Try to find elementary -# Once done this will define -# ELEMENTARY_FOUND - System has elementary -# ELEMENTARY_INCLUDE_DIRS - The elementary include directories -# ELEMENTARY_LIBRARIES - The libraries needed to use elementary -# ELEMENTARY_DEFINITIONS - Compiler switches required for using elementary - -find_package(PkgConfig) -if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") - # "QUIET" was introduced in 2.8.2 - set(_QUIET QUIET) -endif () -pkg_check_modules(PC_LIBELEMENTARY ${_QUIET} elementary) -set(ELEMENTARY_DEFINITIONS ${PC_LIBELEMENTARY_CFLAGS_OTHER}) - -find_path(ELEMENTARY_INCLUDE_DIR Elementary.h - HINTS ${PC_LIBELEMENTARY_INCLUDEDIR} ${PC_LIBELEMENTARY_INCLUDE_DIRS} - PATH_SUFFIXES elementary ) - -find_library(ELEMENTARY_LIBRARY NAMES elementary - HINTS ${PC_LIBELEMENTARY_LIBDIR} ${PC_LIBELEMENTARY_LIBRARY_DIRS} ) - -set(ELEMENTARY_LIBRARIES ${ELEMENTARY_LIBRARY} ) -set(ELEMENTARY_INCLUDE_DIRS ${PC_LIBELEMENTARY_INCLUDEDIR} ${PC_LIBELEMENTARY_INCLUDE_DIRS} ) - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set ELEMENTARY_FOUND to TRUE -# if all listed variables are TRUE -find_package_handle_standard_args(elementary DEFAULT_MSG - ELEMENTARY_LIBRARY ELEMENTARY_INCLUDE_DIR) - -mark_as_advanced(ELEMENTARY_INCLUDE_DIR ELEMENTARY_LIBRARY ) diff --git a/cmake/Modules/legacy/FindEvas.cmake b/cmake/Modules/legacy/FindEvas.cmake deleted file mode 100644 index 25a81fa..0000000 --- a/cmake/Modules/legacy/FindEvas.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# - Try to find evas -# Once done this will define -# EVAS_FOUND - System has evas -# EVAS_INCLUDE_DIRS - The evas include directories -# EVAS_LIBRARIES - The libraries needed to use evas -# EVAS_DEFINITIONS - Compiler switches required for using evas - -find_package(PkgConfig) -if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1") - # "QUIET" was introduced in 2.8.2 - set(_QUIET QUIET) -endif () -pkg_check_modules(PC_LIBEVAS ${_QUIET} evas) -set(EVAS_DEFINITIONS ${PC_LIBEVAS_CFLAGS_OTHER}) - -find_path(EVAS_INCLUDE_DIR Evas.h - HINTS ${PC_LIBEVAS_INCLUDEDIR} ${PC_LIBEVAS_INCLUDE_DIRS} - PATH_SUFFIXES evas ) - -find_library(EVAS_LIBRARY NAMES evas - HINTS ${PC_LIBEVAS_LIBDIR} ${PC_LIBEVAS_LIBRARY_DIRS} ) - -set(EVAS_LIBRARIES ${EVAS_LIBRARY} ) -set(EVAS_INCLUDE_DIRS ${EVAS_INCLUDE_DIR} ) - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set EVAS_FOUND to TRUE -# if all listed variables are TRUE -find_package_handle_standard_args(evas DEFAULT_MSG - EVAS_LIBRARY EVAS_INCLUDE_DIR) - -mark_as_advanced(EVAS_INCLUDE_DIR EVAS_LIBRARY ) diff --git a/cmakeconfig.h.in b/cmakeconfig.h.in deleted file mode 100644 index 3895fee..0000000 --- a/cmakeconfig.h.in +++ /dev/null @@ -1,22 +0,0 @@ -#define PACKAGE "@PACKAGE@" -#define PACKAGE_NAME PACKAGE -#define VERSION "@PACKAGE_VERSION@" -#define VMAJ @VMAJ@ -#define VMIN @VMIN@ -#define VMIC @VMIC@ - -#cmakedefine HAVE___ATTRIBUTE__ -#ifdef HAVE___ATTRIBUTE__ -#define __UNUSED__ __attribute__((unused)) -#else -#define __UNUSED__ -#endif - -#cmakedefine HAVE_PATH_MAX -#ifndef HAVE_PATH_MAX -#define PATH_MAX 4096 -#endif - -#cmakedefine HAVE_ECORE_X - -#cmakedefine ENABLE_NLS diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt deleted file mode 100644 index a4b01f9..0000000 --- a/data/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -install(FILES "${PROJECT_SOURCE_DIR}/data/ecrire.png" - DESTINATION "share/icons") - -install(FILES "${PROJECT_SOURCE_DIR}/data/ecrire.desktop" - DESTINATION "share/applications") diff --git a/data/ecrire.desktop b/data/desktop/ecrire.desktop similarity index 100% rename from data/ecrire.desktop rename to data/desktop/ecrire.desktop diff --git a/data/desktop/meson.build b/data/desktop/meson.build new file mode 100644 index 0000000..b7f25a6 --- /dev/null +++ b/data/desktop/meson.build @@ -0,0 +1,2 @@ +install_data('ecrire.desktop', + install_dir: join_paths(dir_data, 'applications')) diff --git a/data/ecrire.png b/data/icons/ecrire.png similarity index 100% rename from data/ecrire.png rename to data/icons/ecrire.png diff --git a/data/icons/meson.build b/data/icons/meson.build new file mode 100644 index 0000000..817293f --- /dev/null +++ b/data/icons/meson.build @@ -0,0 +1,2 @@ +install_data('ecrire.png', + install_dir: join_paths(dir_data, 'icons')) diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 0000000..8a19d38 --- /dev/null +++ b/data/meson.build @@ -0,0 +1,2 @@ +subdir('desktop') +subdir('icons') diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..70e1f1d --- /dev/null +++ b/meson.build @@ -0,0 +1,54 @@ +##### project +project('ecrire', 'c', + version : '0.1.1', + license : 'GPL', + default_options: [ 'buildtype=plain', 'c_std=gnu99' ], + meson_version : '>= 0.40.0') +base_url = 'https://www.enlightenment.org/about-' + +##### convenience variables for later +proj = meson.project_name() +ver = meson.project_version() + +##### dependencies +efl_version = '>= 1.22.3' +deps = dependency('elementary', version: efl_version) + +##### dir locations +dir_prefix = get_option('prefix') +dir_bin = join_paths(dir_prefix, get_option('bindir')) +dir_lib = join_paths(dir_prefix, get_option('libdir')) +dir_data = join_paths(dir_prefix, get_option('datadir')) +dir_locale = join_paths(dir_prefix, get_option('localedir')) + +install_data([ 'AUTHORS', + 'COPYING' + ], + install_dir: join_paths(dir_data, 'ecrire')) + +##### config.h +cfg = configuration_data() +cfg.set_quoted('PACKAGE' , proj) +cfg.set_quoted('PACKAGE_NAME' , proj) +cfg.set_quoted('PACKAGE_VERSION' , ver) +cfg.set_quoted('PACKAGE_STRING' , proj + ' ' + ver) +cfg.set_quoted('LOCALE_DIR' , join_paths([dir_prefix, 'share/locale'])) +cfg.set_quoted('PACKAGE_URL' , base_url + proj) +cfg.set_quoted('PACKAGE_BIN_DIR' , dir_bin) +cfg.set_quoted('PACKAGE_LIB_DIR' , dir_lib) +cfg.set_quoted('PACKAGE_DATA_DIR' , join_paths(dir_data, proj)) +cfg.set_quoted('LOCALEDIR' , dir_locale) +cfg.set ('_GNU_SOURCE' , 1) +cfg.set ('__EXTENSIONS__' , 1) +cfg.set ('_POSIX_PTHREAD_SEMANTICS', 1) +cfg.set ('_ALL_SOURCE' , 1) +cfg.set ('_POSIX_SOURCE' , 1) +cfg.set ('_POSIX_1_SOURCE' , 1) + +subdir('po') + +configure_file(output: 'config.h', configuration: cfg) + +##### subdirs +subdir('src') +subdir('data') diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..fe7f83b --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,4 @@ +option('nls', + type: 'boolean', + value: true, + description: 'enable localization: (default=true)') diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt deleted file mode 100644 index 892654a..0000000 --- a/po/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -GettextTranslate() diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 0000000..dcbeba9 --- /dev/null +++ b/po/meson.build @@ -0,0 +1,19 @@ +dep_intl = [] + +if get_option('nls') + i18n = import('i18n') + i18n.gettext('ecrire', + args: [ + '--keyword=_', + '--keyword=d_:1', + '--keyword=P_:1,2', + '--keyword=dP_:1,2', + '--keyword=N_', + '--keyword=NP_:1,2', + '--from-code=UTF-8', + '--foreign-user' + ]) + cfg.set('ENABLE_NLS', '1') + cc = meson.get_compiler('c') + dep_intl = cc.find_library('intl', required : false) +endif diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt deleted file mode 100644 index d79cff9..0000000 --- a/src/bin/CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ -LIST(APPEND ECRIRE_CC_SOURCES - main.c - file_utils.c - cfg.c - ui/file_related.c - ui/search_dialog.c - ui/goto_dialog.c - ui/font_dialog.c - ui/alerts.c - ) - -include_directories( - ${EINA_INCLUDE_DIRS} - ${ELEMENTARY_INCLUDE_DIRS} - ${EDJE_INCLUDE_DIRS} - ${ECORE_INCLUDE_DIRS} - ${ECORE_X_INCLUDE_DIRS} - ${EFREET_INCLUDE_DIRS} - ${EVAS_INCLUDE_DIRS} - ${EET_INCLUDE_DIRS} - ) - -add_executable(ecrire ${ECRIRE_CC_SOURCES}) -target_link_libraries(ecrire - ${EINA_LIBRARIES} - ${ELEMENTARY_LIBRARIES} - ${EDJE_LIBRARIES} - ${ECORE_LIBRARIES} - ${ECORE_X_LIBRARIES} - ${EFREET_LIBRARIES} - ${EVAS_LIBRARIES} - ${EET_LIBRARIES} - ) - -install(TARGETS ecrire DESTINATION bin) diff --git a/src/bin/main.c b/src/bin/main.c index 993d551..dc8589f 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -1,17 +1,5 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#ifdef HAVE_UNISTD_H -# include <unistd.h> -#endif - -/* -#ifdef HAVE_ECORE_X -# include <Ecore_X.h> -#endif -*/ - +#include "config.h" +#include <unistd.h> #include <Elementary.h> #include "mess_header.h" @@ -72,8 +60,8 @@ _alert_if_need_saving(void (*done)(void *data), Ecrire_Entry *ent) } static void -_sel_start(void *data, Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) +_sel_start(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; elm_object_item_disabled_set(ent->copy_item, EINA_FALSE); @@ -81,8 +69,8 @@ _sel_start(void *data, Evas_Object *obj __UNUSED__, } static void -_sel_clear(void *data __UNUSED__, Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) +_sel_clear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; elm_object_item_disabled_set(ent->copy_item, EINA_TRUE); @@ -109,7 +97,7 @@ _update_cur_file(const char *file, Ecrire_Entry *ent) } static void -_cur_changed(void *data, Evas_Object *obj, void *event_info __UNUSED__) +_cur_changed(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { char buf[50]; int line; @@ -130,7 +118,7 @@ _cur_changed(void *data, Evas_Object *obj, void *event_info __UNUSED__) } static void -_cur_changed_manual(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_cur_changed_manual(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; ent->undo_stack_can_merge = EINA_FALSE; @@ -269,7 +257,7 @@ _undo_redo_do(Ecrire_Entry *ent, Elm_Entry_Change_Info *inf, Eina_Bool undo) } static void -_undo(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_undo(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { /* In undo we care about the current item */ Ecrire_Entry *ent = data; @@ -298,7 +286,7 @@ _undo(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) } static void -_redo(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_redo(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; Elm_Entry_Change_Info *inf = NULL; @@ -331,7 +319,7 @@ _redo(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) } static void -_ent_changed(void *data, Evas_Object *obj __UNUSED__, void *event_info) +_ent_changed(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) { Ecrire_Entry *ent = data; elm_object_item_disabled_set(ent->save_item, EINA_FALSE); @@ -368,7 +356,7 @@ _load_to_entry(Ecrire_Entry *ent, const char *file) } static void -_fs_open_done(void *data __UNUSED__, Evas_Object *obj __UNUSED__, +_fs_open_done(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info) { const char *selected = event_info; @@ -390,7 +378,7 @@ save_do(const char *file, Ecrire_Entry *ent) } static void -_fs_save_done(void *data __UNUSED__, Evas_Object *obj __UNUSED__, +_fs_save_done(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info) { const char *selected = event_info; @@ -409,14 +397,14 @@ _open_do(void *data) } static void -_goto_line(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_goto_line(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; ui_goto_dialog_open(ent->win, ent); } static void -_open(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_open(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; _alert_if_need_saving(_open_do, ent); @@ -436,14 +424,14 @@ editor_save(Ecrire_Entry *ent, void *callback_func) } static void -_save(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_save(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; editor_save(ent, _fs_save_done); } static void -_save_as(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_save_as(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; ui_file_open_save_dialog_open(ent->win, _fs_save_done, EINA_TRUE); @@ -460,42 +448,42 @@ _new_do(void *data) } static void -_new(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_new(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; _alert_if_need_saving(_new_do, ent); } static void -_cut(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_cut(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; elm_entry_selection_cut(ent->entry); } static void -_copy(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_copy(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; elm_entry_selection_copy(ent->entry); } static void -_paste(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_paste(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; elm_entry_selection_paste(ent->entry); } static void -_find(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_find(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; ui_find_dialog_open(ent->win, ent); } static void -_font_settings(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_font_settings(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; ui_font_dialog_open(elm_object_top_widget_get(ent->win), ent, _ent_cfg->font.name, _ent_cfg->font.size); @@ -503,7 +491,7 @@ _font_settings(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSE static void -_win_del_do(void *data __UNUSED__) +_win_del_do(void *data EINA_UNUSED) { elm_exit(); } @@ -572,7 +560,7 @@ editor_font_choose(Ecrire_Entry *ent, const char *font, int size) /* #ifdef HAVE_ECORE_X static Eina_Bool -_selection_notify(void *data, int type __UNUSED__, void *_event) +_selection_notify(void *data, int type EINA_UNUSED, void *_event) { Ecrire_Entry *ent = data; Ecore_X_Event_Fixes_Selection_Notify *event = @@ -593,7 +581,7 @@ _selection_notify(void *data, int type __UNUSED__, void *_event) */ static void -_key_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event) +_key_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event) { Ecrire_Entry *ent = data; Eina_Bool ctrl, alt, shift; @@ -617,8 +605,8 @@ _key_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event) _save(data, obj, event); } -int -main(int argc, char *argv[]) +EAPI_MAIN int +elm_main(int argc, char **argv) { Evas_Object *bg, *tbar, *bx, *cur_info; Evas_Coord w = 600, h = 600; @@ -626,12 +614,6 @@ main(int argc, char *argv[]) opterr = 0; - if (!eina_init()) - { - printf("Failed to initialize Eina_log module\n"); - return EXIT_FAILURE; - } - _ecrire_log_dom = eina_log_domain_register("ecrire", ECRIRE_DEFAULT_LOG_COLOR); if (_ecrire_log_dom < 0) { @@ -661,12 +643,18 @@ main(int argc, char *argv[]) } } + elm_app_compile_bin_dir_set(PACKAGE_BIN_DIR); + elm_app_compile_lib_dir_set(PACKAGE_LIB_DIR); + elm_app_compile_data_dir_set(PACKAGE_DATA_DIR); +#ifdef ENABLE_NLS + elm_app_compile_locale_set(LOCALEDIR); +#endif + elm_app_info_set(elm_main, "ecrire", "COPYING"); + setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALE_DIR); textdomain(PACKAGE); - elm_init(argc, argv); - ecrire_cfg_init(PACKAGE_NAME); ecrire_cfg_load(); @@ -683,7 +671,7 @@ main(int argc, char *argv[]) DBG("Opening filename: '%s'", main_ec_ent->filename); - main_ec_ent->win = elm_win_add(NULL, "editor", ELM_WIN_BASIC); + main_ec_ent->win = elm_win_add(NULL, "Ecrire", ELM_WIN_BASIC); elm_win_autodel_set(main_ec_ent->win, EINA_FALSE); bg = elm_bg_add(main_ec_ent->win); @@ -793,13 +781,11 @@ main(int argc, char *argv[]) elm_run(); ecrire_cfg_shutdown(); - elm_shutdown(); eina_log_domain_unregister(_ecrire_log_dom); _ecrire_log_dom = -1; - eina_shutdown(); - return 0; } +ELM_MAIN() static void print_usage(const char *bin) diff --git a/src/bin/meson.build b/src/bin/meson.build new file mode 100644 index 0000000..0b4a4a4 --- /dev/null +++ b/src/bin/meson.build @@ -0,0 +1,17 @@ +inc = include_directories('.', '../..') +executable('ecrire', [ + 'cfg.c', 'cfg.h', + 'file_utils.c', + 'main.c', + 'mess_header.h', + 'ui/alerts.c', + 'ui/file_related.c', + 'ui/font_dialog.c', + 'ui/goto_dialog.c', + 'ui/search_dialog.c', + 'ui/ui.h' + ], + include_directories: inc, + dependencies : [ deps, dep_intl ] , + gui_app : true, + install : true) diff --git a/src/bin/ui/alerts.c b/src/bin/ui/alerts.c index 2da479d..2247ec0 100644 --- a/src/bin/ui/alerts.c +++ b/src/bin/ui/alerts.c @@ -1,7 +1,4 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - +#include "config.h" #include <Elementary.h> #include "../mess_header.h" @@ -10,7 +7,7 @@ static void *done_data; static void (*done_cb)(void *data); static void -_discard(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_discard(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = done_data; @@ -19,7 +16,7 @@ _discard(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) } static void -_fs_save_done(void *data __UNUSED__, Evas_Object *obj __UNUSED__, +_fs_save_done(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info) { const char *selected = event_info; @@ -32,7 +29,7 @@ _fs_save_done(void *data __UNUSED__, Evas_Object *obj __UNUSED__, } static void -_save(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_save(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = done_data; @@ -41,7 +38,7 @@ _save(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) } static void -_cancel(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_cancel(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { evas_object_del(data); } diff --git a/src/bin/ui/file_related.c b/src/bin/ui/file_related.c index fcab732..89bc031 100644 --- a/src/bin/ui/file_related.c +++ b/src/bin/ui/file_related.c @@ -1,7 +1,4 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - +#include "config.h" #include <Elementary.h> Evas_Object *inwin; diff --git a/src/bin/ui/font_dialog.c b/src/bin/ui/font_dialog.c index 4924bd8..f2ded5d 100644 --- a/src/bin/ui/font_dialog.c +++ b/src/bin/ui/font_dialog.c @@ -1,7 +1,4 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - +#include "config.h" #include <Elementary.h> #include "../mess_header.h" @@ -49,7 +46,7 @@ _font_list_get(const Evas *e) static void _set_clicked(void *data, - Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) + Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = data; const char *selected = NULL; @@ -63,8 +60,8 @@ _set_clicked(void *data, } static void -_check_changed_cb(void *data __UNUSED__, Evas_Object *obj, - void *event_info __UNUSED__) +_check_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, + void *event_info EINA_UNUSED) { elm_object_disabled_set(list, elm_check_state_get(obj)); elm_object_disabled_set(fsize, elm_check_state_get(obj)); diff --git a/src/bin/ui/goto_dialog.c b/src/bin/ui/goto_dialog.c index da22e95..fe2319a 100644 --- a/src/bin/ui/goto_dialog.c +++ b/src/bin/ui/goto_dialog.c @@ -1,7 +1,4 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - +#include "config.h" #include <Elementary.h> #include "../mess_header.h" @@ -29,13 +26,13 @@ _goto_do(Evas_Object *entry, const char *text) static void _goto_clicked(void *data, - Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) + Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { _goto_do(data, elm_object_text_get(sent)); } static void -_my_win_del(void *data __UNUSED__, Evas_Object *obj, void *event_info) +_my_win_del(void *data EINA_UNUSED, Evas_Object *obj, void *event_info) { (void) obj; (void) event_info; diff --git a/src/bin/ui/search_dialog.c b/src/bin/ui/search_dialog.c index 2f2064f..2e20cfc 100644 --- a/src/bin/ui/search_dialog.c +++ b/src/bin/ui/search_dialog.c @@ -1,7 +1,4 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - +#include "config.h" #include <Elementary.h> #include "../mess_header.h" @@ -97,14 +94,14 @@ _find_in_entry(Evas_Object *entry, const char *text, Eina_Bool jump_next) static void _find_clicked(void *data, - Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) + Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { _find_in_entry(data, elm_object_text_get(sent), EINA_TRUE); } static void _replace_clicked(void *data, - Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) + Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { if (_find_in_entry(data, elm_object_text_get(sent), EINA_FALSE)) { @@ -118,7 +115,7 @@ _replace_clicked(void *data, } static void -my_win_del(void *data __UNUSED__, Evas_Object *obj, void *event_info) +my_win_del(void *data EINA_UNUSED, Evas_Object *obj, void *event_info) { (void) obj; (void) event_info; diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..2ca5545 --- /dev/null +++ b/src/meson.build @@ -0,0 +1 @@ +subdir('bin') --
