Easier back jumps in Basic Movement Training (fixes
bug #692)
The explanation of Back Jumping (2/2) has been simplified
and the "hard" part has been made easier by lowering the girders.
The original idea was that I wanted to force players to learn
how to jump higher by delaying the 2nd backspace keypress.
But this turned out that this section was too unfair and we have
lost at least one player due to rage-quitting, according to feedback.
#find package helpers
macro(find_package_or_fail _PKG_NAME)
find_package(${_PKG_NAME})
string(TOUPPER ${_PKG_NAME} _PKG_NAME_UP)
if(NOT ${_PKG_NAME_UP}_FOUND)
message(SEND_ERROR "Missing ${_PKG_NAME}! Please install it and rerun cmake.")
endif(NOT ${_PKG_NAME_UP}_FOUND)
endmacro(find_package_or_fail _PKG_NAME)
macro(find_package_or_disable _PKG_NAME _VAR_NAME)
find_package(${_PKG_NAME})
string(TOUPPER ${_PKG_NAME} _PKG_NAME_UP)
if(NOT ${_PKG_NAME_UP}_FOUND)
message(SEND_ERROR "Missing ${_PKG_NAME}! Rerun cmake with -D${_VAR_NAME}=1 to skip this error.")
endif(NOT ${_PKG_NAME_UP}_FOUND)
endmacro(find_package_or_disable _PKG_NAME _VAR_NAME)
macro(find_package_or_disable_msg _PKG_NAME _VAR_NAME _MSG)
if(NOT ${_VAR_NAME})
find_package_or_disable(${_PKG_NAME} ${_VAR_NAME})
else(NOT ${_VAR_NAME})
message(STATUS "${_PKG_NAME} disabled. ${_MSG}")
string(TOUPPER ${_PKG_NAME} _PKG_NAME_UP)
set(${_PKG_NAME_UP}_FOUND false)
endif(NOT ${_VAR_NAME})
endmacro(find_package_or_disable_msg _PKG_NAME _VAR_NAME _MSG)
#variable manipulation macros
macro(add_flag_append _VAR_NAME _FLAG)
set(${_VAR_NAME} "${${_VAR_NAME}} ${_FLAG}")
endmacro(add_flag_append _VAR_NAME _FLAG)
macro(add_flag_prepend _VAR_NAME _FLAG)
set(${_VAR_NAME} "${_FLAG} ${${_VAR_NAME}}")
endmacro(add_flag_prepend _VAR_NAME _FLAG)
macro(add_linker_flag _FLAG)
list(APPEND haskell_flags "-optl" "-Wl,${_FLAG}")
#executables
add_flag_append(CMAKE_C_LINK_FLAGS "-Wl,${_FLAG}")
add_flag_append(CMAKE_CXX_LINK_FLAGS "-Wl,${_FLAG}")
add_flag_append(CMAKE_Pascal_LINK_FLAGS "-k${_FLAG}")
#libraries
add_flag_append(CMAKE_SHARED_LIBRARY_C_FLAGS "-Wl,${_FLAG}")
add_flag_append(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-Wl,${_FLAG}")
#CMAKE_SHARED_LIBRARY_Pascal_FLAGS is already set by CMAKE_Pascal_LINK_FLAGS
endmacro(add_linker_flag _FLAG)
#TODO: find_package_or_bundle