Files
@ r28679:893e49b03fe5
Branch filter:
Location: cpp/openttd-patchpack/source/cmake/Options.cmake
r28679:893e49b03fe5
4.4 KiB
text/x-cmake
Change: Update OpenTTD TTF fonts to v0.5 (#11994)
Corrects line height in Windows to the exact intended pixel values, along with change of OpenTTD Sans to use tabular lining numerals and minor bugfixes.
Corrects line height in Windows to the exact intended pixel values, along with change of OpenTTD Sans to use tabular lining numerals and minor bugfixes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | include(GNUInstallDirs)
# Set the options for the directories (personal, shared, global).
#
# set_directory_options()
#
function(set_directory_options)
if(APPLE)
set(DEFAULT_PERSONAL_DIR "Documents/OpenTTD")
set(DEFAULT_SHARED_DIR "/Library/Application Support/OpenTTD")
set(DEFAULT_GLOBAL_DIR "(not set)")
elseif(WIN32)
set(DEFAULT_PERSONAL_DIR "OpenTTD")
set(DEFAULT_SHARED_DIR "(not set)")
set(DEFAULT_GLOBAL_DIR "(not set)")
elseif(UNIX)
set(DEFAULT_PERSONAL_DIR ".${BINARY_NAME}")
set(DEFAULT_SHARED_DIR "(not set)")
set(DEFAULT_GLOBAL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/${BINARY_NAME}")
else()
message(FATAL_ERROR "Unknown OS found; please consider creating a Pull Request to add support for this OS.")
endif()
if(NOT PERSONAL_DIR)
set(PERSONAL_DIR "${DEFAULT_PERSONAL_DIR}" CACHE STRING "Personal directory")
message(STATUS "Detecting Personal Data directory - ${PERSONAL_DIR}")
endif()
if(NOT SHARED_DIR)
set(SHARED_DIR "${DEFAULT_SHARED_DIR}" CACHE STRING "Shared directory")
message(STATUS "Detecting Shared Data directory - ${SHARED_DIR}")
endif()
if(NOT GLOBAL_DIR)
set(GLOBAL_DIR "${DEFAULT_GLOBAL_DIR}" CACHE STRING "Global directory")
message(STATUS "Detecting Global Data directory - ${GLOBAL_DIR}")
endif()
set(HOST_BINARY_DIR "" CACHE PATH "Full path to native cmake build directory")
endfunction()
# Set some generic options that influence what is being build.
#
# set_options()
#
function(set_options)
option(OPTION_PACKAGE_DEPENDENCIES "Copy dependencies into lib/ for easy packaging (Linux only)" OFF)
if(UNIX AND NOT APPLE AND NOT OPTION_PACKAGE_DEPENDENCIES)
set(DEFAULT_OPTION_INSTALL_FHS ON)
else()
set(DEFAULT_OPTION_INSTALL_FHS OFF)
endif()
option(OPTION_FORCE_COLORED_OUTPUT "Always produce ANSI-colored output (GNU/Clang only)." OFF)
option(OPTION_DEDICATED "Build dedicated server only (no GUI)" OFF)
option(OPTION_INSTALL_FHS "Install with Filesystem Hierarchy Standard folders" ${DEFAULT_OPTION_INSTALL_FHS})
option(OPTION_USE_ASSERTS "Use assertions; leave enabled for nightlies, betas, and RCs" ON)
if(EMSCRIPTEN)
# Although pthreads is supported, it is not in a way yet that is
# useful for us.
option(OPTION_USE_THREADS "Use threads" OFF)
else()
option(OPTION_USE_THREADS "Use threads" ON)
endif()
option(OPTION_USE_NSIS "Use NSIS to create windows installer; enable only for stable releases" OFF)
option(OPTION_TOOLS_ONLY "Build only tools target" OFF)
option(OPTION_DOCS_ONLY "Build only docs target" OFF)
option(OPTION_ALLOW_INVALID_SIGNATURE "Allow loading of content with invalid signatures" OFF)
if (OPTION_DOCS_ONLY)
set(OPTION_TOOLS_ONLY ON PARENT_SCOPE)
endif()
option(OPTION_SURVEY_KEY "Survey-key to use for the opt-in survey (empty if you have none)" "")
endfunction()
# Show the values of the generic options.
#
# show_options()
#
function(show_options)
message(STATUS "Option Package Dependencies - ${OPTION_PACKAGE_DEPENDENCIES}")
message(STATUS "Option Dedicated - ${OPTION_DEDICATED}")
message(STATUS "Option Install FHS - ${OPTION_INSTALL_FHS}")
message(STATUS "Option Use assert - ${OPTION_USE_ASSERTS}")
message(STATUS "Option Use threads - ${OPTION_USE_THREADS}")
message(STATUS "Option Use NSIS - ${OPTION_USE_NSIS}")
if(OPTION_SURVEY_KEY)
message(STATUS "Option Survey Key - USED")
else()
message(STATUS "Option Survey Key - NOT USED")
endif()
if(OPTION_ALLOW_INVALID_SIGNATURE)
message(STATUS "Option Allow Invalid Signature - USED")
message(WARNING "Ignoring invalid signatures is a security risk! Use with care!")
endif()
endfunction()
# Add the definitions for the options that are selected.
#
# add_definitions_based_on_options()
#
function(add_definitions_based_on_options)
if(OPTION_DEDICATED)
add_definitions(-DDEDICATED)
endif()
if(NOT OPTION_USE_THREADS)
add_definitions(-DNO_THREADS)
endif()
if(OPTION_USE_ASSERTS)
add_definitions(-DWITH_ASSERT)
else()
add_definitions(-DNDEBUG)
endif()
if(OPTION_SURVEY_KEY)
add_definitions(-DSURVEY_KEY="${OPTION_SURVEY_KEY}")
endif()
if(OPTION_ALLOW_INVALID_SIGNATURE)
add_definitions(-DALLOW_INVALID_SIGNATURE)
endif()
endfunction()
|