mirror of https://github.com/AxioDL/amuse.git
88 lines
3.0 KiB
CMake
88 lines
3.0 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
find_package(Qt5Widgets REQUIRED)
|
|
find_package(Qt5Network REQUIRED)
|
|
find_package(Qt5Xml REQUIRED)
|
|
find_package(Qt5Svg REQUIRED)
|
|
find_package(Qt5Qml REQUIRED)
|
|
find_package(Qt5LinguistTools REQUIRED)
|
|
|
|
if(WIN32)
|
|
list(APPEND PLAT_SRCS platforms/win/amuse-gui.rc platforms/win/amuse-gui.manifest)
|
|
elseif(APPLE)
|
|
list(APPEND PLAT_SRCS platforms/mac/mainicon.icns MacOSExtras.mm)
|
|
set_source_files_properties(platforms/mac/mainicon.icns PROPERTIES
|
|
MACOSX_PACKAGE_LOCATION Resources)
|
|
endif()
|
|
|
|
add_subdirectory(platforms/freedesktop)
|
|
declare_qticon_target()
|
|
list(APPEND PLAT_SRCS mainicon_qt.cpp)
|
|
|
|
configure_file(resources/translation_res.qrc translation_res.qrc @ONLY)
|
|
set(TRANSLATIONS
|
|
resources/lang_de.ts)
|
|
QT5_CREATE_TRANSLATION(QM_FILES ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../lib ${TRANSLATIONS})
|
|
|
|
QT5_ADD_RESOURCES(qrc_resources.cpp resources/resources.qrc)
|
|
QT5_ADD_RESOURCES(qrc_translation_res.cpp ${CMAKE_CURRENT_BINARY_DIR}/translation_res.qrc OPTIONS -no-compress)
|
|
|
|
QT5_WRAP_UI(MAIN_WINDOW_UI MainWindow.ui)
|
|
|
|
QT5_WRAP_CPP(AMUSE_MOC
|
|
Common.hpp
|
|
MainWindow.hpp
|
|
KeyboardWidget.hpp
|
|
StatusBarWidget.hpp
|
|
ProjectModel.hpp
|
|
EditorWidget.hpp
|
|
SoundMacroEditor.hpp
|
|
ADSREditor.hpp
|
|
CurveEditor.hpp
|
|
KeymapEditor.hpp
|
|
LayersEditor.hpp
|
|
SampleEditor.hpp
|
|
SoundGroupEditor.hpp
|
|
SongGroupEditor.hpp
|
|
NewSoundMacroDialog.hpp
|
|
StudioSetupWidget.hpp)
|
|
|
|
add_executable(amuse-gui WIN32 MACOSX_BUNDLE
|
|
Common.hpp Common.cpp
|
|
MainWindow.ui ${MAIN_WINDOW_UI} MainWindow.hpp MainWindow.cpp
|
|
KeyboardWidget.hpp KeyboardWidget.cpp
|
|
StatusBarWidget.hpp StatusBarWidget.cpp
|
|
ProjectModel.hpp ProjectModel.cpp
|
|
EditorWidget.hpp EditorWidget.cpp
|
|
SoundMacroEditor.hpp SoundMacroEditor.cpp
|
|
ADSREditor.hpp ADSREditor.cpp
|
|
CurveEditor.hpp CurveEditor.cpp
|
|
KeymapEditor.hpp KeymapEditor.cpp
|
|
LayersEditor.hpp LayersEditor.cpp
|
|
SampleEditor.hpp SampleEditor.cpp
|
|
SoundGroupEditor.hpp SoundGroupEditor.cpp
|
|
SongGroupEditor.hpp SongGroupEditor.cpp
|
|
NewSoundMacroDialog.hpp NewSoundMacroDialog.cpp
|
|
StudioSetupWidget.hpp StudioSetupWidget.cpp
|
|
MIDIReader.hpp MIDIReader.cpp
|
|
resources/resources.qrc qrc_resources.cpp
|
|
${QM_FILES} qrc_translation_res.cpp
|
|
${AMUSE_MOC} ${PLAT_SRCS}
|
|
main.cpp)
|
|
if(COMMAND add_sanitizers)
|
|
add_sanitizers(amuse-gui)
|
|
endif()
|
|
|
|
set_target_properties(amuse-gui PROPERTIES
|
|
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/platforms/mac/Info.plist")
|
|
|
|
target_link_libraries(amuse-gui ${PLAT_LIBS}
|
|
${Qt5Widgets_LIBRARIES}
|
|
${Qt5Network_LIBRARIES}
|
|
${Qt5Xml_LIBRARIES}
|
|
${Qt5Svg_LIBRARIES}
|
|
${Qt5Qml_LIBRARIES}
|
|
amuse boo ${BOO_SYS_LIBS} logvisor athena-core athena-libyaml xxhash ${ZLIB_LIBRARIES} lzokay)
|