From b065ded8aa47c1104f8de1a11982661f65abfd68 Mon Sep 17 00:00:00 2001 From: FaultyRAM Date: Fri, 8 May 2015 23:57:24 +1000 Subject: [PATCH 1/2] added CMakeLists.txt (placeholder proj. ver., docs not built) --- CMakeLists.txt | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..400efd5 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 3.2.0 FATAL_ERROR) + +project(Wander VERSION 3.0.0 LANGUAGES C) + +set(WANDER_SOURCES + wand1.c + wand2.c + wanddef.h + wandglb.c + wandsys.c) +set(WANDER_A3 + a3.misc + a3.wrld) +set(WANDER_CASTLE + castle.misc + castle.wrld) +set(WANDER_LIBRARY + library.misc + library.wrld) +set(WANDER_TUT + tut.misc + tut.wrld) +set(WANDER_DOCS + READ_ME + READ_ME_TOO + README.md + Wander.txt + WanderExportReadMe.txt + WanderMisc.txt + WanderWrld.txt) + +add_executable(wander ${WANDER_SOURCES}) + +install(TARGETS wander RUNTIME DESTINATION bin) +install(FILES ${WANDER_A3} DESTINATION share/wander/a3) +install(FILES ${WANDER_CASTLE} DESTINATION share/wander/castle) +install(FILES ${WANDER_LIBRARY} DESTINATION share/wander/library) +install(FILES ${WANDER_TUT} DESTINATION share/wander/tut) +install(FILES ${WANDER_DOCS} DESTINATION share/doc/wander) + +set(CPACK_PACKAGE_VENDOR "Jared Miller") +set(CPACK_PACKAGE_VERSION_MAJOR ${Wander_VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${Wander_VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${Wander_VERSION_PATCH}) +#set(CPACK_PACKAGE_DESCRIPTION_FILE ) +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fantasy story tool") +#set(CPACK_PACKAGE_ICON ) +#set(CPACK_RESOURCE_FILE_LICENSE ) +#set(CPACK_RESOURCE_FILE_README ) +#set(CPACK_RESOURCE_FILE_WELCOME ) +include(CPack) From 66df0a2e511e3dceb9a4675595f183322d102567 Mon Sep 17 00:00:00 2001 From: FaultyRAM Date: Sat, 9 May 2015 11:58:25 +1000 Subject: [PATCH 2/2] Build documentation and install the output, if nroff is available --- CMakeLists.txt | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 400efd5..58aef36 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,12 @@ cmake_minimum_required(VERSION 3.2.0 FATAL_ERROR) project(Wander VERSION 3.0.0 LANGUAGES C) +find_program(NROFF nroff + DOC "Path to nroff for building documentation") +if(NOT NROFF) + message(WARNING "Could not find nroff; documentation will not be built") +endif(NOT NROFF) + set(WANDER_SOURCES wand1.c wand2.c @@ -24,13 +30,43 @@ set(WANDER_DOCS READ_ME READ_ME_TOO README.md - Wander.txt - WanderExportReadMe.txt - WanderMisc.txt - WanderWrld.txt) + WanderExportReadMe.txt) add_executable(wander ${WANDER_SOURCES}) +if(NROFF) + # There was a Makefile rule for WanderExportReadMe.txt, but all it + # did was copy & paste a dependency that doesn't exist. Go figure. + add_custom_command(OUTPUT Wander.txt + COMMAND ${NROFF} ${Wander_SOURCE_DIR}/wander.nr > ${Wander_BINARY_DIR}/Wander.txt + MAIN_DEPENDENCY wander.nr + DEPENDS mac + WORKING_DIRECTORY ${Wander_SOURCE_DIR}) + add_custom_command(OUTPUT WanderMisc.txt + COMMAND ${NROFF} ${Wander_SOURCE_DIR}/misc.nr > ${Wander_BINARY_DIR}/WanderMisc.txt + MAIN_DEPENDENCY misc.nr + DEPENDS mac + WORKING_DIRECTORY ${Wander_SOURCE_DIR}) + add_custom_command(OUTPUT WanderWrld.txt + COMMAND ${NROFF} ${Wander_SOURCE_DIR}/wrld.nr > ${Wander_BINARY_DIR}/WanderWrld.txt + MAIN_DEPENDENCY wrld.nr + DEPENDS mac + WORKING_DIRECTORY ${Wander_SOURCE_DIR}) + add_custom_target(doc ALL + DEPENDS Wander.txt WanderMisc.txt WanderWrld.txt) + set(WANDER_DOCS + ${WANDER_DOCS} + ${Wander_BINARY_DIR}/Wander.txt + ${Wander_BINARY_DIR}/WanderMisc.txt + ${Wander_BINARY_DIR}/WanderWrld.txt) +else(NROFF) + set(WANDER_DOCS + ${WANDER_DOCS} + Wander.txt + WanderMisc.txt + WanderWrld.txt) +endif(NROFF) + install(TARGETS wander RUNTIME DESTINATION bin) install(FILES ${WANDER_A3} DESTINATION share/wander/a3) install(FILES ${WANDER_CASTLE} DESTINATION share/wander/castle)