Files @ r25553:92872b4fd6f6
Branch filter:

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

Patric Stout
Fix #9281: acquire a company uses special bookkeeping to make you rich (#9300)

When you buy-out a company, you got your shares back. This is
based on company-value, which includes values for the vehicles etc.
In other words, you not only got the vehicles, but you also got
paid to get them back.

Additionally, you also got the loan of the company, but not the
money for the loan (as that is subtracted from the company-value).

Solve this by changing the rules of a buy-out: don't sell your
shares, get the loan AND the balance and get the infrastructure.
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
)