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-17 17:23:25 +0200
commit90aed94879cdd2fcb1824a114387b8c8aa651f19 (patch)
tree31e19b0c03c80df10526b3cde42f15cfcbbf633e
parent52d5b0c2378b07b40554d15fecaa65d1228cfa9a (diff)
downloadtdelibs-90aed94879cdd2fcb1824a114387b8c8aa651f19.tar.gz
tdelibs-90aed94879cdd2fcb1824a114387b8c8aa651f19.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> (cherry picked from commit a94bf7ad14415944b4ed7f6bdded31101c716600)
-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 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}<!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 cfb5f6a7a..478033d90 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@">