MuseScore/src/project/CMakeLists.txt
2021-10-11 12:30:27 +02:00

125 lines
5.4 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/>.
set(MODULE project)
set(MODULE_QRC project.qrc)
set(MODULE_QML_IMPORT ${CMAKE_CURRENT_LIST_DIR}/qml)
include(GetPlatformInfo)
if (OS_IS_MAC)
set(PLATFORM_SRC
${CMAKE_CURRENT_LIST_DIR}/internal/platform/macos/macosrecentfilescontroller.mm
${CMAKE_CURRENT_LIST_DIR}/internal/platform/macos/macosrecentfilescontroller.h
)
# Don't mix C++ and Objective-C++ in Unity Build
set_source_files_properties(
${CMAKE_CURRENT_LIST_DIR}/internal/platform/macos/macosrecentfilescontroller.mm
PROPERTIES
SKIP_UNITY_BUILD_INCLUSION ON
SKIP_PRECOMPILE_HEADERS ON
)
elseif(OS_IS_WIN)
set(PLATFORM_SRC
${CMAKE_CURRENT_LIST_DIR}/internal/platform/windows/windowsrecentfilescontroller.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/platform/windows/windowsrecentfilescontroller.h
)
else()
set(PLATFORM_SRC
${CMAKE_CURRENT_LIST_DIR}/internal/platform/stub/stubrecentfilescontroller.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/platform/stub/stubrecentfilescontroller.h
)
endif()
set(MODULE_SRC
${CMAKE_CURRENT_LIST_DIR}/projectmodule.cpp
${CMAKE_CURRENT_LIST_DIR}/projectmodule.h
${CMAKE_CURRENT_LIST_DIR}/projecttypes.h
${CMAKE_CURRENT_LIST_DIR}/inotationproject.h
${CMAKE_CURRENT_LIST_DIR}/iprojectcreator.h
${CMAKE_CURRENT_LIST_DIR}/inotationreader.h
${CMAKE_CURRENT_LIST_DIR}/inotationreadersregister.h
${CMAKE_CURRENT_LIST_DIR}/inotationwriter.h
${CMAKE_CURRENT_LIST_DIR}/inotationwritersregister.h
${CMAKE_CURRENT_LIST_DIR}/iprojectaudiosettings.h
${CMAKE_CURRENT_LIST_DIR}/iprojectfilescontroller.h
${CMAKE_CURRENT_LIST_DIR}/iprojectconfiguration.h
${CMAKE_CURRENT_LIST_DIR}/irecentprojectsprovider.h
${CMAKE_CURRENT_LIST_DIR}/imscmetareader.h
${CMAKE_CURRENT_LIST_DIR}/internal/iplatformrecentfilescontroller.h
${CMAKE_CURRENT_LIST_DIR}/internal/iprojectmigrator.h
${CMAKE_CURRENT_LIST_DIR}/internal/notationproject.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/notationproject.h
${CMAKE_CURRENT_LIST_DIR}/internal/projectcreator.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/projectcreator.h
${CMAKE_CURRENT_LIST_DIR}/internal/projectaudiosettings.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/projectaudiosettings.h
${CMAKE_CURRENT_LIST_DIR}/internal/notationreadersregister.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/notationreadersregister.h
${CMAKE_CURRENT_LIST_DIR}/internal/notationwritersregister.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/notationwritersregister.h
${CMAKE_CURRENT_LIST_DIR}/internal/projectautosaver.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/projectautosaver.h
${CMAKE_CURRENT_LIST_DIR}/internal/projectfilescontroller.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/projectfilescontroller.h
${CMAKE_CURRENT_LIST_DIR}/internal/projectuiactions.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/projectuiactions.h
${CMAKE_CURRENT_LIST_DIR}/internal/projectconfiguration.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/projectconfiguration.h
${CMAKE_CURRENT_LIST_DIR}/internal/exporttype.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/exporttype.h
${CMAKE_CURRENT_LIST_DIR}/internal/iexportprojectscenario.h
${CMAKE_CURRENT_LIST_DIR}/internal/exportprojectscenario.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/exportprojectscenario.h
${CMAKE_CURRENT_LIST_DIR}/internal/recentprojectsprovider.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/recentprojectsprovider.h
${CMAKE_CURRENT_LIST_DIR}/internal/mscmetareader.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/mscmetareader.h
${CMAKE_CURRENT_LIST_DIR}/internal/itemplatesrepository.h
${CMAKE_CURRENT_LIST_DIR}/internal/templatesrepository.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/templatesrepository.h
${CMAKE_CURRENT_LIST_DIR}/internal/projectmigrator.cpp
${CMAKE_CURRENT_LIST_DIR}/internal/projectmigrator.h
${PLATFORM_SRC}
${CMAKE_CURRENT_LIST_DIR}/view/exportdialogmodel.cpp
${CMAKE_CURRENT_LIST_DIR}/view/exportdialogmodel.h
${CMAKE_CURRENT_LIST_DIR}/view/recentprojectsmodel.cpp
${CMAKE_CURRENT_LIST_DIR}/view/recentprojectsmodel.h
${CMAKE_CURRENT_LIST_DIR}/view/newscoremodel.cpp
${CMAKE_CURRENT_LIST_DIR}/view/newscoremodel.h
${CMAKE_CURRENT_LIST_DIR}/view/additionalinfomodel.cpp
${CMAKE_CURRENT_LIST_DIR}/view/additionalinfomodel.h
${CMAKE_CURRENT_LIST_DIR}/view/scorethumbnail.cpp
${CMAKE_CURRENT_LIST_DIR}/view/scorethumbnail.h
${CMAKE_CURRENT_LIST_DIR}/view/templatesmodel.cpp
${CMAKE_CURRENT_LIST_DIR}/view/templatesmodel.h
${CMAKE_CURRENT_LIST_DIR}/view/templatepaintview.cpp
${CMAKE_CURRENT_LIST_DIR}/view/templatepaintview.h
)
set(MODULE_LINK notation)
include(${PROJECT_SOURCE_DIR}/build/module.cmake)