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})