You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.8 KiB
86 lines
2.8 KiB
cmake_minimum_required(VERSION 3.8) |
|
|
|
set(EXECUTABLE re3) |
|
set(PROJECT RE3) |
|
|
|
project(${EXECUTABLE} C CXX) |
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") |
|
|
|
include(GetGitRevisionDescription) |
|
get_git_head_revision(GIT_REFSPEC GIT_SHA1 "ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR") |
|
message(STATUS "Building ${CMAKE_PROJECT_NAME} GIT SHA1: ${GIT_SHA1}") |
|
|
|
if(WIN32) |
|
set(${PROJECT}_AUDIOS "OAL" "MSS") |
|
else() |
|
set(${PROJECT}_AUDIOS "OAL") |
|
endif() |
|
|
|
set(${PROJECT}_AUDIO "OAL" CACHE STRING "Audio") |
|
|
|
option(${PROJECT}_WITH_OPUS "Build ${EXECUTABLE} with opus support" OFF) |
|
option(${PROJECT}_WITH_LIBSNDFILE "Build ${EXECUTABLE} with libsndfile (instead of internal decoder)" OFF) |
|
|
|
set_property(CACHE ${PROJECT}_AUDIO PROPERTY STRINGS ${${PROJECT}_AUDIOS}) |
|
message(STATUS "${PROJECT}_AUDIO = ${${PROJECT}_AUDIO} (choices=${${PROJECT}_AUDIOS})") |
|
set("${PROJECT}_AUDIO_${${PROJECT}_AUDIO}" ON) |
|
if(NOT ${PROJECT}_AUDIO IN_LIST ${PROJECT}_AUDIOS) |
|
message(FATAL_ERROR "Illegal ${PROJECT}_AUDIO=${${PROJECT}_AUDIO}") |
|
endif() |
|
|
|
option(${PROJECT}_VENDORED_LIBRW "Use vendored librw" ON) |
|
if(${PROJECT}_VENDORED_LIBRW) |
|
add_subdirectory(vendor/librw) |
|
else() |
|
find_package(librw REQUIRED) |
|
endif() |
|
add_subdirectory(src) |
|
|
|
if(${PROJECT}_INSTALL) |
|
install(DIRECTORY gamefiles/ DESTINATION ".") |
|
if(LIBRW_PLATFORM_NULL) |
|
set(platform "-null") |
|
elseif(LIBRW_PLATFORM_PS2) |
|
set(platform "-ps2") |
|
elseif(LIBRW_PLATFORM_GL3) |
|
if(LIBRW_GL3_GFXLIB STREQUAL "GLFW") |
|
set(platform "-gl3-glfw") |
|
else() |
|
set(platform "-gl3-sdl2") |
|
endif() |
|
elseif(LIBRW_PLATFORM_D3D9) |
|
set(platform "-d3d9") |
|
endif() |
|
if(${PROJECT}_AUDIO_OAL) |
|
set(audio "-oal") |
|
elseif(${PROJECT}_AUDIO_MSS) |
|
set(audio "-mss") |
|
endif() |
|
if(${PROJECT}_WITH_OPUS) |
|
set(audio "${audio}-opus") |
|
endif() |
|
if(NOT LIBRW_PLATFORM_PS2) |
|
if(WIN32) |
|
set(os "-win") |
|
elseif(APPLE) |
|
set(os "-apple") |
|
elseif(UNIX) |
|
set(os "-linux") |
|
else() |
|
set(compiler "-UNK") |
|
message(WARNING "Unknown os. Created cpack package will be wrong. (override using cpack -P)") |
|
endif() |
|
endif() |
|
|
|
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}${platform}${audio}${os}${compiler}") |
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "GTA III reversed") |
|
set(CPACK_PACKAGE_VENDOR "GTAModding") |
|
# FIXME: missing license (https://github.com/GTAmodding/re3/issues/794) |
|
# set(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/LICENSE") |
|
# set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE") |
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}") |
|
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}") |
|
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}") |
|
set(CPACK_GENERATOR "ZIP") |
|
include(CPack) |
|
endif()
|
|
|