Files @ r25958:603d75b53498
Branch filter:

Location: cpp/openttd-patchpack/source/media/CMakeLists.txt

Patric Stout
Doc: update multiplayer documentation with latest changes (#9552)

Although several places were fixed during the PR making the change,
not all made it in this document.

While at it, removed all kinds of Markdown warnings by an excessive
usage of spacebar in this document.
add_subdirectory(baseset)

add_library(media
        INTERFACE
)
add_library(openttd::media ALIAS media)

if(NOT UNIX OR APPLE)
    return()
endif()

set(MEDIA_PNG_SOURCE_FILES
        ${CMAKE_CURRENT_SOURCE_DIR}/openttd.16.png
        ${CMAKE_CURRENT_SOURCE_DIR}/openttd.32.png
        ${CMAKE_CURRENT_SOURCE_DIR}/openttd.48.png
        ${CMAKE_CURRENT_SOURCE_DIR}/openttd.64.png
        ${CMAKE_CURRENT_SOURCE_DIR}/openttd.128.png
        ${CMAKE_CURRENT_SOURCE_DIR}/openttd.256.png
)

# Walk over all the png files, and generate a command to copy them
foreach(MEDIA_PNG_SOURCE_FILE IN LISTS MEDIA_PNG_SOURCE_FILES)
        get_filename_component(MEDIA_PNG_FILE_NAME "${MEDIA_PNG_SOURCE_FILE}" NAME)
        string(REGEX REPLACE "[^.]+.([0-9]*).*" "${CMAKE_CURRENT_BINARY_DIR}/icons/hicolor/\\1x\\1/apps/${BINARY_NAME}.png" MEDIA_PNG_BINARY_FILE "${MEDIA_PNG_FILE_NAME}")

        add_custom_command(OUTPUT ${MEDIA_PNG_BINARY_FILE}
            COMMAND ${CMAKE_COMMAND} -E copy
                    ${MEDIA_PNG_SOURCE_FILE}
                    ${MEDIA_PNG_BINARY_FILE}
            MAIN_DEPENDENCY ${MEDIA_PNG_SOURCE_FILE}
            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
            COMMENT "Copying ${MEDIA_PNG_FILE_NAME} file"
        )

        list(APPEND MEDIA_BINARY_FILES ${MEDIA_PNG_BINARY_FILE})
endforeach()

set(MEDIA_XPM_SOURCE_FILES
        ${CMAKE_CURRENT_SOURCE_DIR}/openttd.32.xpm
        ${CMAKE_CURRENT_SOURCE_DIR}/openttd.64.xpm
)

# Walk over all the xpm files, and generate a command to copy them
foreach(MEDIA_XPM_SOURCE_FILE IN LISTS MEDIA_XPM_SOURCE_FILES)
        get_filename_component(MEDIA_XPM_FILE_NAME "${MEDIA_XPM_SOURCE_FILE}" NAME)
        get_filename_component(MEDIA_XPM_FILE_EXT "${MEDIA_XPM_FILE_NAME}" EXT)
        set(MEDIA_XPM_BINARY_FILE "${CMAKE_CURRENT_BINARY_DIR}/pixmaps/${BINARY_NAME}${MEDIA_XPM_FILE_EXT}")

        add_custom_command(OUTPUT ${MEDIA_XPM_BINARY_FILE}
            COMMAND ${CMAKE_COMMAND} -E copy
                    ${MEDIA_XPM_SOURCE_FILE}
                    ${MEDIA_XPM_BINARY_FILE}
            MAIN_DEPENDENCY ${MEDIA_XPM_SOURCE_FILE}
            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
            COMMENT "Copying ${MEDIA_XPM_FILE_NAME} file"
        )

        list(APPEND MEDIA_BINARY_FILES ${MEDIA_XPM_BINARY_FILE})
endforeach()

# Create a new target which copies media files
add_custom_target(media_files
        DEPENDS
        ${MEDIA_BINARY_FILES}
)

add_dependencies(media
        media_files
)

get_target_property(LANG_SOURCE_FILES language_files LANG_SOURCE_FILES)

set(DESKTOP_BINARY_NAME ${BINARY_NAME}.desktop)

add_custom_command_timestamp(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_BINARY_NAME}
        COMMAND ${CMAKE_COMMAND}
                -DDESKTOP_SOURCE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/openttd.desktop
                -DDESKTOP_BINARY_FILE=${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_BINARY_NAME}
                -DBINARY_NAME=${BINARY_NAME}
                -P ${CMAKE_SOURCE_DIR}/cmake/scripts/Desktop.cmake
                --
                ${LANG_SOURCE_FILES}
        MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/openttd.desktop
        DEPENDS ${LANG_SOURCE_FILES}
                ${CMAKE_SOURCE_DIR}/cmake/scripts/Desktop.cmake
        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
        COMMENT "Generating desktop file"
)

# Create a new target which generates desktop file
add_custom_target_timestamp(desktop_file
        DEPENDS
        ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_BINARY_NAME}
)

add_dependencies(media
        desktop_file
)