From a94bf7ad14415944b4ed7f6bdded31101c716600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Tue, 16 Jun 2020 15:05:00 +0200 Subject: [PATCH] Prepare the complete ksgmltools2 in the binary directory instead of updating in the source. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The configuration file mechanism is used to update items in general.entities instead of loading the file and replacing it with regular expressions. This relates to bug 3135. Signed-off-by: Slávek Banko --- doc/tdespell/CMakeLists.txt | 2 +- kdoctools/CMakeLists.txt | 35 ++++++++++++------- kdoctools/ConfigureChecks.cmake | 26 ++------------ .../customization/entities/general.entities | 3 ++ 4 files changed, 29 insertions(+), 37 deletions(-) diff --git a/doc/tdespell/CMakeLists.txt b/doc/tdespell/CMakeLists.txt index 72836d572..e750cdfc7 100644 --- a/doc/tdespell/CMakeLists.txt +++ b/doc/tdespell/CMakeLists.txt @@ -9,4 +9,4 @@ # ################################################# -tde_create_handbook( SRCDIR ${CMAKE_SOURCE_DIR}/kdoctools DESTINATION tdespell ) +tde_create_handbook( SRCDIR ${CMAKE_BINARY_DIR}/ksgmltools2 DESTINATION tdespell ) diff --git a/kdoctools/CMakeLists.txt b/kdoctools/CMakeLists.txt index 8657e277e..e12cf7895 100644 --- a/kdoctools/CMakeLists.txt +++ b/kdoctools/CMakeLists.txt @@ -37,19 +37,28 @@ install( PROGRAMS move_tdeio_help_cache.sh DESTINATION ${KCONF_UPDATE_INSTALL_DI install( FILES tdeio_help.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR} ) install( FILES help.protocol ghelp.protocol DESTINATION ${SERVICES_INSTALL_DIR} ) -# FIXME why automake version is so complicated? -# install-data-local: -# @(for subdir in customization docbook; do \ -# for dir in `( cd $(srcdir)/$$subdir && find . -type d ! -name CVS | grep -v '\.svn' )`; do \ -# $(mkinstalldirs) $(DESTDIR)$(kde_datadir)/ksgmltools2/$$subdir/$$dir ;\ -# for file in `(cd $(srcdir)/$$subdir && ls -1 $$dir/*)`; do \ -# if test -f $(srcdir)/$$subdir/$$file; then \ -# $(INSTALL_DATA) $(srcdir)/$$subdir/$$file $(DESTDIR)$(kde_datadir)/ksgmltools2/$$subdir/$$file; fi ;\ -# done ;\ -# done ;\ -# done ) -install( DIRECTORY customization docbook DESTINATION ${DATA_INSTALL_DIR}/ksgmltools2 PATTERN ".svn" EXCLUDE ) -install( FILES man-template.docbook template.docbook DESTINATION ${DATA_INSTALL_DIR}/ksgmltools2 ) +file( + COPY + customization docbook + man-template.docbook template.docbook + DESTINATION + ${CMAKE_BINARY_DIR}/ksgmltools2 + PATTERN ".svn" EXCLUDE + REGEX "customization/entities/general.entities$" EXCLUDE +) +configure_file( + customization/entities/general.entities + ${CMAKE_BINARY_DIR}/ksgmltools2/customization/entities/general.entities + @ONLY +) + +install( + DIRECTORY + ${CMAKE_BINARY_DIR}/ksgmltools2/ + DESTINATION + ${DATA_INSTALL_DIR}/ksgmltools2 +) + ##### kbzipfilter_dummy ############################## diff --git a/kdoctools/ConfigureChecks.cmake b/kdoctools/ConfigureChecks.cmake index c98843e23..876f91037 100644 --- a/kdoctools/ConfigureChecks.cmake +++ b/kdoctools/ConfigureChecks.cmake @@ -14,9 +14,11 @@ if( NOT TDE_RELEASE_ENTITIES ) set( ENTITIES_FILE "${CMAKE_CURRENT_SOURCE_DIR}/customization/entities/general.entities" ) if( NOT EXISTS ${TDEVERSION_FILE} ) + file( RELATIVE_PATH TDEVERSION_FILE ${CMAKE_SOURCE_DIR} ${TDEVERSION_FILE} ) tde_message_fatal( "${TDEVERSION_FILE} not found! Check your sources." ) endif( ) if( NOT EXISTS ${ENTITIES_FILE} ) + file( RELATIVE_PATH ENTITIES_FILE ${CMAKE_SOURCE_DIR} ${ENTITIES_FILE} ) tde_message_fatal( "${ENTITIES_FILE} not found! Check your sources." ) endif( ) @@ -65,34 +67,12 @@ if( NOT TDE_RELEASE_ENTITIES ) TDE_RELEASE_DATE "${TDE_RELEASE_DATE}" ) # update entities + file( RELATIVE_PATH ENTITIES_FILE ${CMAKE_SOURCE_DIR} ${ENTITIES_FILE} ) message( STATUS "Updating ${ENTITIES_FILE} TDE Release Version: ${TDE_VERSION_STRING} TDE Release Date: ${TDE_RELEASE_DATE} TDE Release Copyright: ${TDE_RELEASE_COPYRIGHT}" ) - file( READ ${ENTITIES_FILE} ENTITIES_DATA ) - if( "${ENTITIES_DATA}" MATCHES "ENTITY tde-release-version" ) - string( REGEX REPLACE "(ENTITY tde-release-version) \"[^\"]*\"" - "\\1 \"${TDE_VERSION_STRING}\"" ENTITIES_DATA "${ENTITIES_DATA}" ) - else( ) - set( ENTITIES_DATA - "${ENTITIES_DATA}\n" ) - endif( ) - if( "${ENTITIES_DATA}" MATCHES "ENTITY tde-release-date" ) - string( REGEX REPLACE "(ENTITY tde-release-date) \"[^\"]*\"" - "\\1 \"${TDE_RELEASE_DATE}\"" ENTITIES_DATA "${ENTITIES_DATA}" ) - else( ) - set( ENTITIES_DATA - "${ENTITIES_DATA}\n" ) - endif( ) - if( "${ENTITIES_DATA}" MATCHES "ENTITY tde-copyright-date" ) - string( REGEX REPLACE "(ENTITY tde-copyright-date) \"[^\"]*\"" - "\\1 \"${TDE_RELEASE_COPYRIGHT}\"" ENTITIES_DATA "${ENTITIES_DATA}" ) - else( ) - set( ENTITIES_DATA - "${ENTITIES_DATA}\n" ) - endif( ) - file( WRITE ${ENTITIES_FILE} "${ENTITIES_DATA}" ) set( TDE_RELEASE_ENTITIES 1 CACHE INTERNAL "" ) endif( ) diff --git a/kdoctools/customization/entities/general.entities b/kdoctools/customization/entities/general.entities index cfb5f6a7a..478033d90 100644 --- a/kdoctools/customization/entities/general.entities +++ b/kdoctools/customization/entities/general.entities @@ -425,3 +425,6 @@ + + +