Skip to content

Commit

Permalink
CMake: Compile and install readme documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
skyjake committed Feb 20, 2015
1 parent 5ea7459 commit c76eef3
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 31 deletions.
21 changes: 12 additions & 9 deletions doomsday/apps/client/CMakeLists.txt
Expand Up @@ -28,24 +28,27 @@ if (APPLE)
include_directories (include/macx)
list (APPEND HEADERS include/macx/MusicPlayer.h)
list (APPEND SOURCES src/macx/MusicPlayer.mm)

set (readme "${CMAKE_CURRENT_BINARY_DIR}/Read Me.rtf")
deng_add_amedoc (RTF ${readme} ${DENG_SOURCE_DIR}/doc/readme readme.ame)
install (FILES ${readme} DESTINATION .)
list (APPEND SOURCES ${readme})
else ()
# Plain text readme for other platforms.
set (readme "${CMAKE_CURRENT_BINARY_DIR}/readme.txt")
deng_add_amedoc (TXT ${readme} ${DENG_SOURCE_DIR}/doc/readme readme.ame)
list (APPEND SOURCES ${readme})
endif ()

deng_filter_platform_sources (src ${SOURCES} ${HEADERS} ${API_HEADERS})

if (UNIX)
include_directories (include/unix)

if (AMETHYST_FOUND)
set (MAN_PAGE ${CMAKE_CURRENT_BINARY_DIR}/doomsday.6)
deng_add_amedoc (MAN ${MAN_PAGE} ${DENG_SOURCE_DIR}/doc/readme readme.ame)
list (APPEND src ${MAN_PAGE})
set (DOC_DIR ${DENG_SOURCE_DIR}/doc/readme)
file (GLOB ameSrc ${DOC_DIR}/*.ame)
add_custom_command (
OUTPUT ${MAN_PAGE}
COMMAND "${AMETHYST_COMMAND}" -dMAN -dUNIX -odoomsday.6 ${DOC_DIR}/readme.ame
DEPENDS ${ameSrc}
COMMENT "Compiling manual page..."
)
install (FILES ${MAN_PAGE} DESTINATION share/man/man6)
endif ()
endif ()

Expand Down
11 changes: 2 additions & 9 deletions doomsday/apps/server/CMakeLists.txt
Expand Up @@ -249,15 +249,8 @@ if (UNIX)
if (AMETHYST_FOUND)
set (MAN_PAGE ${CMAKE_CURRENT_BINARY_DIR}/doomsday-server.6)
list (APPEND SOURCES ${MAN_PAGE})
set (DOC_DIR ${DENG_SOURCE_DIR}/doc/server)
add_custom_command (
OUTPUT ${MAN_PAGE}
COMMAND "${AMETHYST_COMMAND}" -dMAN -dUNIX -odoomsday-server.6 ${DOC_DIR}/server.ame
DEPENDS ${DOC_DIR}/server.ame ${DOC_DIR}/manpage.ame
COMMENT "Compiling manual page..."
)
install (FILES ${MAN_PAGE} DESTINATION share/man/man6)
endif ()
deng_add_amedoc (MAN ${MAN_PAGE} ${DENG_SOURCE_DIR}/doc/server server.ame)
endif ()
endif ()

add_executable (server ${SOURCES} ${HEADERS} ${API_HEADERS} ${SHARED_WITH_CLIENT})
Expand Down
34 changes: 31 additions & 3 deletions doomsday/cmake/Macros.cmake
Expand Up @@ -93,13 +93,14 @@ endmacro (relaxed_warnings)
macro (deng_target_rpath target)
if (APPLE)
set_target_properties (${target} PROPERTIES
INSTALL_RPATH "@loader_path/../Frameworks"
INSTALL_RPATH "@loader_path/../Frameworks;@executable_path/../${DENG_INSTALL_LIB_DIR}"
)
if (${target} MATCHES "test_.*")
# These won't be deployed, so we can use the full path.
set_property (TARGET ${target} APPEND PROPERTY
INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${DENG_INSTALL_LIB_DIR}"
)
endif ()
endif ()
elseif (UNIX)
set_property (TARGET ${target}
PROPERTY INSTALL_RPATH
Expand Down Expand Up @@ -487,7 +488,7 @@ function (deng_install_deployqt target)
return () # No need to deploy Qt.
endif ()
get_property (_outName TARGET ${target} PROPERTY OUTPUT_NAME)
if (APPLE) # AND NOT DENG_DEVELOPER) # don't run this on a dev build
if (APPLE AND NOT DENG_DEVELOPER) # dev builds are not deployed elsewhere
if (NOT MACDEPLOYQT_COMMAND)
message (FATAL_ERROR "macdeployqt not available")
endif ()
Expand Down Expand Up @@ -533,3 +534,30 @@ macro (deng_install_library library)
endif ()
endmacro (deng_install_library)

function (deng_add_amedoc type file ameSourceDir mainSrc)
if (AMETHYST_FOUND)
set (pfm ${DENG_AMETHYST_PLATFORM})
if (type STREQUAL MAN)
set (descText "manual page")
set (pfm UNIX) # man pages are always for Unix
elseif (type STREQUAL RTF)
set (descText "rich text document")
else ()
set (descText "text document")
endif ()
file (GLOB_RECURSE _ameSrc ${ameSourceDir}/*.ame)
get_filename_component (_name ${file} NAME)
add_custom_command (
OUTPUT ${file}
COMMAND "${AMETHYST_COMMAND}" -d${type} -d${pfm}
-o${_name} ${ameSourceDir}/${mainSrc}
DEPENDS ${_ameSrc}
COMMENT "Compiling ${descText}..."
)
if (${type} STREQUAL MAN)
install (FILES ${file} DESTINATION share/man/man6)
else ()
install (FILES ${file} DESTINATION ${DENG_INSTALL_DOC_DIR}/doomsday)
endif ()
endif ()
endfunction (deng_add_amedoc)
1 change: 1 addition & 0 deletions doomsday/cmake/PlatformMacx.cmake
@@ -1,6 +1,7 @@
include (PlatformGenericUnix)

set (DENG_PLATFORM_SUFFIX macx)
set (DENG_AMETHYST_PLATFORM MACOSX)

add_definitions (
-DMACOSX
Expand Down
3 changes: 2 additions & 1 deletion doomsday/cmake/PlatformUnix.cmake
@@ -1,8 +1,9 @@
# Linux / BSD / other Unix
include (PlatformGenericUnix)

set (DENG_PLATFORM_SUFFIX x11)
set (DENG_X11 ON)
set (DENG_PLATFORM_SUFFIX x11)
set (DENG_AMETHYST_PLATFORM UNIX)

add_definitions (
-DDENG_X11
Expand Down
2 changes: 1 addition & 1 deletion doomsday/external/assimp
9 changes: 1 addition & 8 deletions doomsday/tools/shell-text/CMakeLists.txt
Expand Up @@ -27,15 +27,8 @@ file (GLOB SOURCES src/*.cpp src/*.h)
if (AMETHYST_FOUND)
if (UNIX)
set (MAN_PAGE ${CMAKE_CURRENT_BINARY_DIR}/doomsday-shell-text.6)
set (DOC_DIR ${DENG_SOURCE_DIR}/doc/shell-text)
add_custom_command (
OUTPUT ${MAN_PAGE}
COMMAND "${AMETHYST_COMMAND}" -dMAN -dUNIX -odoomsday-shell-text.6 ${DOC_DIR}/shell-text.ame
DEPENDS ${DOC_DIR}/shell-text.ame
COMMENT "Compiling manual page..."
)
install (FILES ${MAN_PAGE} DESTINATION share/man/man6)
list (APPEND SOURCES ${MAN_PAGE})
deng_add_amedoc (MAN ${MAN_PAGE} ${DENG_SOURCE_DIR}/doc/shell-text shell-text.ame)
endif ()
endif ()

Expand Down

0 comments on commit c76eef3

Please sign in to comment.