diff --git a/prboom2/CMakeLists.txt b/prboom2/CMakeLists.txt index 0ab16be54..768ba253f 100644 --- a/prboom2/CMakeLists.txt +++ b/prboom2/CMakeLists.txt @@ -167,7 +167,7 @@ endif() if(WIN32) set(DEFAULT_WAD_DIR ".") else() - set(DEFAULT_WAD_DIR "${CMAKE_INSTALL_DATADIR}/games/doom") + set(DEFAULT_WAD_DIR "share/games/doom") endif() set(DSDAPWADDIR "${DEFAULT_WAD_DIR}" CACHE STRING "Path to install DSDA-Doom internal WAD, relative to CMAKE_INSTALL_PREFIX or absolute.") @@ -207,6 +207,7 @@ set(WAD_DATA_PATH "${DSDA_OUTPUT_PATH}/${WAD_DATA}") add_subdirectory(data) add_subdirectory(src) +add_subdirectory(ICONS) if(NOT CMAKE_CROSSCOMPILING) export(TARGETS ${CROSS_EXPORTS} FILE "${CMAKE_BINARY_DIR}/ImportExecutables.cmake") @@ -246,6 +247,8 @@ elseif(LINUX) --appimage-extract-and-run --appdir=${CPACK_TEMPORARY_DIRECTORY} --executable=$ + --desktop-file=${CPACK_TEMPORARY_DIRECTORY}/${CPACK_PACKAGING_INSTALL_PREFIX}/share/applications/dsda-doom.desktop + --icon-file=${CPACK_TEMPORARY_DIRECTORY}/${CPACK_PACKAGING_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps/dsda-doom.svg --output=appimage) ]]) endif() diff --git a/prboom2/ICONS/CMakeLists.txt b/prboom2/ICONS/CMakeLists.txt new file mode 100644 index 000000000..ccef95963 --- /dev/null +++ b/prboom2/ICONS/CMakeLists.txt @@ -0,0 +1,4 @@ +if(UNIX AND NOT APPLE) + install(FILES dsda-doom.desktop DESTINATION share/applications) + install(FILES dsda-doom.svg DESTINATION share/icons/hicolor/scalable/apps) +endif() \ No newline at end of file diff --git a/prboom2/data/CMakeLists.txt b/prboom2/data/CMakeLists.txt index 5e001d704..5f2e23fab 100644 --- a/prboom2/data/CMakeLists.txt +++ b/prboom2/data/CMakeLists.txt @@ -412,4 +412,4 @@ add_custom_command( DEPENDS rdatawad ${WAD_SRC} ) add_custom_target(dsda-doom-wad DEPENDS ${WAD_DATA_PATH}) -install(FILES ${WAD_DATA_PATH} DESTINATION ${DSDAPWADDIR} COMPONENT "DSDA-Doom internal WAD") +install(FILES ${WAD_DATA_PATH} DESTINATION ${DSDAPWADDIR}) diff --git a/prboom2/src/CMakeLists.txt b/prboom2/src/CMakeLists.txt index 55ebf091b..86b7b0de4 100644 --- a/prboom2/src/CMakeLists.txt +++ b/prboom2/src/CMakeLists.txt @@ -618,10 +618,9 @@ function(AddGameExecutable TARGET SOURCES) POST_EXCLUDE_REGEXES ".*system32/.*\\.dll" DIRECTORIES $ $ENV{PATH} RUNTIME DESTINATION "${DSDA_BINARY_INSTALL_DIR}" - COMPONENT "Game executable" ) else() - install(TARGETS ${TARGET} COMPONENT "Game executable" RUNTIME DESTINATION "${DSDA_BINARY_INSTALL_DIR}") + install(TARGETS ${TARGET} RUNTIME DESTINATION "${DSDA_BINARY_INSTALL_DIR}") endif() target_link_libraries(${TARGET} PRIVATE diff --git a/prboom2/src/SDL/i_system.c b/prboom2/src/SDL/i_system.c index 25cd087a4..155758a5b 100644 --- a/prboom2/src/SDL/i_system.c +++ b/prboom2/src/SDL/i_system.c @@ -431,6 +431,7 @@ char* I_FindFileInternal(const char* wfname, const char* ext, dboolean isStatic) {DOOMWADDIR}, // build-time configured DOOMWADDIR {DSDA_ABSOLUTE_PWAD_PATH}, // build-time configured absolute path to dsda-doom.wad {NULL, NULL, NULL, I_GetBasePath}, // search the base path provided by SDL + {NULL, "../share/games/doom", NULL, I_GetBasePath}, // AppImage {NULL, "doom", "HOME"}, // ~/doom {NULL, NULL, "HOME"}, // ~ {"/usr/local/share/games/doom"},