Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@
reccmp-user.yml
reccmp-build.yml
reccmp-report*
/.cache
CMakeUserPresets.json
43 changes: 1 addition & 42 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -171,46 +171,5 @@ if(BUILD_TESTS)
endif()

if(DETHRACE_INSTALL)
install(FILES LICENSE
DESTINATION "${CMAKE_INSTALL_DOCDIR}"
)

set(DETHRACE_PACKAGE_PLATFORM "" CACHE STRING "Dethrace binary package platform")
set(DETHRACE_PACKAGE_ARCH "" CACHE STRING "Dethrace binary package architecture")

if(NOT DETHRACE_PACKAGE_PLATFORM)
set(DETHRACE_PACKAGE_PLATFORM "${CMAKE_SYSTEM_NAME}")
endif()

string(TOLOWER "${DETHRACE_PACKAGE_PLATFORM}" DETHRACE_PACKAGE_PLATFORM)
string(TOLOWER "${DETHRACE_PACKAGE_ARCH}" DETHRACE_PACKAGE_ARCH)

set(CPACK_PACKAGE_NAME "dethrace")
set(CPACK_SYSTEM_NAME "${DETHRACE_PACKAGE_PLATFORM}")

set(CPACK_PACKAGE_FILE_NAME "dethrace-${DETHRACE_VERSION}-${DETHRACE_PACKAGE_PLATFORM}")

if(DETHRACE_PACKAGE_ARCH)
string(APPEND CPACK_PACKAGE_FILE_NAME "-${DETHRACE_PACKAGE_ARCH}")
endif()

set(CPACK_PACKAGE_DIRECTORY dist)

if(APPLE)
set(CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK "ON")
set(CPACK_GENERATOR "DragNDrop")
set(ext ".dmg")
elseif(MSVC)
set(CPACK_GENERATOR ZIP)
set(ext ".zip")
else()
set(CPACK_GENERATOR TGZ)
set(ext ".tar.gz")
endif()

if(EXISTS "$ENV{GITHUB_OUTPUT}")
file(APPEND "$ENV{GITHUB_OUTPUT}" "filename=${CPACK_PACKAGE_FILE_NAME}${ext}")
endif()

include(CPack)
include(InstallConfig)
endif()
63 changes: 63 additions & 0 deletions cmake/InstallConfig.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
install(FILES LICENSE
DESTINATION "${CMAKE_INSTALL_DOCDIR}"
)

set(DETHRACE_PACKAGE_PLATFORM "" CACHE STRING "Dethrace binary package platform")
set(DETHRACE_PACKAGE_ARCH "" CACHE STRING "Dethrace binary package architecture")

if(NOT DETHRACE_PACKAGE_PLATFORM)
set(DETHRACE_PACKAGE_PLATFORM "${CMAKE_SYSTEM_NAME}")
endif()

string(TOLOWER "${DETHRACE_PACKAGE_PLATFORM}" DETHRACE_PACKAGE_PLATFORM)
string(TOLOWER "${DETHRACE_PACKAGE_ARCH}" DETHRACE_PACKAGE_ARCH)

set(CPACK_PACKAGE_NAME "dethrace")
set(CPACK_SYSTEM_NAME "${DETHRACE_PACKAGE_PLATFORM}")

set(CPACK_PACKAGE_FILE_NAME "dethrace-${DETHRACE_VERSION}-${DETHRACE_PACKAGE_PLATFORM}")

if(DETHRACE_PACKAGE_ARCH)
string(APPEND CPACK_PACKAGE_FILE_NAME "-${DETHRACE_PACKAGE_ARCH}")
endif()

set(CPACK_PACKAGE_DIRECTORY dist)

if(NOT CPACK_GENERATOR)
if(APPLE)
set(CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK "ON")
set(CPACK_GENERATOR "DragNDrop")
set(ext ".dmg")
elseif(MSVC)
set(CPACK_GENERATOR ZIP)
set(ext ".zip")
else()
set(CPACK_GENERATOR "TGZ")
set(ext ".tar.gz")
endif()
endif()

set(CPACK_STRIP_FILES TRUE)

set(CPACK_DEBIAN_FILE_NAME "dethrace_${DETHRACE_VERSION}")
if(DETHRACE_PACKAGE_ARCH)
string(APPEND CPACK_DEBIAN_FILE_NAME "_${DETHRACE_PACKAGE_ARCH}")
endif()
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Dethrace-Labs")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "3D Racing/Destruction Derby")

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "3D Racing/Destruction Derby")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "3D Racing / Mayhem")

since destruction derby is an actual game the current description could be confusing?

set(CPACK_DEBIAN_PACKAGE_SECTION "games")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${TARGET_ARCH})
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)

set(CPACK_RPM_FILE_NAME "dethrace-${DETHRACE_VERSION}")
if(DETHRACE_PACKAGE_ARCH)
string(APPEND CPACK_RPM_FILE_NAME ".${DETHRACE_PACKAGE_ARCH}")
endif()
set(CPACK_RPM_PACKAGE_LICENSE "GPLv3")
set(CPACK_RPM_PACKAGE_VENDOR "Dethrace-Labs")

if(EXISTS "$ENV{GITHUB_OUTPUT}")
file(APPEND "$ENV{GITHUB_OUTPUT}" "filename=${CPACK_PACKAGE_FILE_NAME}${ext}")
endif()

include(CPack)
12 changes: 8 additions & 4 deletions src/DETHRACE/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -234,10 +234,14 @@ if(DETHRACE_IDE_ARGUMENTS)
endif()

if(DETHRACE_INSTALL)
install(TARGETS dethrace
BUNDLE DESTINATION . COMPONENT Runtime
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT Runtime
)
if(CMAKE_SYSTEM_NAME MATCHES "Linux" AND DETHRACE_USE_LSB_GAMES)
install(TARGETS dethrace RUNTIME DESTINATION games)
else()
install(TARGETS dethrace
BUNDLE DESTINATION . COMPONENT Runtime
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT Runtime
)
endif()

if(APPLE)
set_target_properties(dethrace PROPERTIES
Expand Down
Loading