Warning, /multimedia/stopmotion/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 ###
0002 # general project setup
0003 ###
0004 cmake_minimum_required(VERSION 3.14)
0005 
0006 project(stopmotion
0007   VERSION 0.8.6
0008   LANGUAGES CXX)
0009 
0010 # set project options required by Qt
0011 set(CMAKE_CXX_STANDARD 11)
0012 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0013 
0014 set(CMAKE_AUTOMOC ON)
0015 set(CMAKE_AUTORCC ON)
0016 set(CMAKE_AUTOUIC ON)
0017 
0018 enable_testing()
0019 
0020 ###
0021 # find external dependencies
0022 ###
0023 
0024 # Qt
0025 find_package(Qt5 5.11
0026   COMPONENTS Widgets Multimedia LinguistTools
0027   REQUIRED)
0028 # only needed for testing
0029 find_package(Qt5 5.11
0030   COMPONENTS Test)
0031 
0032 # LibXml2
0033 find_package(LibXml2
0034   REQUIRED)
0035 
0036 # libtar
0037 find_file(TAR_INCLUDE_PATH
0038   NAMES libtar.h
0039   REQUIRED)
0040 find_library(TAR_LIBRARY_PATH
0041   NAMES tar
0042   REQUIRED)
0043 
0044 # libVorbisFile
0045 find_file(VORBISFILE_INCLUDE_PATH
0046   NAMES "vorbis/vorbisfile.h"
0047   REQUIRED)
0048 find_library(VORBISFILE_LIBRARY_PATH
0049   NAMES vorbisfile
0050   REQUIRED)
0051 
0052 # libdl, only needed for testing
0053 find_library(DL_LIBRARY_PATH
0054   NAMES dl
0055   )
0056 
0057 include(FeatureSummary)
0058 feature_summary(WHAT PACKAGES_FOUND PACKAGES_NOT_FOUND)
0059 
0060 # if given, pass path to translations and html path
0061 if(${TRANSLATIONS_PATH})
0062   add_compile_definitions(TRANSLATIONS_PATH=${TRANSLATIONS_PATH})
0063 endif()
0064 if(${HTML_PATH})
0065   add_compile_definitions(HTML_PATH=${HTML_PATH})
0066 endif()
0067 
0068 add_subdirectory(src)
0069 add_subdirectory(translations)
0070 
0071 ###
0072 # handle translation files
0073 ###
0074 file(GLOB TS_FILES "translations/stopmotion_*.ts")
0075 qt5_add_translation(QM_FILES "${TS_FILES}")
0076 
0077 ###
0078 # create executable and link libraries
0079 ###
0080 add_executable(stopmotion
0081   src/main.cpp
0082   src/config.cpp
0083   src/domain/domainfacade.cpp
0084   src/domain/observernotifier.cpp
0085   src/foundation/logger.cpp
0086   src/foundation/uiexception.cpp
0087   src/foundation/stringwriter.cpp
0088   src/domain/animation/animation.cpp
0089   src/domain/animation/animationimpl.cpp
0090   src/domain/animation/frame.cpp
0091   src/domain/animation/sound.cpp
0092   src/domain/animation/scenevector.cpp
0093   src/domain/animation/errorhandler.cpp
0094   src/presentation/imagecache.cpp
0095   src/presentation/frontends/nonguifrontend/nonguifrontend.cpp
0096   src/presentation/frontends/qtfrontend/mainwindowgui.cpp
0097   src/presentation/frontends/qtfrontend/qtfrontend.cpp
0098   src/application/runanimationhandler.cpp
0099   src/domain/undo/commandadd.cpp
0100   src/domain/undo/commandmove.cpp
0101   src/domain/undo/commandremove.cpp
0102   src/domain/undo/commandsetimage.cpp
0103   src/domain/undo/commandaddsound.cpp
0104   src/domain/undo/commandrenamesound.cpp
0105   src/domain/undo/commandremovesound.cpp
0106   src/domain/undo/commandaddscene.cpp
0107   src/domain/undo/commandmovescene.cpp
0108   src/domain/undo/commandremovescene.cpp
0109   src/domain/undo/filelogger.cpp
0110   src/domain/animation/workspacefile.cpp
0111   src/application/camerahandler.cpp
0112   src/presentation/frontends/qtfrontend/frameview.cpp
0113   src/presentation/frontends/qtfrontend/flexiblespinbox.cpp
0114   src/presentation/frontends/qtfrontend/menuframe.cpp
0115   src/presentation/frontends/qtfrontend/flexiblelineedit.cpp
0116   src/application/soundhandler.cpp
0117   src/presentation/frontends/qtfrontend/framepreferencesmenu.cpp
0118   src/application/editmenuhandler.cpp
0119   src/domain/animation/scene.cpp
0120   src/technical/projectserializer.cpp
0121   src/technical/audio/oggvorbis.cpp
0122   src/technical/audio/audioformat.cpp
0123   src/technical/audio/qtaudiodriver.cpp
0124   src/technical/grabber/imagegrabber.cpp
0125   src/technical/grabber/commandlinegrabber.cpp
0126   src/presentation/frontends/qtfrontend/imagegrabthread.cpp
0127   src/presentation/frontends/qtfrontend/preferencesmenu.cpp
0128   src/foundation/preferencestool.cpp
0129   src/application/modelhandler.cpp
0130   src/presentation/frontends/qtfrontend/toolsmenu.cpp
0131   src/application/languagehandler.cpp
0132   src/technical/video/videofactory.cpp
0133   src/technical/video/videoencoder.cpp
0134   src/presentation/frontends/qtfrontend/importtab.cpp
0135   src/presentation/frontends/qtfrontend/framebar/framebar.cpp
0136   src/presentation/frontends/qtfrontend/framebar/framethumbview.cpp
0137   src/presentation/frontends/qtfrontend/framebar/filenamesfromurlsiterator.cpp
0138   src/presentation/frontends/qtfrontend/framebar/scenearrowbutton.cpp
0139   src/presentation/frontends/qtfrontend/framebar/scenethumbview.cpp
0140   src/presentation/frontends/qtfrontend/framebar/thumbview.cpp
0141   src/presentation/frontends/qtfrontend/framebar/thumbdragger.cpp
0142   src/presentation/frontends/qtfrontend/exporttab.cpp
0143   src/presentation/frontends/qtfrontend/helpwindow.cpp
0144   src/presentation/frontends/qtfrontend/editobserver.cpp
0145   src/technical/util.cpp
0146   src/technical/stringiterator.cpp
0147   src/application/externalcommand.cpp
0148   src/application/externalcommandwithtemporarydirectory.cpp
0149   src/presentation/frontends/qtfrontend/aboutdialog.cpp
0150   src/presentation/frontends/qtfrontend/devicetab.cpp
0151   src/presentation/frontends/frontend.cpp
0152   src/domain/undo/command.cpp
0153   src/domain/undo/undoredoobserver.cpp
0154   src/domain/undo/commandlogger.cpp
0155   src/domain/undo/executor.cpp
0156   src/domain/undo/addallcommands.cpp
0157   src/domain/undo/random.cpp
0158   translations.qrc
0159   ${QM_FILES}
0160   )
0161 
0162 # link to Qt libraries
0163 target_link_libraries(stopmotion
0164   PUBLIC
0165   Qt5::Core
0166   Qt5::Widgets
0167   Qt5::Multimedia
0168   )
0169 # link to LibXml2
0170 target_link_libraries(stopmotion
0171   PUBLIC LibXml2::LibXml2)
0172 # link to libVorbis, libtar
0173 target_link_libraries(stopmotion
0174   PUBLIC
0175   ${VORBISFILE_LIBRARY_PATH}
0176   ${TAR_LIBRARY_PATH}
0177   )
0178 
0179 target_include_directories(stopmotion
0180   PUBLIC
0181   .
0182   src
0183   src/domain
0184   src/domain/animation
0185   src/foundation
0186   src/presentation
0187   src/presentation/frontends/nonguifrontend
0188   src/presentation/frontends/qtfrontend
0189   )
0190 
0191 ###
0192 # handle installation
0193 ###
0194 include(GNUInstallDirs)
0195 
0196 install(TARGETS stopmotion
0197   RUNTIME
0198   DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
0199 install(FILES stopmotion.desktop
0200   DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/applications)
0201 install(FILES
0202   graphics/stopmotion.png
0203   graphics/stopmotion.svg
0204   graphics/stopmotion.xpm
0205   graphics/stopmotion_logo.xpm
0206   DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/pixmaps)
0207 install(DIRECTORY graphics/icons
0208   DESTINATION ${CMAKE_INSTALL_FULL_DATADIR})
0209 install(FILES ${QM_FILES}
0210   DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/stopmotion/translations)
0211 install(FILES stopmotion.1
0212   DESTINATION ${CMAKE_INSTALL_FULL_MANDIR}/man1)
0213 install(DIRECTORY manual
0214   DESTINATION ${CMAKE_INSTALL_FULL_DOCDIR})