remove win-textfile script (#530)

* remove python scripts

* retore convert-icon script

* fix docs destination

* fix docs->doc
This commit is contained in:
Roman Fomin 2022-04-28 13:20:48 +07:00 committed by GitHub
parent 66724b6391
commit 7e81350578
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 6 additions and 224 deletions

View File

@ -145,23 +145,16 @@ find_package(SDL2_net)
# FluidSynth backend
find_package(FluidSynth)
# Python 3.
#
# Optional, not needed for most things. If you're missing it you need to
# install it yourself.
find_package(Python3 COMPONENTS Interpreter)
configure_file(config.h.in config.h)
# Files that should be installed with the install target.
configure_file(WoofInstall.cmake.in WoofInstall.cmake ESCAPE_QUOTES @ONLY)
install(SCRIPT "${PROJECT_BINARY_DIR}/WoofInstall.cmake")
if(WIN32)
install(FILES "${PROJECT_BINARY_DIR}/COPYING.txt" DESTINATION .)
install(FILES "${PROJECT_BINARY_DIR}/README.txt" DESTINATION .)
install(FILES COPYING DESTINATION .)
install(FILES README.md DESTINATION .)
install(FILES betagrph.wad DESTINATION .)
install(FILES betalevl.wad DESTINATION .)
install(FILES watermap.wad DESTINATION .)
install(DIRECTORY docs/ DESTINATION docs)
install(DIRECTORY examples/ DESTINATION docs/examples)
install(DIRECTORY autoload/ DESTINATION autoload)
if(FluidSynth_FOUND)
install(DIRECTORY soundfonts/ DESTINATION soundfonts)
@ -172,6 +165,8 @@ else()
install(FILES betagrph.wad DESTINATION "share/${PROJECT_TARNAME}")
install(FILES betalevl.wad DESTINATION "share/${PROJECT_TARNAME}")
install(FILES watermap.wad DESTINATION "share/${PROJECT_TARNAME}")
install(DIRECTORY docs/ DESTINATION "share/doc/${PROJECT_TARNAME}")
install(DIRECTORY examples/ DESTINATION "share/doc/${PROJECT_TARNAME}/examples")
install(DIRECTORY autoload/ DESTINATION "share/${PROJECT_TARNAME}/autoload")
if(FluidSynth_FOUND)
install(DIRECTORY soundfonts/ DESTINATION "share/${PROJECT_TARNAME}/soundfonts")
@ -191,8 +186,6 @@ include(CPack)
# Where to find other CMakeLists.txt files.
add_subdirectory(data)
add_subdirectory(docs)
add_subdirectory(examples)
add_subdirectory(opl)
add_subdirectory(textscreen)
add_subdirectory(Source)

View File

@ -1,24 +0,0 @@
# This script is stamped out by CMake and run by `make install`.
set(PROJECT_SOURCE_DIR "@PROJECT_SOURCE_DIR@")
set(PROJECT_BINARY_DIR "@PROJECT_BINARY_DIR@")
set(Python3_EXECUTABLE "@Python3_EXECUTABLE@")
set(WIN32 "@WIN32@")
function(win_textfile SOURCE DESTINATION)
execute_process(COMMAND
"${Python3_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/win-textfile"
"${SOURCE}" "${DESTINATION}")
endfunction()
if(WIN32)
if(NOT Python3_EXECUTABLE)
message(FATAL_ERROR "Python 3 not found, can't run install scripts.")
endif()
# Convert text files to a format Windows Notepad can read without issue.
win_textfile(
"${PROJECT_SOURCE_DIR}/COPYING" "${PROJECT_BINARY_DIR}/COPYING.txt")
win_textfile(
"${PROJECT_SOURCE_DIR}/README.md" "${PROJECT_BINARY_DIR}/README.txt")
endif()

View File

@ -1,10 +1,3 @@
if(Python3_FOUND)
add_custom_target(convert-icon
COMMAND "${Python3_EXECUTABLE}" "convert-icon"
"woof.png" "../Source/icon.c"
VERBATIM WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
endif()
if(UNIX AND NOT APPLE)
install(FILES woof.6 DESTINATION share/man/man6)
install(FILES woof.desktop DESTINATION share/applications)

0
data/convert-icon Executable file → Normal file
View File

View File

@ -1,34 +0,0 @@
# Files that need no conversion.
set(WOOF_DOCS_FILES
mbf-bugs.html)
# Plain text files that should be converted on Windows.
set(WOOF_DOCS_TEXTS
boomdeh.txt
boomref.txt
boom.txt
dckboom.txt
mapcolors_vanilla.cfg
mbf-bugs.html
mbfedit.txt
mbffaq.txt
mbf.txt
options.txt
umapinfo.txt
winmbf02s.txt
winmbf02.txt)
configure_file(WoofInstall.cmake.in WoofInstall.cmake ESCAPE_QUOTES @ONLY)
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/WoofInstall.cmake")
if(WIN32)
install(FILES ${WOOF_DOCS_FILES} DESTINATION docs)
foreach(WOOF_DOCS_TEXT ${WOOF_DOCS_TEXTS})
install(
FILES "${CMAKE_CURRENT_BINARY_DIR}/${WOOF_DOCS_TEXT}"
DESTINATION docs)
endforeach()
else()
install(DIRECTORY . DESTINATION "share/doc/${PROJECT_TARNAME}"
PATTERN CMakeLists.txt EXCLUDE PATTERN *.cmake.in EXCLUDE)
endif()

View File

@ -1,28 +0,0 @@
# This script is stamped out by CMake and run by `make install`.
set(PROJECT_SOURCE_DIR "@PROJECT_SOURCE_DIR@")
set(CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
set(CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@")
set(Python3_EXECUTABLE "@Python3_EXECUTABLE@")
set(WIN32 "@WIN32@")
set(WOOF_TEXTS "@WOOF_DOCS_TEXTS@")
function(win_textfile SOURCE DESTINATION)
execute_process(COMMAND
"${Python3_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/win-textfile"
"${SOURCE}" "${DESTINATION}")
endfunction()
if(WIN32)
if(NOT Python3_EXECUTABLE)
message(FATAL_ERROR "Python 3 not found, can't run install scripts.")
endif()
# Convert text files to a format Windows Notepad can read without issue.
foreach(WOOF_TEXT ${WOOF_TEXTS})
win_textfile(
"${CMAKE_CURRENT_SOURCE_DIR}/${WOOF_TEXT}"
"${CMAKE_CURRENT_BINARY_DIR}/${WOOF_TEXT}")
endforeach()
endif()

View File

@ -1,37 +0,0 @@
# Files that need no conversion.
set(WOOF_EXAMPLES_FILES
battle.wad
dogfly.deh
donut.wad
fireplas.deh
fly.deh
friend.deh
grenade.deh
hockey.wad
mbfedit.wad
mine.deh
mushroom.deh
playbud.deh
possbud.deh
sky.wad
touchy.deh)
# Plain text files that should be converted on Windows.
set(WOOF_EXAMPLES_TEXTS
donut.txt
mbfedit.txt)
configure_file(WoofInstall.cmake.in WoofInstall.cmake ESCAPE_QUOTES @ONLY)
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/WoofInstall.cmake")
if(WIN32)
install(FILES ${WOOF_EXAMPLES_FILES} DESTINATION docs/examples)
foreach(WOOF_EXAMPLES_TEXT ${WOOF_EXAMPLES_TEXTS})
install(
FILES "${CMAKE_CURRENT_BINARY_DIR}/${WOOF_EXAMPLES_TEXT}"
DESTINATION docs/examples)
endforeach()
else()
install(DIRECTORY . DESTINATION "share/doc/${PROJECT_TARNAME}/examples"
PATTERN CMakeLists.txt EXCLUDE PATTERN *.cmake.in EXCLUDE)
endif()

View File

@ -1,28 +0,0 @@
# This script is stamped out by CMake and run by `make install`.
set(PROJECT_SOURCE_DIR "@PROJECT_SOURCE_DIR@")
set(CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
set(CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@")
set(Python3_EXECUTABLE "@Python3_EXECUTABLE@")
set(WIN32 "@WIN32@")
set(WOOF_TEXTS "@WOOF_EXAMPLES_TEXTS@")
function(win_textfile SOURCE DESTINATION)
execute_process(COMMAND
"${Python3_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/win-textfile"
"${SOURCE}" "${DESTINATION}")
endfunction()
if(WIN32)
if(NOT Python3_EXECUTABLE)
message(FATAL_ERROR "Python 3 not found, can't run install scripts.")
endif()
# Convert text files to a format Windows Notepad can read without issue.
foreach(WOOF_TEXT ${WOOF_TEXTS})
win_textfile(
"${CMAKE_CURRENT_SOURCE_DIR}/${WOOF_TEXT}"
"${CMAKE_CURRENT_BINARY_DIR}/${WOOF_TEXT}")
endforeach()
endif()

View File

@ -1,53 +0,0 @@
#!/usr/bin/env python3
#
# Copyright(C) 2020 Alex Mayfield
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# Converts text files to a format usable by Windows Notepad.
#
import io
import sys
if len(sys.argv) < 3:
print("Usage: win-textfile <src> <dest>")
sys.exit(1)
src = open(sys.argv[1], "rb")
dest_stream = io.BytesIO()
# Check for BOM and if it doesn't exist, add it.
bom = src.read(3)
if (bom != b"\xef\xbb\xbf"):
dest_stream.write(b"\xef\xbb\xbf")
src.seek(0)
# Read the text file byte by byte.
while True:
byte = src.read(1)
if (not byte):
# End of file.
break
if (byte == b"\r"):
# Found a CR, omit it so we don't double-up.
continue
if (byte == b"\n"):
# Replace LF with CRLF.
dest_stream.write(b"\r\n")
else:
# Everything else is copied verbatim.
dest_stream.write(byte)
# Don't write file until last possible moment.
dest = open(sys.argv[2], "wb")
dest.write(dest_stream.getbuffer())