Warning, /education/kstars/kstars/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 if(NOT APPLE) #This is not needed on MacOS, since the data directory and icons are now installed to the app bundle first using the code at the bottom
0002     add_subdirectory( data )
0003     add_subdirectory( icons )
0004 endif(NOT APPLE)
0005 
0006 add_subdirectory( htmesh )
0007 
0008 if (ANDROID AND CMAKE_TOOLCHAIN_FILE)
0009     include(${CMAKE_TOOLCHAIN_FILE})
0010 endif ()
0011 
0012 if (NOT ANDROID)
0013     find_package(ZLIB REQUIRED)
0014     include_directories(${ZLIB_INCLUDE_DIR})
0015     find_package(Threads REQUIRED)
0016 endif ()
0017 
0018 if(MSVC)
0019     add_definitions(-D_USE_MATH_DEFINES=1)
0020     add_definitions(-DNOMINMAX)
0021 endif()
0022 
0023 include(CheckCXXSymbolExists)
0024 check_cxx_symbol_exists(sincos "math.h" HAVE_SINCOS)
0025 if(HAVE_SINCOS)
0026     add_definitions(-DHAVE_SINCOS)
0027 endif()
0028 
0029 include_directories(
0030     ${kstars_SOURCE_DIR}/kstars
0031     ${kstars_SOURCE_DIR}/kstars/skyobjects
0032     ${kstars_SOURCE_DIR}/kstars/skycomponents
0033     ${kstars_SOURCE_DIR}/kstars/auxiliary
0034     ${kstars_SOURCE_DIR}/kstars/time
0035     ${kstars_SOURCE_DIR}/kstars/tools
0036     ${kstars_SOURCE_DIR}/kstars/catalogsdb
0037     ${kstars_SOURCE_DIR}/kstars/polyfills
0038     )
0039 
0040 if (INDI_FOUND)
0041     if(BUILD_KSTARS_LITE)
0042             set (fits_klite_SRCS
0043                 fitsviewer/fitsdata.cpp
0044                 )
0045             set (fits2_klite_SRCS
0046                 fitsviewer/bayer.c
0047                 fitsviewer/fpack.c
0048                 fitsviewer/fpackutil.c
0049                 )
0050                 include_directories(${CFITSIO_INCLUDE_DIR})
0051                 include_directories(${NOVA_INCLUDE_DIR})
0052 
0053             set (indi_klite_SRCS
0054                 indi/clientmanagerlite.cpp
0055                 indi/inditelescopelite.cpp
0056                 kstarslite/skyitems/skynodes/crosshairnode.cpp
0057                 kstarslite/skyitems/telescopesymbolsitem.cpp
0058             )
0059     endif ()
0060 
0061     set(indiui_SRCS
0062         indi/streamform.ui
0063         indi/drivermanager.ui
0064         indi/opsindi.ui
0065         indi/indihostconf.ui
0066         indi/customdrivers.ui
0067         #indi/telescopewizard.ui
0068     )
0069 
0070     set(indi_SRCS
0071         indi/drivermanager.cpp
0072         indi/servermanager.cpp
0073         indi/clientmanager.cpp
0074         indi/blobmanager.cpp
0075         indi/guimanager.cpp
0076         indi/driverinfo.cpp
0077         indi/deviceinfo.cpp
0078         indi/indidevice.cpp
0079         indi/indigroup.cpp
0080         indi/wsmedia.cpp
0081         indi/indiproperty.cpp
0082         indi/indielement.cpp
0083         indi/indistd.cpp
0084         indi/indilistener.cpp
0085         indi/indiconcretedevice.cpp
0086         indi/indiguider.cpp
0087         indi/indimount.cpp
0088         indi/indicamera.cpp
0089         indi/indicamerachip.cpp
0090         indi/indifocuser.cpp
0091         indi/indifilterwheel.cpp
0092         indi/indidome.cpp
0093         indi/indigps.cpp
0094         indi/indiweather.cpp
0095         indi/indidustcap.cpp
0096         indi/indilightbox.cpp
0097         indi/indiauxiliary.cpp
0098         indi/indidetector.cpp
0099         indi/indirotator.cpp
0100         indi/indiadaptiveoptics.cpp
0101         indi/indicorrelator.cpp
0102         indi/indispectrograph.cpp
0103         indi/indidbus.cpp
0104         indi/opsindi.cpp
0105         indi/streamwg.cpp
0106         indi/videowg.cpp
0107         indi/indiwebmanager.cpp
0108         indi/customdrivers.cpp
0109     )
0110 
0111     if (CFITSIO_FOUND)
0112         set(ekosui_SRCS
0113             ekos/opsekos.ui
0114             ekos/manager.ui
0115             ekos/manager/focusmanager.ui
0116             ekos/manager/guidemanager.ui
0117             ekos/profileeditor.ui
0118             ekos/profilewizard.ui
0119             # Analyze
0120             ekos/analyze/analyze.ui
0121             # Scheduler
0122             ekos/scheduler/scheduler.ui
0123             ekos/scheduler/mosaic.ui
0124             ekos/scheduler/framingassistant.ui
0125             # Capture
0126             ekos/capture/capture.ui
0127             ekos/capture/calibrationoptions.ui
0128             ekos/capture/capturepreviewwidget.ui
0129             ekos/capture/capturecountswidget.ui
0130             ekos/capture/captureprocessoverlay.ui
0131             ekos/capture/dslrinfo.ui
0132             ekos/capture/rotatorsettings.ui
0133             ekos/capture/customproperties.ui
0134             ekos/capture/scriptsmanager.ui
0135             ekos/capture/limits.ui
0136             # Align
0137             ekos/align/align.ui
0138             ekos/align/opsastrometry.ui
0139             ekos/align/opsprograms.ui
0140             ekos/align/opsalign.ui
0141             #ekos/align/opsastrometrycfg.ui
0142             ekos/align/opsastrometryindexfiles.ui
0143             ekos/align/manualrotator.ui
0144             ekos/align/mountmodel.ui
0145             ekos/align/polaralignmentassistant.ui
0146             ekos/align/polaralignwidget.ui
0147             #ekos/align/opsastap.ui
0148             # Focus
0149             ekos/focus/focus.ui
0150             # Mount
0151             ekos/mount/mount.ui
0152             ekos/mount/meridianflipstatuswidget.ui
0153             # Guide
0154             ekos/guide/guide.ui
0155             ekos/guide/guidestatewidget.ui
0156             ekos/guide/opscalibration.ui
0157             ekos/guide/opsguide.ui
0158             ekos/guide/opsdither.ui
0159             ekos/guide/opsgpg.ui
0160             ekos/guide/manualdither.ui
0161             ekos/observatory/observatory.ui
0162             #TODO remove from GIT
0163             #ekos/guide/guider.ui
0164             #ekos/guide/rcalibration.ui
0165             # Auxiliary
0166             ekos/auxiliary/filtersettings.ui
0167             ekos/auxiliary/opslogs.ui
0168             ekos/auxiliary/serialportassistant.ui
0169             ekos/auxiliary/stellarsolverprofileeditor.ui
0170             ekos/auxiliary/darklibrary.ui
0171             ekos/auxiliary/opticaltrains.ui
0172             ekos/auxiliary/ledstatuswidget.ui
0173             # Ekos Live
0174             ekos/ekoslive/ekoslivedialog.ui
0175             # INDI Hub
0176             ekos/indihub.ui
0177         )
0178 
0179         set(ekos_SRCS
0180             ekos/ekos.cpp
0181             ekos/profileeditor.cpp
0182             ekos/profilewizard.cpp
0183             ekos/profilescript.cpp
0184             ekos/profilescriptdialog.cpp
0185             ekos/qMDNS.cpp
0186             ekos/opsekos.cpp
0187 
0188             # Manager
0189             ekos/manager.cpp
0190             ekos/manager/focusmanager.cpp
0191             ekos/manager/guidemanager.cpp
0192             ekos/manager/meridianflipstate.cpp
0193 
0194             # Auxiliary
0195             ekos/auxiliary/darklibrary.cpp
0196             ekos/auxiliary/darkprocessor.cpp
0197             ekos/auxiliary/darkview.cpp
0198             ekos/auxiliary/defectmap.cpp
0199             ekos/auxiliary/opticaltrainmanager.cpp
0200             ekos/auxiliary/profilesettings.cpp
0201             ekos/auxiliary/opticaltrainsettings.cpp
0202             ekos/auxiliary/filtermanager.cpp
0203             ekos/auxiliary/tabledelegate.cpp
0204             ekos/auxiliary/opslogs.cpp
0205             ekos/auxiliary/stellarsolverprofileeditor.cpp
0206             ekos/auxiliary/stellarsolverprofile.cpp
0207             ekos/auxiliary/solverutils.cpp
0208             ekos/auxiliary/serialportassistant.cpp
0209             ekos/auxiliary/portselector.cpp
0210             ekos/auxiliary/ledstatuswidget.cpp
0211 
0212             # Capture
0213             ekos/capture/capture.cpp
0214             ekos/capture/capturemodulestate.cpp
0215             ekos/capture/capturedeviceadaptor.cpp
0216             ekos/capture/capturepreviewwidget.cpp
0217             ekos/capture/capturecountswidget.cpp
0218             ekos/capture/captureprocessoverlay.cpp
0219             ekos/capture/refocusstate.cpp
0220             ekos/capture/sequencejob.cpp
0221             ekos/capture/sequencejobstate.cpp
0222             ekos/capture/dslrinfodialog.cpp
0223             ekos/capture/rotatorsettings.cpp
0224             ekos/capture/customproperties.cpp
0225             ekos/capture/scriptsmanager.cpp
0226             ekos/capture/placeholderpath.cpp
0227 
0228             # Analyze
0229             ekos/analyze/analyze.cpp
0230 
0231             # Scheduler
0232             ekos/scheduler/schedulerjob.cpp
0233             ekos/scheduler/scheduler.cpp
0234             ekos/scheduler/mosaic.cpp
0235             ekos/scheduler/framingassistantui.cpp
0236             ekos/scheduler/mosaictilesmanager.cpp
0237             ekos/scheduler/mosaictilesmodel.cpp
0238             #ekos/scheduler/mosaicrenderer.cpp
0239             ekos/scheduler/greedyscheduler.cpp
0240 
0241             # Focus
0242             ekos/focus/focus.cpp
0243             ekos/focus/focushfrvplot.cpp
0244             ekos/focus/focusprofileplot.cpp
0245             ekos/focus/focusalgorithms.cpp
0246             ekos/focus/polynomialfit.cpp
0247             ekos/focus/focusstars.cpp
0248             ekos/focus/curvefit.cpp
0249 
0250             # Mount
0251             ekos/mount/mount.cpp
0252             ekos/mount/meridianflipstatuswidget.cpp
0253 
0254             # Align
0255             ekos/align/align.cpp
0256             ekos/align/alignview.cpp
0257             ekos/align/astrometryparser.cpp
0258             ekos/align/opsastrometry.cpp
0259             ekos/align/opsalign.cpp
0260             ekos/align/opsprograms.cpp
0261             ekos/align/opsastrometryindexfiles.cpp
0262             ekos/align/remoteastrometryparser.cpp
0263             ekos/align/poleaxis.cpp
0264             ekos/align/polaralign.cpp
0265             ekos/align/rotations.cpp
0266             ekos/align/mountmodel.cpp
0267             ekos/align/polaralignmentassistant.cpp
0268             ekos/align/manualrotator.cpp
0269             ekos/align/polaralignwidget.cpp
0270 
0271             # Guide
0272             ekos/guide/guide.cpp
0273             ekos/guide/guidestatewidget.cpp
0274             ekos/guide/guideinterface.cpp
0275             ekos/guide/opscalibration.cpp
0276             ekos/guide/opsguide.cpp
0277             ekos/guide/opsdither.cpp
0278             ekos/guide/opsgpg.cpp
0279             ekos/guide/guidedriftgraph.cpp
0280             ekos/guide/guidetargetplot.cpp
0281             # Internal Guide
0282             ekos/guide/internalguide/gmath.cpp
0283             ekos/guide/internalguide/guidealgorithms.cpp
0284             ekos/guide/internalguide/calibrationprocess.cpp
0285             ekos/guide/internalguide/internalguider.cpp
0286             #ekos/guide/internalguide/guider.cpp
0287             ekos/guide/internalguide/matr.cpp
0288             #ekos/guide/internalguide/rcalibration.cpp
0289             ekos/guide/internalguide/vect.cpp
0290             ekos/guide/internalguide/imageautoguiding.cpp
0291             ekos/guide/internalguide/guidelog.cpp
0292             ekos/guide/internalguide/starcorrespondence.cpp
0293             ekos/guide/internalguide/gpg.cpp
0294             ekos/guide/internalguide/calibration.cpp
0295             ekos/guide/internalguide/guidestars.cpp
0296             ekos/guide/guideview.cpp
0297             # External Guide
0298             ekos/guide/externalguide/phd2.cpp
0299             ekos/guide/externalguide/linguider.cpp
0300 
0301             #Observatory
0302             # Needs to migrate Observatory
0303             ekos/observatory/observatory.cpp
0304 #            ekos/observatory/observatorymodel.cpp
0305 #            ekos/observatory/observatorydomemodel.cpp
0306 #            ekos/observatory/observatoryweathermodel.cpp
0307 
0308             # Ekos Live
0309             ekos/ekoslive/ekosliveclient.cpp
0310             ekos/ekoslive/message.cpp
0311             ekos/ekoslive/media.cpp
0312             ekos/ekoslive/cloud.cpp
0313         )
0314 
0315     endif(CFITSIO_FOUND)
0316 
0317     include_directories(${INDI_INCLUDE_DIR})
0318 endif (INDI_FOUND)
0319 
0320 if (CFITSIO_FOUND)
0321   set (gpg_SRCS
0322         ekos/guide/internalguide/MPI_IS_gaussian_process/src/math_tools.cpp
0323         ekos/guide/internalguide/MPI_IS_gaussian_process/src/covariance_functions.cpp
0324         ekos/guide/internalguide/MPI_IS_gaussian_process/src/gaussian_process.cpp
0325         ekos/guide/internalguide/MPI_IS_gaussian_process/src/gaussian_process_guider.cpp
0326         )
0327     set (sep_SRCS
0328         fitsviewer/sep/analyse.c
0329         fitsviewer/sep/aperture.c
0330         fitsviewer/sep/background.c
0331         fitsviewer/sep/convolve.c
0332         fitsviewer/sep/deblend.c
0333         fitsviewer/sep/extract.c
0334         fitsviewer/sep/lutz.c
0335         fitsviewer/sep/util.c
0336         )
0337 
0338     set (hough_SRCS
0339         fitsviewer/hough/houghline.cpp
0340         )
0341 
0342     set (fits_SRCS
0343         fitsviewer/fitslabel.cpp
0344         fitsviewer/fitsviewer.cpp
0345         fitsviewer/stretch.cpp
0346         fitsviewer/fitstab.cpp
0347         fitsviewer/fitsdebayer.cpp
0348         fitsviewer/opsfits.cpp
0349         )
0350 
0351     if (Qt5DataVisualization_FOUND)
0352         set(fits_SRCS ${fits_SRCS} fitsviewer/starprofileviewer.cpp)
0353     endif()
0354 
0355     set (fits2_SRCS
0356         fitsviewer/bayer.c
0357         fitsviewer/fpack.c
0358         fitsviewer/fpackutil.c
0359         fitsviewer/fitshistogrameditor.cpp
0360         fitsviewer/fitshistogramview.cpp
0361         fitsviewer/fitshistogramcommand.cpp
0362         fitsviewer/fitsview.cpp
0363         fitsviewer/summaryfitsview.cpp
0364         fitsviewer/fitsdata.cpp
0365         fitsviewer/fitsstardetector.cpp
0366         fitsviewer/fitsthresholddetector.cpp
0367         fitsviewer/fitsgradientdetector.cpp
0368         fitsviewer/fitscentroiddetector.cpp
0369         fitsviewer/fitssepdetector.cpp
0370         fitsviewer/fitsbahtinovdetector.cpp
0371         fitsviewer/fitsskyobject.cpp
0372         )
0373     set (fitsui_SRCS
0374         fitsviewer/fitsheaderdialog.ui
0375         fitsviewer/statform.ui
0376         fitsviewer/fitsdebayer.ui
0377         indi/streamform.ui
0378         indi/recordingoptions.ui
0379         fitsviewer/fitshistogramui.ui
0380         fitsviewer/opsfits.ui
0381         )
0382     include_directories(${CFITSIO_INCLUDE_DIR})
0383 
0384 endif(CFITSIO_FOUND)
0385 
0386 IF (CFITSIO_FOUND)
0387     IF (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang"))
0388         IF (SANITIZERS)
0389             SET_SOURCE_FILES_PROPERTIES(fitsviewer/bayer.c PROPERTIES COMPILE_FLAGS "-Wno-cast-align -fno-sanitize=address,undefined -fomit-frame-pointer")
0390             SET_SOURCE_FILES_PROPERTIES(fitsviewer/fitsdata.cpp PROPERTIES COMPILE_FLAGS "-fno-sanitize=address,undefined -fomit-frame-pointer")
0391             SET_SOURCE_FILES_PROPERTIES(fitsviewer/fitshistogram.cpp PROPERTIES COMPILE_FLAGS "-fno-sanitize=address,undefined -fomit-frame-pointer")
0392             SET_SOURCE_FILES_PROPERTIES(fitsviewer/fitsview.cpp PROPERTIES COMPILE_FLAGS "-fno-sanitize=address,undefined -fomit-frame-pointer")
0393             SET_SOURCE_FILES_PROPERTIES(fitsviewer/hough/houghline.cpp PROPERTIES COMPILE_FLAGS "-fno-sanitize=address,undefined -fomit-frame-pointer")
0394         ELSE ()
0395             SET_SOURCE_FILES_PROPERTIES(fitsviewer/bayer.c PROPERTIES COMPILE_FLAGS "-Wno-cast-align")
0396         ENDIF ()
0397         SET_SOURCE_FILES_PROPERTIES(fitsviewer/sep/analyse.c PROPERTIES COMPILE_FLAGS "-Wno-cast-align")
0398         SET_SOURCE_FILES_PROPERTIES(fitsviewer/sep/aperture.c PROPERTIES COMPILE_FLAGS "-Wno-cast-align -Wno-pointer-arith")
0399         SET_SOURCE_FILES_PROPERTIES(fitsviewer/sep/background.c PROPERTIES COMPILE_FLAGS "-Wno-cast-align")
0400         SET_SOURCE_FILES_PROPERTIES(fitsviewer/sep/deblend.c PROPERTIES COMPILE_FLAGS "-Wno-cast-align -Wno-incompatible-pointer-types-discards-qualifiers")
0401         SET_SOURCE_FILES_PROPERTIES(fitsviewer/sep/extract.c PROPERTIES COMPILE_FLAGS "-Wno-cast-align")
0402         SET_SOURCE_FILES_PROPERTIES(fitsviewer/sep/lutz.c PROPERTIES COMPILE_FLAGS "-Wno-cast-align")
0403         SET_SOURCE_FILES_PROPERTIES(fitsviewer/sep/util.c PROPERTIES COMPILE_FLAGS "-Wno-incompatible-pointer-types-discards-qualifiers")
0404         SET_SOURCE_FILES_PROPERTIES(fitsviewer/fpack.c PROPERTIES COMPILE_FLAGS "-Wno-error")
0405         SET_SOURCE_FILES_PROPERTIES(fitsviewer/fpackutil.c PROPERTIES COMPILE_FLAGS "-Wno-error")
0406     ELSEIF (NOT WIN32)
0407         SET_SOURCE_FILES_PROPERTIES(fitsviewer/fpack.c PROPERTIES COMPILE_FLAGS "-Wno-error")
0408         SET_SOURCE_FILES_PROPERTIES(fitsviewer/fpackutil.c PROPERTIES COMPILE_FLAGS "-Wno-error")
0409         SET_SOURCE_FILES_PROPERTIES(fitsviewer/sep/aperture.c PROPERTIES COMPILE_FLAGS "-Wno-pointer-arith")
0410         SET_SOURCE_FILES_PROPERTIES(fitsviewer/sep/deblend.c PROPERTIES COMPILE_FLAGS "-Wno-discarded-qualifiers")
0411         SET_SOURCE_FILES_PROPERTIES(fitsviewer/sep/util.c PROPERTIES COMPILE_FLAGS "-Wno-discarded-qualifiers")
0412     ENDIF ()
0413 ENDIF ()
0414 
0415 if(WCSLIB_FOUND)
0416     include_directories( ${WCSLIB_INCLUDE_DIR} )
0417 endif(WCSLIB_FOUND)
0418 
0419 set(xplanet_SRCS
0420     xplanet/opsxplanet.cpp
0421 )
0422 
0423 set(xplanetui_SRCS
0424     xplanet/opsxplanet.ui
0425 )
0426 
0427 ########### next target ###############
0428 set(libkstarstools_SRCS
0429     tools/altvstime.cpp
0430     tools/avtplotwidget.cpp
0431     tools/calendarwidget.cpp
0432     tools/conjunctions.cpp
0433     tools/eclipsetool.cpp
0434     tools/eclipsehandler.cpp
0435 
0436     tools/eclipsetool/lunareclipsehandler.cpp
0437 
0438     tools/jmoontool.cpp
0439     tools/approachsolver.cpp
0440     tools/ksconjunct.cpp
0441     tools/eqplotwidget.cpp
0442     tools/astrocalc.cpp
0443     tools/modcalcangdist.cpp
0444     tools/modcalcapcoord.cpp
0445     tools/modcalcaltaz.cpp
0446     tools/modcalcdaylength.cpp
0447     tools/modcalceclipticcoords.cpp
0448     tools/modcalcvizequinox.cpp
0449     tools/modcalcgalcoord.cpp
0450     tools/modcalcgeodcoord.cpp
0451     tools/modcalcjd.cpp
0452     tools/modcalcplanets.cpp
0453     tools/modcalcsidtime.cpp
0454     tools/modcalcvlsr.cpp
0455     tools/observinglist.cpp
0456     tools/obslistpopupmenu.cpp
0457     tools/sessionsortfilterproxymodel.cpp
0458     tools/obslistwizard.cpp
0459     tools/planetviewer.cpp
0460     tools/pvplotwidget.cpp
0461     tools/scriptargwidgets.cpp
0462     tools/scriptbuilder.cpp
0463     tools/scriptfunction.cpp
0464     tools/skycalendar.cpp
0465     tools/wutdialog.cpp
0466     tools/flagmanager.cpp
0467     tools/horizonmanager.cpp
0468     tools/nameresolver.cpp
0469     tools/polarishourangle.cpp
0470     #FIXME Port to KF5
0471     #tools/moonphasetool.cpp
0472 
0473     tools/starhopper.cpp
0474     tools/eyepiecefield.cpp
0475     tools/exporteyepieceview.cpp
0476     tools/starhopperdialog.cpp
0477     tools/greatcircle.cpp
0478 
0479     tools/import_skycomp.cpp
0480 )
0481 
0482 if(${KF5_VERSION} VERSION_EQUAL 5.18.0 OR ${KF5_VERSION} VERSION_GREATER 5.18.0)
0483     set(libkstarstools_SRCS
0484         ${libkstarstools_SRCS}
0485         tools/whatsinteresting/skyobjlistmodel.cpp
0486         tools/whatsinteresting/wiview.cpp
0487         tools/whatsinteresting/modelmanager.cpp
0488         tools/whatsinteresting/skyobjitem.cpp
0489         tools/whatsinteresting/wilpsettings.cpp
0490         tools/whatsinteresting/wiequipsettings.cpp
0491         tools/whatsinteresting/obsconditions.cpp
0492         tools/whatsinteresting/skyobjdescription.cpp
0493     )
0494 endif()
0495 
0496 ki18n_wrap_ui(libkstarstools_ui_SRCS
0497     tools/altvstime.ui
0498     tools/argchangeviewoption.ui
0499     tools/argexportimage.ui
0500     tools/argloadcolorscheme.ui
0501     tools/arglooktoward.ui
0502     tools/argfindobject.ui
0503     tools/argprintimage.ui
0504     tools/argsetaltaz.ui
0505     tools/argsetcolor.ui
0506     tools/argsetgeolocation.ui
0507     tools/argsetlocaltime.ui
0508     tools/argsetradec.ui
0509     tools/argsettrack.ui
0510     tools/argtimescale.ui
0511     tools/argwaitfor.ui
0512     tools/argwaitforkey.ui
0513     tools/argzoom.ui
0514     tools/conjunctions.ui
0515     tools/eclipsetool.ui
0516 
0517     tools/modcalcangdist.ui
0518     tools/modcalcapcoord.ui
0519     tools/modcalcaltaz.ui
0520     tools/modcalcdaylength.ui
0521     tools/modcalceclipticcoords.ui
0522     tools/modcalcvizequinox.ui
0523     tools/modcalcgalcoord.ui
0524     tools/modcalcgeod.ui
0525     tools/modcalcjd.ui
0526     tools/modcalcplanets.ui
0527     tools/modcalcsidtime.ui
0528     tools/modcalcvlsr.ui
0529     tools/observinglist.ui
0530     tools/obslistwizard.ui
0531     tools/optionstreeview.ui
0532     tools/planetviewer.ui
0533     tools/scriptbuilder.ui
0534     tools/scriptnamedialog.ui
0535     tools/skycalendar.ui
0536     tools/wutdialog.ui
0537     tools/flagmanager.ui
0538     tools/starhopperdialog.ui
0539     tools/horizonmanager.ui
0540     tools/polarishourangle.ui
0541 )
0542 
0543 if (${KF5_VERSION} VERSION_EQUAL 5.18.0 OR ${KF5_VERSION} VERSION_GREATER 5.18.0)
0544     ki18n_wrap_ui(libkstarstools_ui_SRCS
0545         tools/whatsinteresting/wilpsettings.ui
0546         tools/whatsinteresting/wiequipsettings.ui
0547     )
0548 endif()
0549 
0550 set(libkstarswidgets_SRCS
0551     widgets/clicklabel.cpp
0552     widgets/dmsbox.cpp
0553     widgets/draglistbox.cpp
0554     widgets/fovwidget.cpp
0555     widgets/logedit.cpp
0556     widgets/magnitudespinbox.cpp
0557     widgets/mapcanvas.cpp
0558     widgets/thumbimage.cpp
0559     widgets/timespinbox.cpp
0560     widgets/timestepbox.cpp
0561     widgets/timeunitbox.cpp
0562     widgets/infoboxwidget.cpp
0563 #    widgets/genericcalendarwidget.cpp
0564 #    widgets/moonphasecalendarwidget.cpp
0565     widgets/kshelplabel.cpp
0566     widgets/unitspinboxwidget.cpp
0567 )
0568 
0569 ki18n_wrap_ui(libkstarswidgets_ui_SRCS
0570 #    widgets/genericcalendarwidget.ui
0571     widgets/unitspinboxwidget.ui
0572 )
0573 
0574 set(kstars_options_SRCS
0575     options/opsadvanced.cpp
0576     options/opscatalog.cpp
0577     options/opscolors.cpp
0578     options/opsguides.cpp
0579     options/opssolarsystem.cpp
0580     options/opssatellites.cpp
0581     options/opssupernovae.cpp
0582     options/opsterrain.cpp
0583     options/opsdeveloper.cpp
0584 )
0585 
0586 set(kstars_optionsui_SRCS
0587     options/opsadvanced.ui
0588     options/opscatalog.ui
0589     options/opscolors.ui
0590     options/opsguides.ui
0591     options/opssolarsystem.ui
0592     options/opssatellites.ui
0593     options/opssupernovae.ui
0594     options/opsterrain.ui
0595     options/opsdeveloper.ui
0596 )
0597 
0598 set(kstars_dialogs_SRCS
0599     dialogs/addcatalogobject.cpp
0600     dialogs/catalogsdbui.cpp
0601     dialogs/catalogeditform.cpp
0602     dialogs/catalogcoloreditor.cpp
0603     dialogs/catalogdetails.cpp
0604     dialogs/catalogcsvimport.cpp
0605     dialogs/catalogobjectlistmodel.cpp
0606     dialogs/addlinkdialog.cpp
0607     dialogs/detaildialog.cpp
0608     dialogs/finddialog.cpp
0609     dialogs/focusdialog.cpp
0610     dialogs/fovdialog.cpp
0611     dialogs/locationdialog.cpp
0612     dialogs/timedialog.cpp
0613     dialogs/exportimagedialog.cpp
0614 )
0615 
0616 set(kstars_dialogsui_SRCS
0617     dialogs/addcatalogobject.ui
0618     dialogs/catalogsdbui.ui
0619     dialogs/catalogeditform.ui
0620     dialogs/catalogcoloreditor.ui
0621     dialogs/catalogdetails.ui
0622     dialogs/catalogcsvimport.ui
0623     dialogs/addlinkdialog.ui
0624     dialogs/details_database.ui
0625     dialogs/details_data.ui
0626     dialogs/details_data_comet.ui
0627     dialogs/details_links.ui
0628     dialogs/details_log.ui
0629     dialogs/details_position.ui
0630     dialogs/finddialog.ui
0631     dialogs/focusdialog.ui
0632     dialogs/fovdialog.ui
0633     dialogs/locationdialog.ui
0634     dialogs/wizwelcome.ui
0635     dialogs/wizlocation.ui
0636     dialogs/wizdownload.ui
0637     dialogs/wizdata.ui
0638     dialogs/newfov.ui
0639     dialogs/exportimagedialog.ui
0640 )
0641 
0642 set(hips_SRCS
0643     hips/healpix.cpp
0644     hips/hipsrenderer.cpp
0645     hips/hipsfinder.cpp
0646     hips/scanrender.cpp
0647     hips/pixcache.cpp
0648     hips/urlfiledownload.cpp
0649     hips/opships.cpp
0650 )
0651 
0652 set(terrain_SRCS
0653     terrain/terrainrenderer.cpp
0654 )
0655 
0656 set(hips_manager_SRCS
0657     hips/hipsmanager.cpp
0658 )
0659 
0660 set(oal_SRCS
0661     oal/log.cpp
0662     oal/observer.cpp
0663     oal/site.cpp
0664     oal/session.cpp
0665     oal/scope.cpp
0666     oal/dslrlens.cpp
0667     oal/eyepiece.cpp
0668     oal/filter.cpp
0669     oal/observation.cpp
0670     oal/lens.cpp
0671     oal/equipmentwriter.cpp
0672     oal/observeradd.cpp
0673     oal/execute.cpp
0674 )
0675 
0676 set(printing_SRCS
0677     printing/detailstable.cpp
0678     printing/finderchart.cpp
0679     printing/foveditordialog.cpp
0680     printing/fovsnapshot.cpp
0681     printing/kstarsdocument.cpp
0682     printing/legend.cpp
0683     printing/loggingform.cpp
0684     printing/printingwizard.cpp
0685     printing/pwizchartconfig.cpp
0686     printing/pwizchartcontents.cpp
0687     printing/pwizfovbrowse.cpp
0688     printing/pwizfovconfig.cpp
0689     printing/pwizfovmanual.cpp
0690     printing/pwizfovsh.cpp
0691     printing/pwizfovtypeselection.cpp
0692     printing/pwizobjectselection.cpp
0693     printing/pwizprint.cpp
0694     printing/shfovexporter.cpp
0695     printing/simplefovexporter.cpp
0696 )
0697 
0698 set(printingui_SRCS
0699     printing/foveditordialog.ui
0700     printing/pwizchartconfig.ui
0701     printing/pwizchartcontents.ui
0702     printing/pwizfovbrowse.ui
0703     printing/pwizfovconfig.ui
0704     printing/pwizfovmanual.ui
0705     printing/pwizfovsh.ui
0706     printing/pwizfovtypeselection.ui
0707     printing/pwizobjectselection.ui
0708     printing/pwizprint.ui
0709     printing/pwizwelcome.ui
0710 )
0711 
0712 set(libkstarscomponents_SRCS
0713     skycomponents/skylabeler.cpp
0714     skycomponents/highpmstarlist.cpp
0715     skycomponents/skymapcomposite.cpp
0716     skycomponents/skymesh.cpp
0717     skycomponents/linelistindex.cpp
0718     skycomponents/linelistlabel.cpp
0719     skycomponents/noprecessindex.cpp
0720     skycomponents/listcomponent.cpp
0721     skycomponents/pointlistcomponent.cpp
0722     skycomponents/solarsystemsinglecomponent.cpp
0723     skycomponents/solarsystemlistcomponent.cpp
0724     skycomponents/earthshadowcomponent.cpp
0725     skycomponents/asteroidscomponent.cpp
0726     skycomponents/cometscomponent.cpp
0727     skycomponents/planetmoonscomponent.cpp
0728     skycomponents/solarsystemcomposite.cpp
0729     skycomponents/satellitescomponent.cpp
0730     skycomponents/starcomponent.cpp
0731     skycomponents/deepstarcomponent.cpp
0732     skycomponents/catalogscomponent.cpp
0733     skycomponents/constellationartcomponent.cpp
0734     skycomponents/constellationboundarylines.cpp
0735     skycomponents/constellationlines.cpp
0736     skycomponents/constellationnamescomponent.cpp
0737     skycomponents/supernovaecomponent.cpp
0738     skycomponents/coordinategrid.cpp
0739     skycomponents/equatorialcoordinategrid.cpp
0740     skycomponents/horizontalcoordinategrid.cpp
0741     skycomponents/localmeridiancomponent.cpp
0742     skycomponents/ecliptic.cpp
0743     skycomponents/equator.cpp
0744     skycomponents/artificialhorizoncomponent.cpp
0745     skycomponents/hipscomponent.cpp
0746     skycomponents/terraincomponent.cpp
0747     skycomponents/horizoncomponent.cpp
0748     skycomponents/milkyway.cpp
0749     skycomponents/skycomponent.cpp
0750     skycomponents/skycomposite.cpp
0751     skycomponents/starblock.cpp
0752     skycomponents/starblocklist.cpp
0753     skycomponents/starblockfactory.cpp
0754     skycomponents/culturelist.cpp
0755     skycomponents/flagcomponent.cpp
0756     skycomponents/targetlistcomponent.cpp
0757     )
0758 
0759 IF (INDI_FOUND)
0760 LIST(APPEND libkstarscomponents_SRCS
0761     skycomponents/mosaiccomponent.cpp
0762     )
0763 ENDIF(INDI_FOUND)
0764 
0765 #LIST(APPEND libkstarscomponents_SRCS
0766 #    #skycomponents/notifyupdatesui.cpp
0767 #    )
0768 
0769 IF (BUILD_KSTARS_LITE)
0770     set(libkstarstools_ui_klite_SRCS
0771         tools/nameresolver.cpp
0772         )
0773 ENDIF ()
0774 
0775 set(kstars_skyobjects_SRCS
0776     skyobjects/constellationsart.cpp
0777     skyobjects/catalogobject.cpp
0778     skyobjects/jupitermoons.cpp
0779     skyobjects/planetmoons.cpp
0780     skyobjects/ksasteroid.cpp
0781     skyobjects/kscomet.cpp
0782     skyobjects/ksmoon.cpp
0783     skyobjects/ksearthshadow.cpp
0784     skyobjects/ksplanetbase.cpp
0785     skyobjects/ksplanet.cpp
0786     #skyobjects/kspluto.cpp
0787     skyobjects/kssun.cpp
0788     skyobjects/skyline.cpp
0789     skyobjects/skyobject.cpp
0790     skyobjects/skypoint.cpp
0791     skyobjects/starobject.cpp
0792     skyobjects/trailobject.cpp
0793     skyobjects/satellite.cpp
0794     skyobjects/satellitegroup.cpp
0795     skyobjects/supernova.cpp
0796     )
0797 
0798 IF (INDI_FOUND)
0799 LIST(APPEND kstars_skyobjects_SRCS
0800     skyobjects/mosaictiles.cpp
0801     )
0802 ENDIF(INDI_FOUND)
0803 
0804 set(kstars_projection_SRCS
0805     projections/projector.cpp
0806     projections/lambertprojector.cpp
0807     projections/gnomonicprojector.cpp
0808     projections/stereographicprojector.cpp
0809     projections/orthographicprojector.cpp
0810     projections/azimuthalequidistantprojector.cpp
0811     projections/equirectangularprojector.cpp
0812     )
0813 
0814 set(kstars_extra_SRCS
0815     auxiliary/colorscheme.cpp
0816     auxiliary/dms.cpp
0817     auxiliary/cachingdms.cpp
0818     auxiliary/geolocation.cpp
0819     auxiliary/ksfilereader.cpp
0820     auxiliary/ksuserdb.cpp
0821     auxiliary/binfilehelper.cpp
0822     auxiliary/ksutils.cpp
0823     auxiliary/ksdssimage.cpp
0824     auxiliary/ksdssdownloader.cpp
0825     auxiliary/nonlineardoublespinbox.cpp
0826     auxiliary/profileinfo.cpp
0827     auxiliary/filedownloader.cpp
0828     auxiliary/kspaths.cpp
0829     auxiliary/QRoundProgressBar.cpp
0830     auxiliary/skyobjectlistmodel.cpp
0831     auxiliary/ksnotification.cpp
0832     auxiliary/ksmessagebox.cpp
0833     auxiliary/QProgressIndicator.cpp
0834     auxiliary/ctkrangeslider.cpp
0835     time/simclock.cpp
0836     time/kstarsdatetime.cpp
0837     time/timezonerule.cpp
0838     ksnumbers.cpp
0839     kstarsdata.cpp
0840     texturemanager.cpp
0841     #to minimize number of indef KSTARS_LITE
0842     skypainter.cpp    
0843     )
0844 
0845 SET(kstars_extra_kstars_SRCS
0846     auxiliary/thememanager.cpp
0847     auxiliary/schememanager.cpp
0848     auxiliary/imageviewer.cpp
0849     auxiliary/xplanetimageviewer.cpp
0850     auxiliary/fov.cpp
0851     auxiliary/thumbnailpicker.cpp
0852     auxiliary/thumbnaileditor.cpp
0853     auxiliary/imageexporter.cpp
0854     auxiliary/kswizard.cpp
0855     auxiliary/qcustomplot.cpp
0856     kstarsdbus.cpp
0857     kspopupmenu.cpp
0858     ksalmanac.cpp
0859     kstarsactions.cpp
0860     kstarsinit.cpp
0861     kstars.cpp
0862     kstarssplash.cpp
0863     skymap.cpp
0864     skymapdrawabstract.cpp
0865     skymapqdraw.cpp
0866     skymapevents.cpp
0867     skyqpainter.cpp
0868     )
0869 
0870 SET(catalogsdb_SRCS
0871         catalogsdb/catalogsdb.cpp)
0872 
0873 if(NOT APPLE) #KStarsLite files including the QML files are not needed on MacOS right now
0874 # Temporary solution to allow use of qml files from source dir DELETE
0875 SET(KSTARSLITE_CPP_OPTIONS -DSOURCE_DIR=\"${kstars_SOURCE_DIR}\" -DQML_IMPORT="${CMAKE_CURRENT_SOURCE_DIR}")
0876 
0877 set(klite_SRCS
0878     kstarslite.cpp
0879     kstarsliteinit.cpp
0880     skymaplite.cpp
0881     skymapliteevents.cpp
0882     #Wrappers
0883     kstarslite/skypointlite.cpp
0884     kstarslite/skyobjectlite.cpp
0885     #ImageProvider
0886     kstarslite/imageprovider.cpp
0887     #Dialogs
0888     kstarslite/dialogs/detaildialoglite.cpp
0889     kstarslite/dialogs/finddialoglite.cpp
0890     kstarslite/dialogs/locationdialoglite.cpp
0891     #RootNode
0892     kstarslite/skyitems/rootnode.cpp
0893     kstarslite/skyitems/skyopacitynode.cpp
0894     kstarslite/skyitems/typedeflite.h
0895     #SkyItems
0896     kstarslite/skyitems/skyitem.cpp
0897     kstarslite/skyitems/planetsitem.cpp
0898     kstarslite/skyitems/asteroidsitem.cpp
0899     kstarslite/skyitems/cometsitem.cpp
0900     kstarslite/skyitems/horizonitem.cpp
0901     kstarslite/skyitems/labelsitem.cpp
0902     kstarslite/skyitems/constellationnamesitem.cpp
0903     kstarslite/skyitems/staritem.cpp
0904     kstarslite/skyitems/deepstaritem.cpp
0905     kstarslite/skyitems/deepskyitem.cpp
0906     kstarslite/skyitems/constellationartitem.cpp
0907     kstarslite/skyitems/satellitesitem.cpp
0908     kstarslite/skyitems/supernovaeitem.cpp
0909     kstarslite/skyitems/fovitem.cpp
0910     #Line
0911     kstarslite/skyitems/lines/linesitem.cpp
0912     kstarslite/skyitems/lines/equatoritem.cpp
0913     kstarslite/skyitems/lines/eclipticitem.cpp
0914     kstarslite/skyitems/lines/milkywayitem.cpp
0915     #SkyNodes
0916     kstarslite/skyitems/skynodes/planetnode.cpp
0917     kstarslite/skyitems/skynodes/skynode.cpp
0918     kstarslite/skyitems/skynodes/pointsourcenode.cpp
0919     kstarslite/skyitems/skynodes/planetmoonsnode.cpp
0920     kstarslite/skyitems/skynodes/horizonnode.cpp
0921     kstarslite/skyitems/skynodes/labelnode.cpp
0922     kstarslite/skyitems/skynodes/guidelabelnode.cpp
0923     kstarslite/skyitems/skynodes/deepskynode.cpp
0924     kstarslite/skyitems/skynodes/dsosymbolnode.cpp
0925     kstarslite/skyitems/skynodes/skypolygonnode.cpp
0926     kstarslite/skyitems/skynodes/constellationartnode.cpp
0927     kstarslite/skyitems/skynodes/satellitenode.cpp
0928     kstarslite/skyitems/skynodes/supernovanode.cpp
0929     kstarslite/skyitems/skynodes/trixelnode.cpp
0930     kstarslite/skyitems/skynodes/fovsymbolnode.cpp
0931     #Nodes
0932     kstarslite/skyitems/skynodes/nodes/pointnode.cpp
0933     kstarslite/skyitems/skynodes/nodes/polynode.cpp
0934     kstarslite/skyitems/skynodes/nodes/linenode.cpp
0935     kstarslite/skyitems/skynodes/nodes/ellipsenode.cpp
0936     kstarslite/skyitems/skynodes/nodes/rectnode.cpp
0937     #Other
0938     kstarslite/deviceorientation.cpp
0939     )
0940 
0941 set(kstarslite_libtess_SRC
0942     #libtess
0943     libtess/gluos.h
0944     libtess/priorityq-sort.h
0945     libtess/sweep.c
0946     libtess/tessmono.c
0947     libtess/dict-list.h
0948     libtess/glu.h
0949     libtess/tessellate.c
0950     libtess/dict.c
0951     libtess/geom.c
0952     libtess/memalloc.c
0953     libtess/mesh.c
0954     libtess/normal.c
0955     libtess/priorityq.c
0956     libtess/priorityq-heap.c
0957     libtess/render.c
0958     libtess/tess.c
0959     )
0960 
0961 IF (BUILD_KSTARS_LITE)
0962     ADD_CUSTOM_TARGET(convert_translations ${CMAKE_SOURCE_DIR}/tools/convert_translations.sh ${CMAKE_BINARY_DIR}
0963                       WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
0964     ADD_DEPENDENCIES(convert_translations fetch-translations)
0965     IF (ANDROID)
0966         ADD_CUSTOM_TARGET(convert_translations_to_android ${CMAKE_SOURCE_DIR}/tools/convert_translations.sh ${CMAKE_BINARY_DIR}/packaging/android/export/share/kstars
0967                           WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
0968         ADD_DEPENDENCIES(convert_translations_to_android fetch-translations)
0969     ENDIF ()
0970 ENDIF ()
0971 
0972 IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
0973     SET_SOURCE_FILES_PROPERTIES(${kstarslite_libtess_SRC} PROPERTIES COMPILE_FLAGS "-Wno-error")
0974 ENDIF ()
0975 
0976 #Qml files will be probably moved to user's data dir, but for use
0977 #with QtCreator it is more convenient to have them here
0978 set(kstarsliteqml_SRCS
0979     kstarslite/qml/main.qml
0980     kstarslite/qml/constants/Constants.qml
0981     kstarslite/qml/modules/SkyMapLiteWrapper.qml
0982     kstarslite/qml/modules/BottomMenu.qml
0983     kstarslite/qml/modules/KSPage.qml
0984     kstarslite/qml/modules/KSListView.qml
0985     kstarslite/qml/modules/KSLabel.qml
0986     kstarslite/qml/modules/KSText.qml
0987     kstarslite/qml/modules/KSTabButton.qml
0988     kstarslite/qml/modules/KSTab.qml
0989     kstarslite/qml/modules/KSTabBarArrow.qml
0990     kstarslite/qml/modules/KSTextField.qml
0991     kstarslite/qml/modules/KSButton.qml
0992     kstarslite/qml/modules/TopMenu.qml
0993     kstarslite/qml/modules/helpers/TopMenuButton.qml
0994     kstarslite/qml/modules/helpers/BottomMenuButton.qml
0995     kstarslite/qml/modules/Splash.qml
0996     kstarslite/qml/modules/helpers/TimeSpinBox.qml
0997     kstarslite/qml/modules/TimePage.qml
0998     #Popups
0999     kstarslite/qml/modules/popups/ProjectionsPopup.qml
1000     kstarslite/qml/modules/popups/FOVPopup.qml
1001     kstarslite/qml/modules/popups/ColorSchemePopup.qml
1002     #Menus
1003     kstarslite/qml/modules/menus/ContextMenu.qml
1004     #Helpers
1005     kstarslite/qml/modules/helpers/PassiveNotification.qml
1006     kstarslite/qml/modules/helpers/KSMenuItem.qml
1007     kstarslite/qml/modules/helpers/TelescopeControl.qml
1008     #Dialogs
1009     kstarslite/qml/dialogs/FindDialog.qml
1010     kstarslite/qml/dialogs/LocationDialog.qml
1011     kstarslite/qml/dialogs/DetailsDialog.qml
1012     kstarslite/qml/dialogs/AboutDialog.qml
1013 
1014     kstarslite/qml/dialogs/helpers/DetailsItem.qml
1015     kstarslite/qml/dialogs/helpers/DetailsAddLink.qml
1016     kstarslite/qml/dialogs/helpers/LocationEdit.qml
1017     kstarslite/qml/dialogs/helpers/LocationLoading.qml
1018 
1019     kstarslite/qml/dialogs/menus/DetailsLinkMenu.qml
1020     kstarslite/qml/dialogs/menus/LocationsGeoMenu.qml
1021     #INDI
1022     kstarslite/qml/indi/INDIControlPanel.qml
1023     kstarslite/qml/indi/DevicePanel.qml
1024     kstarslite/qml/indi/ImagePreview.qml
1025     kstarslite/qml/indi/modules/MotionControl.qml
1026     kstarslite/qml/indi/modules/Led.qml
1027     kstarslite/qml/indi/modules/KSLed.qml
1028     kstarslite/qml/indi/modules/Property.qml
1029     kstarslite/qml/indi/modules/KSComboBox.qml
1030     kstarslite/qml/indi/modules/KSButtonSwitch.qml
1031     kstarslite/qml/indi/modules/KSCheckBox.qml
1032     kstarslite/qml/indi/modules/KSINDIText.qml
1033     kstarslite/qml/indi/modules/KSINDITextField.qml
1034     kstarslite/qml/indi/modules/KSButtonsSwitchRow.qml
1035     #Tutorial
1036     kstarslite/qml/modules/tutorial/TutorialPopup.qml
1037     kstarslite/qml/modules/tutorial/TutorialExitPopup.qml
1038     kstarslite/qml/modules/tutorial/TutorialStep1.qml
1039     kstarslite/qml/modules/tutorial/TutorialStep2.qml
1040     kstarslite/qml/modules/tutorial/TutorialStep3.qml
1041     kstarslite/qml/modules/tutorial/TutorialStep4.qml
1042     kstarslite/qml/modules/tutorial/TutorialStep5.qml
1043     kstarslite/qml/modules/tutorial/TutorialPane.qml
1044     )
1045 add_subdirectory(kstarslite/qml)
1046 ADD_CUSTOM_TARGET(kstarsliteqml SOURCES ${kstarsliteqml_SRCS})
1047 endif(NOT APPLE) #This is the end of the Mac KStars disabling of the KStarsLite Code
1048 
1049 if(ANDROID)
1050     add_subdirectory(kstarslite/res)
1051 endif(ANDROID)
1052 
1053 set(kstars_SRCS
1054     ${indi_SRCS}
1055     ${fits_SRCS}
1056     ${ekos_SRCS}
1057     ${libkstarswidgets_SRCS}
1058     ${libkstarscomponents_SRCS}
1059     ${libkstarstools_SRCS}
1060     ${kstars_extra_SRCS}
1061     ${kstars_extra_kstars_SRCS}
1062     ${kstars_projection_SRCS}
1063     ${xplanet_SRCS}
1064     ${kstars_options_SRCS}
1065     ${kstars_skyobjects_SRCS}
1066     ${kstars_dialogs_SRCS}
1067     ${hips_SRCS}
1068     ${terrain_SRCS}
1069     ${oal_SRCS}
1070     ${printing_SRCS}
1071     ${catalogsdb_SRCS}
1072     #KStars Lite
1073     ${kstarslite_SRCS}
1074     # Generated files
1075     ${libkstarstools_ui_SRCS}
1076     ${libkstarswidgets_ui_SRCS}
1077 )
1078 
1079 set(kstarslite_SRCS
1080     ${indi_klite_SRCS}
1081     ${libkstarscomponents_SRCS}
1082     ${kstars_extra_SRCS}
1083     ${kstars_projection_SRCS}
1084     ${kstars_skyobjects_SRCS}
1085 
1086     # KStars Lite sources
1087     ${klite_SRCS}
1088     # Generated files
1089     ${libkstarstools_ui_klite_SRCS}
1090 )
1091 
1092 # Generate all the necessary QLoggingCategory files
1093 ecm_qt_declare_logging_category(kstars_SRCS HEADER kstars_debug.h IDENTIFIER KSTARS CATEGORY_NAME org.kde.kstars)
1094 ecm_qt_declare_logging_category(kstars_SRCS HEADER indi_debug.h IDENTIFIER KSTARS_INDI CATEGORY_NAME org.kde.kstars.indi)
1095 ecm_qt_declare_logging_category(kstars_SRCS HEADER fits_debug.h IDENTIFIER KSTARS_FITS CATEGORY_NAME org.kde.kstars.fits)
1096 ecm_qt_declare_logging_category(kstars_SRCS HEADER ekos_debug.h IDENTIFIER KSTARS_EKOS CATEGORY_NAME org.kde.kstars.ekos)
1097 ecm_qt_declare_logging_category(kstars_SRCS HEADER ekos_capture_debug.h IDENTIFIER KSTARS_EKOS_CAPTURE CATEGORY_NAME org.kde.kstars.ekos.capture)
1098 ecm_qt_declare_logging_category(kstars_SRCS HEADER ekos_focus_debug.h IDENTIFIER KSTARS_EKOS_FOCUS CATEGORY_NAME org.kde.kstars.ekos.focus)
1099 ecm_qt_declare_logging_category(kstars_SRCS HEADER ekos_align_debug.h IDENTIFIER KSTARS_EKOS_ALIGN CATEGORY_NAME org.kde.kstars.ekos.align)
1100 ecm_qt_declare_logging_category(kstars_SRCS HEADER ekos_guide_debug.h IDENTIFIER KSTARS_EKOS_GUIDE CATEGORY_NAME org.kde.kstars.ekos.guide)
1101 ecm_qt_declare_logging_category(kstars_SRCS HEADER ekos_mount_debug.h IDENTIFIER KSTARS_EKOS_MOUNT CATEGORY_NAME org.kde.kstars.ekos.mount)
1102 ecm_qt_declare_logging_category(kstars_SRCS HEADER ekos_scheduler_debug.h IDENTIFIER KSTARS_EKOS_SCHEDULER CATEGORY_NAME org.kde.kstars.ekos.scheduler)
1103 ecm_qt_declare_logging_category(kstars_SRCS HEADER ekos_analyze_debug.h IDENTIFIER KSTARS_EKOS_ANALYZE CATEGORY_NAME org.kde.kstars.ekos.analyze)
1104 ecm_qt_declare_logging_category(kstars_SRCS HEADER ekos_observatory_debug.h IDENTIFIER KSTARS_EKOS_OBSERVATORY CATEGORY_NAME org.kde.kstars.ekos.observatory)
1105 
1106 ecm_qt_declare_logging_category(kstars_SRCS HEADER catalogsdb_debug.h IDENTIFIER KSTARS_CATALOGS CATEGORY_NAME org.kde.kstars.catalogdb)
1107 
1108 
1109 set( kstars_KCFG_SRCS Options.kcfgc )
1110 
1111 # We cannot generate property up until KF5 Config v5.78.0 or later
1112 if (${KF5_VERSION} VERSION_GREATER_EQUAL "5.78.0")
1113     set(KF5_CONFIG_OK true)
1114     configure_file(
1115         ${CMAKE_CURRENT_SOURCE_DIR}/Options.kcfgc.cmake
1116         ${CMAKE_CURRENT_SOURCE_DIR}/Options.kcfgc
1117     )
1118     kconfig_add_kcfg_files(kstars_SRCS ${kstars_KCFG_SRCS} GENERATE_MOC)
1119     kconfig_add_kcfg_files(kstarslite_SRCS ${kstars_KCFG_SRCS} GENERATE_MOC)
1120 else()
1121     set(KF5_CONFIG_OK false)
1122     configure_file(
1123         ${CMAKE_CURRENT_SOURCE_DIR}/Options.kcfgc.cmake
1124         ${CMAKE_CURRENT_SOURCE_DIR}/Options.kcfgc
1125     )
1126     kconfig_add_kcfg_files(kstars_SRCS ${kstars_KCFG_SRCS})
1127     kconfig_add_kcfg_files(kstarslite_SRCS ${kstars_KCFG_SRCS})
1128 endif()
1129 
1130 ecm_qt_declare_logging_category(kstarslite_SRCS HEADER kstars_debug.h IDENTIFIER KSTARS CATEGORY_NAME org.kde.kstars)
1131 ecm_qt_declare_logging_category(kstarslite_SRCS HEADER fits_debug.h IDENTIFIER KSTARS_FITS CATEGORY_NAME org.kde.kstars.fits)
1132 
1133 IF (UNITY_BUILD)
1134     ENABLE_UNITY_BUILD(kstars kstars_SRCS 10 cpp)
1135     ENABLE_UNITY_BUILD(kstarslite kstarslite_SRCS 10 cpp)
1136 ENDIF ()
1137 
1138 set(kstars_SRCS ${kstars_SRCS} ${fits2_SRCS} ${sep_SRCS} ${gpg_SRCS} ${hough_SRCS} ${hips_manager_SRCS})
1139 set(kstarslite_SRCS ${kstarslite_SRCS} ${fits_klite_SRCS} ${sep_SRCS} ${hough_SRCS} ${fits2_klite_SRCS} ${kstarslite_libtess_SRC})
1140 
1141 IF (NOT ANDROID)
1142     qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.xml kstars.h KStars)
1143     qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.SimClock.xml simclock.h SimClock)
1144     qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.FOV.xml fov.h FOV)
1145 
1146     IF (INDI_FOUND)
1147         # INDI
1148         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.INDI.xml indi/indidbus.h INDIDBus)
1149         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.INDI.GenericDevice.xml indi/indistd.h ISD::GenericDevice)
1150         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.INDI.Dome.xml indi/indidome.h ISD::Dome)
1151         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.INDI.Weather.xml indi/indiweather.h ISD::Weather)
1152         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.INDI.DustCap.xml indi/indidustcap.h ISD::DustCap)
1153         # Ekos
1154         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.Ekos.xml ekos/manager.h Ekos::Manager)
1155         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.Ekos.Capture.xml ekos/capture/capture.h Ekos::Capture)
1156         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.Ekos.Focus.xml ekos/focus/focus.h Ekos::Focus)
1157         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.Ekos.Guide.xml ekos/guide/guide.h Ekos::Guide)
1158         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.Ekos.Align.xml ekos/align/align.h Ekos::Align)
1159         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.Ekos.Mount.xml ekos/mount/mount.h Ekos::Mount)
1160         qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.Ekos.Scheduler.xml ekos/scheduler/scheduler.h Ekos::Scheduler)
1161         # TODO enable back observatory
1162         #qt5_add_dbus_adaptor(kstars_SRCS org.kde.kstars.Ekos.Observatory.xml ekos/observatory/observatory.h Ekos::Observatory)
1163     ENDIF ()
1164 
1165     ki18n_wrap_ui(kstars_SRCS
1166         ${indiui_SRCS}
1167         ${ui_SRCS}
1168         ${fitsui_SRCS}
1169         ${ekosui_SRCS}
1170         ${xplanetui_SRCS}
1171         ${kstars_optionsui_SRCS}
1172         ${kstars_dialogsui_SRCS}
1173         ${printingui_SRCS}
1174         auxiliary/thumbnailpicker.ui
1175         auxiliary/thumbnaileditor.ui
1176         oal/observeradd.ui
1177         oal/equipmentwriter.ui
1178         oal/execute.ui
1179         hips/opships.ui
1180         hips/opshipsdisplay.ui
1181         hips/opshipscache.ui
1182         #skycomponents/notifyupdatesui.ui
1183     )
1184 
1185     add_library(KStarsLib STATIC ${kstars_SRCS})
1186 
1187     if (BUILD_PYKSTARS)
1188       set_target_properties(KStarsLib PROPERTIES POSITION_INDEPENDENT_CODE ON)
1189     endif ()
1190 
1191     include(GenerateExportHeader)
1192     generate_export_header(KStarsLib)
1193 
1194     target_link_libraries(KStarsLib
1195         LibKSDataHandlers
1196         htmesh
1197         KF5::Crash
1198         KF5::I18n
1199         KF5::NewStuff
1200         KF5::KIOFileWidgets
1201         KF5::WidgetsAddons
1202         KF5::Plotting
1203         KF5::Notifications
1204         Qt5::Gui
1205         Qt5::PrintSupport
1206         Qt5::Sql
1207         Qt5::Svg
1208         Qt5::Qml
1209         Qt5::Quick
1210         Qt5::Network
1211         #Qt5::Positioning
1212         Qt5::Concurrent
1213         Qt5::WebSockets
1214         ${ZLIB_LIBRARIES}
1215         Eigen3::Eigen
1216         )
1217 
1218     if (Qt5Keychain_FOUND)
1219         target_include_directories(KStarsLib PUBLIC ${QTKEYCHAIN_INCLUDE_DIRS})
1220         target_link_libraries(KStarsLib ${QTKEYCHAIN_LIBRARIES})
1221     endif(Qt5Keychain_FOUND)
1222 
1223     if (Qt5DataVisualization_FOUND)
1224         target_link_libraries(KStarsLib Qt5::DataVisualization)
1225     endif(Qt5DataVisualization_FOUND)
1226 
1227     if (KF5NotifyConfig_FOUND)
1228         target_link_libraries(KStarsLib KF5::NotifyConfig)
1229     endif(KF5NotifyConfig_FOUND)
1230 
1231     if(NOT WIN32)
1232         target_link_libraries(KStarsLib m)
1233     endif(NOT WIN32)
1234 ENDIF ()
1235 
1236 if (BUILD_KSTARS_LITE)
1237     add_library(KStarsLiteLib STATIC ${kstarslite_SRCS})
1238     target_link_libraries(KStarsLiteLib
1239         LibKSDataHandlers
1240         htmesh
1241         KF5::I18n
1242         KF5::Plotting
1243         KF5::ConfigGui
1244         Qt5::Gui
1245         Qt5::Sql
1246         Qt5::Qml
1247         Qt5::Quick
1248         Qt5::QuickControls2
1249         Qt5::Positioning
1250         Qt5::PositioningQuick
1251         Qt5::Concurrent
1252         ${ZLIB_LIBRARIES}
1253         )
1254 
1255     if (ANDROID)
1256         target_link_libraries(KStarsLiteLib Qt5::AndroidExtras)
1257     endif ()
1258 
1259 endif ()
1260 
1261 
1262 if (CFITSIO_FOUND)
1263     if (NOT ANDROID)
1264         target_include_directories(KStarsLib PUBLIC ${CFITSIO_INCLUDE_DIR})
1265         target_link_libraries(KStarsLib ${CFITSIO_LIBRARIES})
1266     endif()
1267     if (BUILD_KSTARS_LITE)
1268         target_include_directories(KStarsLiteLib PUBLIC ${CFITSIO_INCLUDE_DIR})
1269         target_link_libraries(KStarsLiteLib ${CFITSIO_LIBRARIES})
1270     endif()
1271 endif(CFITSIO_FOUND)
1272 
1273 if(INDI_FOUND)
1274     if (NOT ANDROID)
1275         find_package(Nova REQUIRED)
1276         include_directories(${NOVA_INCLUDE_DIR})
1277     endif ()
1278 
1279     ## Support Multiple Platforms. All Require INDI
1280     ## WIN32 Desktop: Requires INDI Qt5 Client + GSL
1281     ## WIN32 Lite: Requires INDI Qt5 Client
1282     ## Linux + MacOS Desktop: Requires INDI Client + GSL
1283     ## Linux + MacOS Lite: Requires INDI Qt5 Client
1284     ## Android: Requires INDI Qt5 Client built for Android
1285     if (NOT ANDROID)
1286         # GSL
1287         find_package(GSL REQUIRED)
1288         include_directories(${GSL_INCLUDE_DIRS})
1289         target_link_libraries(KStarsLib ${GSL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} KF5::Notifications)
1290         # StellarSolver
1291         target_link_libraries(KStarsLib StellarSolver::stellarsolver)
1292     endif ()
1293 
1294     if(WIN32 OR ANDROID)
1295         if(ANDROID)
1296             target_link_libraries(KStarsLiteLib ${INDI_CLIENT_ANDROID_LIBRARIES} ${CFITSIO_LIBRARIES} ${LIBRAW_LIBRARIES})
1297             target_compile_options(KStarsLiteLib PRIVATE ${KSTARSLITE_CPP_OPTIONS} -DUSE_QT5_INDI -DKSTARS_LITE)
1298         else(ANDROID)
1299             target_link_libraries(KStarsLib ${INDI_CLIENT_LIBRARIES} ${NOVA_LIBRARIES})
1300         endif(ANDROID)
1301     else(WIN32 OR ANDROID)
1302         if (BUILD_KSTARS_LITE)
1303             target_link_libraries(KStarsLiteLib ${INDI_CLIENT_QT_LIBRARIES} ${NOVA_LIBRARIES} z)
1304             target_compile_options(KStarsLiteLib PRIVATE ${KSTARSLITE_CPP_OPTIONS} -DUSE_QT5_INDI -DKSTARS_LITE)
1305         endif(BUILD_KSTARS_LITE)
1306         target_link_libraries(KStarsLib ${INDI_CLIENT_LIBRARIES} ${NOVA_LIBRARIES} z)
1307     endif(WIN32 OR ANDROID)
1308 
1309 endif(INDI_FOUND)
1310 
1311 if(WCSLIB_FOUND)
1312     target_link_libraries(KStarsLib ${WCSLIB_LIBRARIES})
1313     if (BUILD_KSTARS_LITE)
1314         target_link_libraries(KStarsLiteLib ${WCSLIB_LIBRARIES})
1315     endif()
1316 endif (WCSLIB_FOUND)
1317 
1318 if(LibRaw_FOUND)
1319     if (NOT ANDROID)
1320         target_link_libraries(KStarsLib ${LibRaw_LIBRARIES})
1321     endif()
1322     if (BUILD_KSTARS_LITE)
1323         target_link_libraries(KStarsLiteLib ${LibRaw_LIBRARIES})
1324     endif()
1325 endif (LibRaw_FOUND)
1326 
1327 # Link libnova if found
1328 if (NOVA_FOUND)
1329     target_link_libraries(KStarsLib ${NOVA_LIBRARIES})
1330 endif()
1331 
1332 #FIXME Enable OpenGL Later
1333 #if( OPENGL_FOUND )
1334 #    target_link_libraries(KStarsLib
1335 #    ${OPENGL_LIBRARIES}
1336 #    ${QT_QTOPENGL_LIBRARY}
1337 #    )
1338 #endif( OPENGL_FOUND )
1339 
1340 set (KSTARS_APP_SRCS
1341     main.cpp
1342 )
1343 
1344 # add icon to application sources
1345 ecm_add_app_icon(KSTARS_APP_SRCS ICONS
1346     ${CMAKE_CURRENT_SOURCE_DIR}/icons/16-apps-kstars.png
1347     ${CMAKE_CURRENT_SOURCE_DIR}/icons/32-apps-kstars.png
1348     ${CMAKE_CURRENT_SOURCE_DIR}/icons/48-apps-kstars.png
1349     ${CMAKE_CURRENT_SOURCE_DIR}/icons/64-apps-kstars.png
1350     ${CMAKE_CURRENT_SOURCE_DIR}/icons/128-apps-kstars.png
1351 )
1352 
1353 qt5_add_resources(KSTARS_APP_SRCS data/kstars.qrc)
1354 
1355 if (ANDROID)
1356     add_library(kstars SHARED ${KSTARS_APP_SRCS})
1357     target_compile_options(kstars PRIVATE ${KSTARSLITE_CPP_OPTIONS} -DUSE_QT5_INDI -DKSTARS_LITE)
1358     add_dependencies(KStarsLiteLib cfitsio indi raw)
1359     target_link_libraries(kstars KStarsLiteLib)
1360 else ()
1361     if (BUILD_KSTARS_LITE)
1362         add_executable(kstars_lite ${KSTARS_APP_SRCS})
1363         target_compile_options(kstars_lite PRIVATE ${KSTARSLITE_CPP_OPTIONS} -DUSE_QT5_INDI -DKSTARS_LITE)
1364         target_link_libraries(kstars_lite KStarsLiteLib)
1365     endif()
1366     add_executable(kstars ${KSTARS_APP_SRCS})
1367     target_link_libraries(kstars KStarsLib)
1368 endif ()
1369 
1370 if(APPLE)
1371     if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files)
1372         message(STATUS "Updating KStars Mac Files")
1373         execute_process(COMMAND "git" "pull"
1374             WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files")
1375     else(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files)
1376         message(STATUS "Downloading KStars Mac Files")
1377         execute_process(COMMAND "git" "clone" "https://github.com/rlancaste/kstars-mac-files.git"
1378             WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
1379     endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files)
1380 
1381     set(KSTARS_APP "${CMAKE_BINARY_DIR}/bin/KStars.app")
1382     execute_process(COMMAND ${CMAKE_COMMAND}
1383                     -DBUNDLED_DATA_LOCATION=${CMAKE_BINARY_DIR}/bin/KStars.app/Contents/Resources
1384                     ${CMAKE_CURRENT_SOURCE_DIR}/data
1385                     WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/kstars/data")
1386     execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install
1387                     WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/kstars/data")
1388     file(COPY
1389         "${CMAKE_CURRENT_SOURCE_DIR}/data/qml"
1390         DESTINATION "${KSTARS_APP}/Contents/Resources/kstars/")
1391     file(COPY
1392         "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files/icons"
1393         DESTINATION "${KSTARS_APP}/Contents/Resources/")
1394     file(COPY
1395         "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files/dbus"
1396         DESTINATION "${KSTARS_APP}/Contents/Plugins/")
1397     file(COPY
1398         "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files/gsc"
1399         DESTINATION "${KSTARS_APP}/Contents/MacOS/")
1400     file(COPY
1401         "${CMAKE_CURRENT_SOURCE_DIR}/kstars.notifyrc"
1402         DESTINATION "${KSTARS_APP}/Contents/Resources/knotifications5/")
1403     file(COPY
1404         "${CMAKE_CURRENT_SOURCE_DIR}/kstars.kcfg"
1405         DESTINATION "${KSTARS_APP}/Contents/Resources/")
1406 
1407     find_program(DBUS_SEND dbus-send PATHS ${PATHS})
1408     if(NOT DBUS_SEND)
1409         message(WARNING "DBUS Send program not found in Path, DBUS, KStars Scripting, and the Scheduler won't work without it.")
1410     else(NOT DBUS_SEND)
1411         file(COPY
1412             "${DBUS_SEND}"
1413             DESTINATION "${KSTARS_APP}/Contents/MacOS/")
1414     endif(NOT DBUS_SEND)
1415 
1416     find_program(DBUS_DAEMON dbus-daemon PATHS ${PATHS})
1417     if(NOT DBUS_DAEMON)
1418         message(WARNING "DBUS Daemon program not found in Path, DBUS, KStars Scripting, and the Scheduler won't work without it.")
1419     else(NOT DBUS_DAEMON)
1420         file(COPY
1421             "${DBUS_DAEMON}"
1422             DESTINATION "${KSTARS_APP}/Contents/MacOS/")    
1423     endif(NOT DBUS_DAEMON)
1424 
1425     find_program(XPLANET xplanet PATHS ${PATHS})
1426     if(NOT XPLANET)
1427         message(WARNING "X Planet program not found in Path, the XPlanet Solar System Simulator won't work without it.")
1428     else(NOT XPLANET)
1429         file(COPY
1430             "${XPLANET}"
1431             DESTINATION "${KSTARS_APP}/Contents/MacOS/")
1432     endif(NOT XPLANET)
1433 
1434     find_program(INDI_SERVER indiserver PATHS ${PATHS})
1435     if(NOT INDI_SERVER)
1436         message(WARNING "indiserver program and drivers not found, you can't run local indi drivers without it.")
1437     else(NOT INDI_SERVER)
1438         get_filename_component(INDI_DRIVERS_DIR "${INDI_SERVER}" DIRECTORY)
1439         # INDISERVER
1440         file(COPY
1441             "${INDI_SERVER}"
1442             DESTINATION "${KSTARS_APP}/Contents/MacOS/")
1443         # INDI Drivers
1444         file(GLOB INDI_DRIVERS
1445             "${INDI_DRIVERS_DIR}/indi*"
1446           )
1447         list(FILTER INDI_DRIVERS EXCLUDE REGEX "dSYM$")
1448         file(COPY ${INDI_DRIVERS} DESTINATION "${KSTARS_APP}/Contents/MacOS/")
1449         # Driver Support Files (Note: On some installations it is in the install prefix, in others in the /usr/local/lib directory)
1450         if(EXISTS "${CMAKE_INSTALL_PREFIX}/usr/local/lib/indi/DriverSupport")
1451             file(COPY "${CMAKE_INSTALL_PREFIX}/usr/local/lib/indi/DriverSupport" DESTINATION "${KSTARS_APP}/Contents/Resources/")
1452         elseif(EXISTS "/usr/local/lib/indi/DriverSupport")
1453             file(COPY "/usr/local/lib/indi/DriverSupport" DESTINATION "${KSTARS_APP}/Contents/Resources/")
1454         endif(EXISTS "${CMAKE_INSTALL_PREFIX}/usr/local/lib/indi/DriverSupport")
1455         file(GLOB XML_FILES
1456             "${CMAKE_INSTALL_PREFIX}/share/indi/*"
1457           )
1458         file(COPY ${XML_FILES} DESTINATION "${KSTARS_APP}/Contents/Resources/DriverSupport/")
1459         file(COPY "${CMAKE_INSTALL_PREFIX}/lib/indi/MathPlugins" DESTINATION "${KSTARS_APP}/Contents/Resources/")
1460         # GPHOTO Stuff
1461         #execute_process(COMMAND "pkg-config --modversion libgphoto2" OUTPUT_VARIABLE GPHOTO_VERSION)
1462         set(GPHOTO_VERSION "2.5.27")
1463         set(PORT_VERSION "0.12.0")
1464         file(GLOB IOLIBS
1465             "${CMAKE_INSTALL_PREFIX}/lib/libgphoto2_port/${PORT_VERSION}/*"
1466           )
1467         list(FILTER IOLIBS EXCLUDE REGEX "dSYM$")
1468         file(COPY ${IOLIBS} DESTINATION "${KSTARS_APP}/Contents/Resources/DriverSupport/gphoto/IOLIBS/")
1469         file(GLOB CAMLIBS
1470             "${CMAKE_INSTALL_PREFIX}/lib/libgphoto2/${GPHOTO_VERSION}/*"
1471           )
1472         list(FILTER CAMLIBS EXCLUDE REGEX "dSYM$")
1473         file(COPY ${CAMLIBS} DESTINATION "${KSTARS_APP}/Contents/Resources/DriverSupport/gphoto/CAMLIBS/")
1474     endif(NOT INDI_SERVER)
1475 
1476     execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "tar" "xvz" "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files/phonon/FrameworksForVLC.zip"
1477         WORKING_DIRECTORY "${KSTARS_APP}/Contents/")
1478     execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "tar" "xvz" "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files/phonon/backend.zip"
1479         WORKING_DIRECTORY "${KSTARS_APP}/Contents/Plugins/")
1480     execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "tar" "xvz" "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files/phonon/vlc.zip"
1481         WORKING_DIRECTORY "${KSTARS_APP}/Contents/Plugins/")
1482     execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "tar" "xvz" "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files/xplanet-data.zip"
1483         WORKING_DIRECTORY "${KSTARS_APP}/Contents/Resources/kstars/")
1484     execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "tar" "xvz" "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files/sounds.zip"
1485         WORKING_DIRECTORY "${KSTARS_APP}/Contents/Resources/")
1486     execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "tar" "xvz" "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files/locale.zip"
1487         WORKING_DIRECTORY "${KSTARS_APP}/Contents/Resources/")
1488     set(KSTARS_VERSION "${KStars_VERSION_MAJOR}.${KStars_VERSION_MINOR}.${KStars_VERSION_REVISION}")
1489     execute_process(COMMAND date "+%Y" OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE THIS-YEAR)
1490     set_target_properties(kstars PROPERTIES
1491         MACOSX_BUNDLE TRUE
1492         MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/kstars-mac-files/macosbundle.plist.in"
1493     )
1494 endif(APPLE)
1495 
1496 if (BUILD_PYKSTARS)
1497   add_subdirectory(python)
1498 endif()
1499 
1500 install(TARGETS kstars ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
1501 
1502 ########### install files ###############
1503 if(NOT APPLE) # The desktop file is not needed on MacOS and the other two are bundled above
1504 install(PROGRAMS org.kde.kstars.desktop DESTINATION ${KDE_INSTALL_APPDIR})
1505 install(FILES kstars.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR})
1506 install(FILES kstars.notifyrc DESTINATION ${KNOTIFYRC_INSTALL_DIR})
1507 endif(NOT APPLE)
1508 
1509 if(INDI_FOUND)
1510 #install(FILES ekos/mount/mountbox.qml DESTINATION  ${KDE_INSTALL_DATADIR}/kstars/ekos/mount/qml)
1511 #install(DIRECTORY ekos/mount/ DESTINATION ${KDE_INSTALL_DATADIR}/kstars/ekos/mount/qml
1512 #        FILES_MATCHING PATTERN "*.png")
1513 endif()
1514 
1515 if (NOT ANDROID AND BUILD_KSTARS_LITE)
1516     install(TARGETS kstars_lite ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
1517 endif()