summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2020-06-16 15:05:00 +0200
committerSlávek Banko <slavek.banko@axis.cz>2020-06-16 15:05:00 +0200
commita94bf7ad14415944b4ed7f6bdded31101c716600 (patch)
tree4bb39c1ca591e49bac11452a6cc6d7eb4337391c
parent98436f882d2146fe156c26e81bb87d409cfcf819 (diff)
downloadtdelibs-a94bf7ad.tar.gz
tdelibs-a94bf7ad.zip
Prepare the complete ksgmltools2 in the binary directory
instead of updating in the source. 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 <slavek.banko@axis.cz>
-rw-r--r--doc/tdespell/CMakeLists.txt2
-rw-r--r--kdoctools/CMakeLists.txt35
-rw-r--r--kdoctools/ConfigureChecks.cmake26
-rw-r--r--kdoctools/customization/entities/general.entities3
4 files changed, 29 insertions, 37 deletions
diff --git a/doc/tdespell/CMakeLists.txt b/doc/tdespell/CMakeLists.txt
index 72836d57..e750cdfc 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 8657e277..e12cf789 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 c98843e2..876f9103 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}<!ENTITY tde-release-version \"${TDE_VERSION_STRING}\">\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}<!ENTITY tde-release-date \"${TDE_RELEASE_DATE}\">\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}<!ENTITY tde-copyright-date \"${TDE_RELEASE_COPYRIGHT}\">\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 cfb5f6a7..478033d9 100644
--- a/kdoctools/customization/entities/general.entities
+++ b/kdoctools/customization/entities/general.entities
@@ -425,3 +425,6 @@
<!ENTITY tde-team "The &tde; Team">
+<!ENTITY tde-release-version "@TDE_VERSION_STRING@">
+<!ENTITY tde-release-date "@TDE_RELEASE_DATE@">
+<!ENTITY tde-copyright-date "@TDE_RELEASE_COPYRIGHT@">