cmake_minimum_required (VERSION 3.15) project(Tenmon) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s") find_package(Qt5 COMPONENTS Widgets Sql OpenGL REQUIRED) find_package(OpenCV REQUIRED) find_library(GSL_LIB gsl REQUIRED) find_library(GSLCBLAS_LIB gslcblas REQUIRED) find_library(EXIF_LIB exif REQUIRED) find_library(FITS_LIB cfitsio REQUIRED) find_library(RAW_LIB NAMES raw_r REQUIRED) set(TENMON_SRC database.cpp databaseview.cpp filesystemwidget.cpp imageinfo.cpp imageringlist.cpp imagescrollarea.cpp imagescrollareagl.cpp loadrunable.cpp main.cpp mainwindow.cpp rawimage.cpp starfit.cpp stfslider.cpp stretchtoolbar.cpp ) qt5_add_resources(TENMON_SRC resources.qrc) if(WIN32) list(APPEND TENMON_SRC icon.rc) add_compile_definitions("__PCL_WINDOWS") else() add_compile_definitions("__PCL_LINUX") endif() add_executable(tenmon WIN32 ${TENMON_SRC}) find_path(FITS_INCLUDE fitsio2.h PATH_SUFFIXES cfitsio REQUIRED) target_include_directories(tenmon PRIVATE ${OpenCV_INCLUDE_DIRS} ${FITS_INCLUDE} 3rdparty/include) if(WIN32) target_link_directories(tenmon PRIVATE 3rdparty/lib/Windows) else() target_link_directories(tenmon PRIVATE 3rdparty/lib/Linux) endif() target_link_libraries(tenmon Qt5::Widgets Qt5::Sql ${OpenCV_LIBS} ${GSL_LIB} ${GSLCBLAS_LIB} ${EXIF_LIB} ${FITS_LIB} ${RAW_LIB}) target_link_libraries(tenmon PCL lcms lz4 RFC6234 zlib) if(LIBRAW_STATIC) add_compile_definitions("LIBRAW_NODLL") target_link_libraries(tenmon jasper) endif() install(TARGETS tenmon) if(UNIX) find_program(XDG-DESKTOP-MENU_EXECUTABLE xdg-desktop-menu) if(XDG-DESKTOP-MENU_EXECUTABLE) install(SCRIPT install.cmake) else() if(DEFINED ENV{FLATPAK_DEST}) install(FILES org.nou.tenmon.desktop DESTINATION "$ENV{FLATPAK_DEST}/share/applications") install(FILES org.nou.tenmon.png DESTINATION "$ENV{FLATPAK_DEST}/share/icons/hicolor/32x32/apps") else() install(FILES org.nou.tenmon.desktop DESTINATION "/usr/share/applications") install(FILES org.nou.tenmon.png DESTINATION "/usr/share/icons/hicolor/32x32/apps") endif() endif() endif(UNIX)