55c452fb68
* spelling: above Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: accessibility Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: accessible Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: account Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: action Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: activated Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: active Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: again Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: allegro Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: alternative Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: amplitude Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: and Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: annotation Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: appended Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: appending Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: appropriate Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: arbitrarily Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: architecture Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: arpeggio Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: arranger Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: assumed Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: asynchronous Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: automatically Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: availability Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: available Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: backslashes Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: before Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: beginning Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: between Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: bounding Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: bracket Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: builtin Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: calculated Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: categories Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: check Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: class Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: clearance Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: column Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: combinations Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: completed Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: composer Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: compression Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: consideration Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: constraints Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: container Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: continuous Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: contrabass Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: control Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: convergence Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: conversion Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: convert Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: coordinates Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: correctly Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: corresponds Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: counting Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: crescendo Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: customizable Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: cutout Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: deep Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: denom Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: denominator Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: diagram Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: diminished Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: direction Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: directories Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: disconnected Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: doesn't Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: dotted Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: easeinout Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: eighth Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: element Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: elements Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: enabled Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: engraving Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: evenly Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: exactly Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: exceed Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: excerpts Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: excessively Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: exclusive Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: extension Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: extrapolated Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: farthest Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: fits Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: friends Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: function Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: glissando Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: global Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: grid Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: halved Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: happen * spelling: harmonies Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: have Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: header Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: height Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: iabbrev Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: ideally Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: implementation Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: in Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: incoming Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: incomplete Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: increase Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: indentation Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: individual Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: infer Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: initial Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: initially Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: inputted Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: instrument Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: instruments Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: invalid Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: invocation Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: iplugin Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: javascript Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: label Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: laid out Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: languages Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: length Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: linked Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: lyrchord Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: lyricist Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: managed Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: manually Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: mapping Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: mappings Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: margins Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: measure Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: metric Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: metronome Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: military Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: milliseconds Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: minimum Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: modifiers Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: moving Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: multi Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: namespace Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: navigate Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: necessary Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: needs Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: newly Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: notation Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: numerator Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: occasionally Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: occurred Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: occurrence Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: omitted Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: or Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: oriented Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: originally Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: ornament Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: ornaments Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: output Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: outputted Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: outside Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: overlapping Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: overridden Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: package Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: padding Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: parameter Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: percussion Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: placement Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: playthrough Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: positive Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: preceded Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: precision Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: previous Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: process Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: property Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: proximity Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: publish Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: rasgueado Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: read Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: receive Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: received Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: rectangle Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: regarding Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: register Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: registry Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: rehearsal Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: related Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: repeat Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: repeatp Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: replacements Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: represent Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: representation Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: responses Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: rhythm Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: section Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: selected Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: selection Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: separation Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: separator Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: shortcuts Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: signatures Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: simile Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: slurred Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: sound Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: staccato Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: staff Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: stuff Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: style Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: suffix Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: supported Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: symbol Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: symbols Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: system Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: tablature Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: tcp_invalid Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: that Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: the Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: thickness Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: tibetan Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: of Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: to Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: transparent Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: transpose Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: tremolo Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: ultimately Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: unassigned Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: underscore Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: unhandled Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: uninstall Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: unknown Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: unnamed Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: useful Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: usually Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: vertical Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: violin Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: visible Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: when Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: whether Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: with Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: within Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: without Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: would Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: writing Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: written Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: xmlns Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * Remove unused avaiableArticulationTypesChanged Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: firstSystemIndentation [API] Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * Enable testIncompleteTuplet Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * Drop stray comment Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * Update license header in module.cmake per https://github.com/musescore/MuseScore/pull/11566#discussion_r870550003 Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
262 lines
8.6 KiB
CMake
262 lines
8.6 KiB
CMake
# SPDX-License-Identifier: GPL-3.0-only
|
|
# MuseScore-CLA-applies
|
|
#
|
|
# MuseScore
|
|
# Music Composition & Notation
|
|
#
|
|
# Copyright (C) 2021 MuseScore BVBA and others
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License version 3 as
|
|
# published by the Free Software Foundation.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
cmake_minimum_required(VERSION 3.16)
|
|
|
|
cmake_policy(SET CMP0091 OLD) # not set MSVC default args
|
|
|
|
project(mscore LANGUAGES C CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
set(CMAKE_MODULE_PATH
|
|
${CMAKE_CURRENT_LIST_DIR}/build
|
|
${CMAKE_CURRENT_LIST_DIR}/build/cmake
|
|
${CMAKE_MODULE_PATH}
|
|
)
|
|
|
|
###########################################
|
|
# Setup option and build settings
|
|
###########################################
|
|
|
|
set(MUSESCORE_REVISION "" CACHE STRING "Build revision")
|
|
set(MUSESCORE_BUILD_CONFIG "dev" CACHE STRING "Build config")
|
|
# Possible MUSESCORE_BUILD_CONFIG values:
|
|
# - dev - for development/nightly builds
|
|
# - testing - for testing versions (alpha, beta, RC)
|
|
# - release - for stable release builds
|
|
|
|
option(BUILD_64 "Build 64 bit version of editor" ON)
|
|
option(BUILD_PORTABLEAPPS "Windows build for PortableApps.com" OFF)
|
|
option(BUILD_FOR_WINSTORE "Build for the Windows Store." OFF)
|
|
option(BUILD_AUTOUPDATE "Build with autoupdate support" OFF)
|
|
|
|
set(CRASH_REPORT_URL "" CACHE STRING "URL where to send crash reports")
|
|
option(LOGGER_DEBUGLEVEL_ENABLED "Enable logging debug level" ON)
|
|
|
|
option(BUILD_SHORTCUTS_MODULE "Build shortcuts module" ON)
|
|
option(BUILD_NETWORK_MODULE "Build network module" ON)
|
|
option(BUILD_AUDIO_MODULE "Build audio module" ON)
|
|
option(BUILD_LEARN_MODULE "Build learn module" ON)
|
|
option(BUILD_WORKSPACE_MODULE "Build workspace module" ON)
|
|
option(BUILD_CLOUD_MODULE "Build cloud module" ON)
|
|
option(BUILD_LANGUAGES_MODULE "Build languages module" ON)
|
|
option(BUILD_PLUGINS_MODULE "Build plugins module" ON)
|
|
option(BUILD_PLAYBACK_MODULE "Build playback module" ON)
|
|
option(BUILD_PALETTE_MODULE "Build palette module" ON)
|
|
option(BUILD_INSTRUMENTSSCENE_MODULE "Build instruments scene module" ON)
|
|
option(BUILD_INSPECTOR_MODULE "Build inspector module" ON)
|
|
option(BUILD_AUTOBOT_MODULE "Build autobot module" ON)
|
|
option(BUILD_MULTIINSTANCES_MODULE "Build multiinstances module" ON)
|
|
option(BUILD_VIDEOEXPORT_MODULE "Build videoexport module" OFF) # currently work only on Ubuntu 18.04 (for backend)
|
|
option(BUILD_DIAGNOSTICS "Build diagnostic code" ON)
|
|
set(YOUTUBE_API_KEY "" CACHE STRING "YouTube API key")
|
|
|
|
option(ENGRAVING_PAINT_DEBUGGER_ENABLED "Enable diagnostic engraving paint debugger" OFF)
|
|
# Temporary flags for MU3 compatibility to make testing easier.
|
|
option(ENGRAVING_COMPAT_WRITESTYLE_302 "Write style to score xml file" OFF)
|
|
option(ENGRAVING_COMPAT_WRITEEXCERPTS_302 "Write excerpts to score xml file" ON)
|
|
# -----
|
|
|
|
option(UI_DISABLE_MODALITY "Disable dialogs modality for testing purpose" OFF)
|
|
|
|
option(ACCESSIBILITY_LOGGING_ENABLED "Enable accessibility logging" OFF)
|
|
|
|
option(SOUNDFONT3 "Ogg Vorbis compressed fonts" ON) # Enable Ogg Vorbis compressed fonts, requires Ogg & Vorbis
|
|
option(DOWNLOAD_SOUNDFONT "Download the latest soundfont version as part of the build process" ON)
|
|
|
|
option(BUILD_UNIT_TESTS "Build gtest unit test" ON)
|
|
option(PACKAGE_FILE_ASSOCIATION "File types association" OFF)
|
|
|
|
option(TRY_USE_CCACHE "Try use ccache" ON)
|
|
option(BUILD_PCH "Build using precompiled headers." ON)
|
|
option(BUILD_UNITY "Build using unity build." ON)
|
|
option(TRY_BUILD_SHARED_LIBS_IN_DEBUG "Build shared libs if possible in debug" OFF)
|
|
option(QML_LOAD_FROM_SOURCE "Load qml files from source (not resource)" OFF)
|
|
option(TRACE_DRAW_OBJ_ENABLED "Trace draw objects" OFF)
|
|
|
|
option(USE_SYSTEM_FREETYPE "Use system FreeType" OFF) # requires freetype >= 2.5.2, does not work on win
|
|
set(SCRIPT_INTERFACE TRUE)
|
|
|
|
set(VST3_SDK_VERSION "3.7")
|
|
option(BUILD_VST "Build VST MODULE" OFF)
|
|
set(VST3_SDK_PATH "" CACHE PATH "Path to VST3_SDK. SDK version >= ${VST3_SDK_VERSION} required")
|
|
|
|
option(BUILD_MUSESAMPLER_MODULE "Build MuseSampler MODULE" OFF)
|
|
set(MUSESAMPLER_SRC_PATH "" CACHE PATH "Path to MuseSampler sources")
|
|
|
|
option(ENABLE_AUDIO_EXPORT "Enable audio export" ON)
|
|
|
|
set(JACK_LONGNAME "JACK (Jack Audio Connection Kit)")
|
|
set(JACK_MIN_VERSION "0.98.0")
|
|
option(BUILD_JACK "Build with support for ${JACK_LONGNAME} audio backend. JACK >= ${JACK_MIN_VERSION} will be needed." OFF)
|
|
|
|
if (BUILD_PORTABLEAPPS)
|
|
set(WIN_PORTABLE 1)
|
|
endif (BUILD_PORTABLEAPPS)
|
|
|
|
if (BUILD_FOR_WINSTORE)
|
|
set(FOR_WINSTORE 1)
|
|
endif(BUILD_FOR_WINSTORE)
|
|
|
|
set(APP_UPDATABLE 1)
|
|
if (OS_IS_MAC OR OS_IS_WIN)
|
|
if (WIN_PORTABLE OR FOR_WINSTORE)
|
|
set(APP_UPDATABLE 0)
|
|
endif(WIN_PORTABLE OR FOR_WINSTORE)
|
|
endif(OS_IS_MAC OR OS_IS_WIN)
|
|
|
|
###########################################
|
|
# Setup compiler and build environment
|
|
###########################################
|
|
|
|
include(SetupBuildEnvironment)
|
|
include(GetPlatformInfo)
|
|
if (TRY_USE_CCACHE)
|
|
include(TryUseCcache)
|
|
endif(TRY_USE_CCACHE)
|
|
|
|
###########################################
|
|
# Setup MuseScore config
|
|
###########################################
|
|
|
|
include(${CMAKE_CURRENT_LIST_DIR}/config.cmake)
|
|
configure_file (
|
|
${PROJECT_SOURCE_DIR}/build/config.h.in
|
|
${PROJECT_BINARY_DIR}/config.h
|
|
)
|
|
|
|
set(THIRDPARTY_DIR ${PROJECT_SOURCE_DIR}/thirdparty)
|
|
|
|
###########################################
|
|
# Setup external dependencies
|
|
###########################################
|
|
|
|
set(QT_MIN_VERSION "5.15.0")
|
|
include(FindQt5)
|
|
|
|
if (OS_IS_WIN)
|
|
set(DEPENDENCIES_DIR "${PROJECT_SOURCE_DIR}/dependencies/libx64")
|
|
link_directories(${DEPENDENCIES_DIR})
|
|
include_directories(${PROJECT_SOURCE_DIR}/dependencies/include)
|
|
endif(OS_IS_WIN)
|
|
|
|
include(SetupFreetype)
|
|
|
|
include(FindSndFile)
|
|
|
|
#if(SOUNDFONT3)
|
|
# include(FindVorbisAndOgg)
|
|
#endif(SOUNDFONT3)
|
|
|
|
if (BUILD_JACK)
|
|
include(FindJack)
|
|
endif(BUILD_JACK)
|
|
|
|
if (BUILD_AUTOUPDATE)
|
|
include(SetupSparkle)
|
|
endif(BUILD_AUTOUPDATE)
|
|
|
|
if (DOWNLOAD_SOUNDFONT)
|
|
include(DownloadSoundFont)
|
|
endif(DOWNLOAD_SOUNDFONT)
|
|
|
|
|
|
###########################################
|
|
# Add source tree
|
|
###########################################
|
|
|
|
if (BUILD_UNIT_TESTS)
|
|
enable_testing()
|
|
message(STATUS "Enabled testing")
|
|
|
|
define_property(TARGET PROPERTY OUTPUT_XML
|
|
BRIEF_DOCS "List XML files outputted by google test."
|
|
FULL_DOCS "List XML files outputted by google test."
|
|
)
|
|
|
|
add_subdirectory(thirdparty/googletest)
|
|
endif(BUILD_UNIT_TESTS)
|
|
|
|
add_subdirectory(share)
|
|
add_subdirectory(src/framework/global) # should be first to work pch
|
|
add_subdirectory(thirdparty/qzip)
|
|
add_subdirectory(src)
|
|
|
|
###########################################
|
|
# Setup the KDDockWidgets lib
|
|
###########################################
|
|
if (NOT BUILD_SHARED_LIBS)
|
|
set(KDDockWidgets_STATIC ON CACHE BOOL "Build static versions of the libraries" FORCE)
|
|
endif(NOT BUILD_SHARED_LIBS)
|
|
|
|
set(KDDockWidgets_QTQUICK ON CACHE BOOL "Build for QtQuick instead of QtWidgets" FORCE)
|
|
set(KDDockWidgets_EXAMPLES OFF CACHE BOOL "Build the examples" FORCE)
|
|
add_subdirectory(thirdparty/KDDockWidgets)
|
|
|
|
###########################################
|
|
# Setup Packaging
|
|
###########################################
|
|
|
|
if (OS_IS_LIN)
|
|
include(SetupAppImagePackaging)
|
|
endif(OS_IS_LIN)
|
|
|
|
if (OS_IS_WIN)
|
|
include(Packaging)
|
|
endif(OS_IS_WIN)
|
|
|
|
|
|
###########################################
|
|
# Custom target for translation generation
|
|
###########################################
|
|
|
|
# lupdate is used to generate the translation text files based off of the source code
|
|
add_custom_target(lupdate
|
|
COMMAND ${PROJECT_SOURCE_DIR}/build/gen-qt-projectfile ${PROJECT_SOURCE_DIR} > mscore.pro
|
|
COMMAND Qt5::lupdate ${PROJECT_BINARY_DIR}/mscore.pro
|
|
COMMAND ${PROJECT_SOURCE_DIR}/build/gen-instruments-projectfile ${PROJECT_SOURCE_DIR}/share/instruments > instruments.pro
|
|
COMMAND Qt5::lupdate ${PROJECT_BINARY_DIR}/instruments.pro
|
|
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
|
)
|
|
|
|
# lrelease is used to compile the translated text files generated by lupdate into binary resources
|
|
file(GLOB INSTRUMENTS_TS_FILES
|
|
"share/locale/instruments*.ts"
|
|
)
|
|
file(GLOB MSCORE_TS_FILES
|
|
"share/locale/mscore*.ts"
|
|
)
|
|
file(GLOB QT_TS_FILES
|
|
"share/locale/qt*.ts"
|
|
)
|
|
|
|
add_custom_target(lrelease
|
|
COMMAND Qt5::lrelease ${INSTRUMENTS_TS_FILES}
|
|
COMMAND Qt5::lrelease ${MSCORE_TS_FILES}
|
|
COMMAND Qt5::lrelease ${QT_TS_FILES}
|
|
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
|
)
|
|
|
|
|
|
|