cmake_minimum_required(VERSION 3.16) project(shemov VERSION 1.0 LANGUAGES C CXX) set(CMAKE_INCLUDE_CURRENT_DIR ON) find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Concurrent Gui MultimediaWidgets Sql Widgets) qt_standard_project_setup() qt_add_executable(shemov WIN32 MACOSX_BUNDLE archivebrowser.cpp archivebrowser.h archivebrowsermodel.cpp archivebrowsermodel.h archivemodel.cpp archivemodel.h archiveview.cpp archiveview.h configurationdialog.cpp configurationdialog.h consistencycheck.cpp consistencycheck.h copyworker.cpp copyworker.h dbanalyzer.cpp dbanalyzer.h delegates.cpp delegates.h editfiledialog.cpp editfiledialog.h filepropertiesdialog.cpp filepropertiesdialog.h fsproxy.cpp fsproxy.h fswidget.cpp fswidget.h helper.cpp helper.h main.cpp mappingdata.cpp mappingdata.h mappingeditdialog.cpp mappingeditdialog.h mappingeditwidget.cpp mappingeditwidget.h mappinginputdialog.cpp mappinginputdialog.h mappingtableeditor.cpp mappingtableeditor.h mappingtablemodel.cpp mappingtablemodel.h mappingtablewidget.cpp mappingtablewidget.h mappingtreemodel.cpp mappingtreemodel.h mappingtreeproxy.cpp mappingtreeproxy.h mappingtreeresultmodel.cpp mappingtreeresultmodel.h mappingtreeresultview.cpp mappingtreeresultview.h mappingtreeview.cpp mappingtreeview.h mappingtreewidget.cpp mappingtreewidget.h movieinfopage.cpp movieinfopage.h moviemappingpage.cpp moviemappingpage.h moviemetadatapage.cpp moviemetadatapage.h moviepropertiesdialog.cpp moviepropertiesdialog.h moviewidget.cpp moviewidget.h newmoviewizard.cpp newmoviewizard.h newpicsdialog.cpp newpicsdialog.h picfilesmodel.cpp picfilesmodel.h picturelistview.cpp picturelistview.h pictureswidget.cpp pictureswidget.h pictureviewer2.cpp pictureviewer2.h programconfigurator.cpp programconfigurator.h randomtab.cpp randomtab.h searchdialog.cpp searchdialog.h shemov.cpp shemov.h shemoviconprovider.cpp shemoviconprovider.h smdialog.cpp smdialog.h smglobals.cpp smglobals.h sminputdialog.cpp sminputdialog.h smtreeitem.cpp smtreeitem.h smtreemodel.cpp smtreemodel.h smtreeview.cpp smtreeview.h smview.cpp smview.h statisticsdialog.cpp statisticsdialog.h unpacker.cpp unpacker.h viewer.cpp viewer.h wizardtreemodel.cpp wizardtreemodel.h ) target_compile_definitions(shemov PRIVATE QT_DEPRECATED_WARNINGS ) target_link_libraries(shemov PRIVATE Magick++-7.Q16HDRI Qt::Concurrent Qt::Core Qt::Gui Qt::MultimediaWidgets Qt::Sql Qt::Widgets ) # Resources: set(shemov_resource_files "analstretcher.png" "archive.svg" "back_dick.png" "bald_pussy.png" "ball_gag.png" "big_ass.png" "big_balls.png" "big_tit.png" "bizarre_amputee.png" "blue_syringe.png" "butt_plug.png" "butt_plug_light.png" "catheter_with_bag.png" "chastity_belt.png" "chastity_belt_light.png" "chastity_belt_with_cuffs.png" "clean_tampon.png" "clitoris.png" "compare.png" "delete.png" "diaper.png" "dick_in_cage.png" "dildo.png" "dog_hood.png" "dog_hood_light.png" "fire.png" "folder.png" "french_maid_dress.png" "gaping_ass.png" "higheels.png" "hourglass_figure.png" "huge_balls_pierced.png" "huge_bra.png" "huge_bra_light.png" "letter_d.png" "letter_n.png" "letter_q.png" "letter_t.png" "male_chastity_belt.png" "movie.svg" "nipple_up.png" "picgone.png" "picture.svg" "prince_albert.png" "refresh.png" "rename.png" "shackles.png" "shemov.png" "shemov_splash2.png" "snapshot.png" "spreadingpants.png" "squirting_nipple.png" "squirting_nipple_light.png" "steel_collar.png" "up_dick.png" "usb-32.png" "used_tampon.png" ) qt_add_resources(shemov "shemov" PREFIX "/" FILES ${shemov_resource_files} ) if(WIN32) target_include_directories(shemov PRIVATE ..\..\..\mingw64\include\ImageMagick-7 ) endif() if(UNIX) target_include_directories(shemov PRIVATE /usr/include/ImageMagick-7 ) endif() install(TARGETS shemov BUNDLE DESTINATION . RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) qt_generate_deploy_app_script( TARGET shemov FILENAME_VARIABLE deploy_script NO_UNSUPPORTED_PLATFORM_ERROR ) install(SCRIPT ${deploy_script})