1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- cmake_minimum_required(VERSION 3.13)
- # for revision info
- if(GIT_FOUND)
- # defines DOLPHIN_WC_REVISION
- execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
- OUTPUT_VARIABLE DOLPHIN_WC_REVISION
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- # defines DOLPHIN_WC_DESCRIBE
- execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} describe --always --long --dirty
- OUTPUT_VARIABLE DOLPHIN_WC_DESCRIBE
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- # remove hash (and trailing "-0" if needed) from description
- string(REGEX REPLACE "(-0)?-[^-]+((-dirty)?)$" "\\2" DOLPHIN_WC_DESCRIBE "${DOLPHIN_WC_DESCRIBE}")
- # defines DOLPHIN_WC_BRANCH
- execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
- OUTPUT_VARIABLE DOLPHIN_WC_BRANCH
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- # defines DOLPHIN_WC_COMMITS_AHEAD_MASTER
- execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-list --count HEAD ^master
- OUTPUT_VARIABLE DOLPHIN_WC_COMMITS_AHEAD_MASTER
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- # defines DOLPHIN_WC_TAG
- execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} describe --exact-match HEAD
- OUTPUT_VARIABLE DOLPHIN_WC_TAG
- OUTPUT_STRIP_TRAILING_WHITESPACE
- ERROR_QUIET)
- endif()
- # version number
- set(DOLPHIN_VERSION_MAJOR "2409")
- set(DOLPHIN_VERSION_MINOR "0")
- set(DOLPHIN_VERSION_PATCH ${DOLPHIN_WC_REVISION})
- # If Dolphin is not built from a Git repository, default the version info to
- # reasonable values.
- if(NOT DOLPHIN_WC_REVISION)
- set(DOLPHIN_WC_DESCRIBE "${DOLPHIN_VERSION_MAJOR}.${DOLPHIN_VERSION_MINOR}")
- set(DOLPHIN_WC_REVISION "${DOLPHIN_WC_DESCRIBE} (no further info)")
- set(DOLPHIN_WC_BRANCH "master")
- set(DOLPHIN_WC_COMMITS_AHEAD_MASTER 0)
- endif()
- # If this is a tag (i.e. a release), then set the current patch version and
- # the number of commits ahead to zero.
- if(DOLPHIN_WC_TAG)
- set(DOLPHIN_VERSION_PATCH "0")
- set(DOLPHIN_WC_COMMITS_AHEAD_MASTER 0)
- endif()
- function(configure_source_file path)
- configure_file(
- "${PROJECT_SOURCE_DIR}/${path}.in"
- "${PROJECT_BINARY_DIR}/${path}.tmp"
- )
- execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_BINARY_DIR}/${path}.tmp" "${PROJECT_BINARY_DIR}/${path}")
- file(REMOVE "${PROJECT_BINARY_DIR}/${path}.tmp")
- endfunction()
- configure_source_file("Source/Core/Common/scmrev.h")
- if(APPLE)
- configure_source_file("Source/Core/DolphinQt/Info.plist")
- configure_source_file("Source/Core/MacUpdater/Info.plist")
- endif()
|