--- qsampler/trunk/src/CMakeLists.txt 2019/09/01 20:01:03 3589 +++ qsampler/trunk/src/CMakeLists.txt 2021/01/18 12:04:37 3851 @@ -1,11 +1,15 @@ -set(NAME qsampler) +# project(qsampler) -include_directories ( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR} -) +set(CMAKE_INCLUDE_CURRENT_DIR ON) -configure_file (cmake_config.h ${CMAKE_CURRENT_BINARY_DIR}/config.h) +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/config.h) + file(REMOVE ${CMAKE_CURRENT_SOURCE_DIR}/config.h) +endif() +configure_file (cmake_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) set (HEADERS qsampler.h @@ -27,6 +31,7 @@ qsamplerChannelForm.h qsamplerChannelFxForm.h qsamplerOptionsForm.h + qsamplerPaletteForm.h qsamplerMainForm.h ) @@ -49,6 +54,7 @@ qsamplerChannelForm.cpp qsamplerChannelFxForm.cpp qsamplerOptionsForm.cpp + qsamplerPaletteForm.cpp qsamplerMainForm.cpp ) @@ -60,6 +66,7 @@ qsamplerChannelForm.ui qsamplerChannelFxForm.ui qsamplerOptionsForm.ui + qsamplerPaletteForm.ui qsamplerMainForm.ui ) @@ -73,16 +80,17 @@ translations/qsampler_ru.ts ) -qt5_add_translation ( QM_FILES ${TRANSLATIONS} ) -add_custom_target( translations ALL DEPENDS ${QM_FILES} ) +if (QT_VERSION VERSION_LESS 5.15.0) + qt5_add_translation (QM_FILES ${TRANSLATIONS}) +else () + qt_add_translation (QM_FILES ${TRANSLATIONS}) +endif () -qt5_wrap_ui (UI_SOURCES ${FORMS}) -qt5_wrap_cpp (MOC_SOURCES ${HEADERS}) -qt5_add_resources (QRC_SOURCES ${RESOURCES}) +add_custom_target (translations ALL DEPENDS ${QM_FILES}) if (WIN32) - set (RC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/win32/${NAME}.rc) - set (RES_FILE ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.res.obj) + set (RC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/win32/${PROJECT_NAME}.rc) + set (RES_FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.res.obj) find_program (WINDRES_EXECUTABLE NAMES windres mingw32-windres i686-mingw32-windres) if (MINGW) exec_program (${WINDRES_EXECUTABLE} @@ -94,70 +102,70 @@ endif () if (APPLE) - set (ICON_FILE ${CMAKE_CURRENT_SOURCE_DIR}/images/${NAME}.icns) + set (ICON_FILE ${CMAKE_CURRENT_SOURCE_DIR}/images/${PROJECT_NAME}.icns) list (APPEND SOURCES ${ICON_FILE}) - set (MACOSX_BUNDLE_ICON_FILE ${NAME}.icns) + set (MACOSX_BUNDLE_ICON_FILE ${PROJECT_NAME}.icns) set_source_files_properties (${ICON_FILE} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) endif () -add_executable (${NAME} - ${UI_SOURCES} - ${MOC_SOURCES} - ${QRC_SOURCES} +add_executable (${PROJECT_NAME} + ${HEADERS} ${SOURCES} + ${FORMS} + ${RESOURCES} ) -set_target_properties (${NAME} PROPERTIES CXX_STANDARD 11) +set_target_properties (${PROJECT_NAME} PROPERTIES CXX_STANDARD 17) if (WIN32) - set_target_properties (${NAME} PROPERTIES WIN32_EXECUTABLE true) + set_target_properties (${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE true) endif () if (APPLE) - set_target_properties (${NAME} PROPERTIES MACOSX_BUNDLE true) + set_target_properties (${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true) endif () -target_link_libraries (${NAME} PRIVATE Qt5::Widgets) +target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) if (CONFIG_XUNIQUE) - target_link_libraries (${NAME} PRIVATE Qt5::Network) + target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Network) endif () if (CONFIG_LIBLSCP) - target_link_libraries (${NAME} PRIVATE ${LSCP_LIBRARIES}) + target_link_libraries (${PROJECT_NAME} PRIVATE PkgConfig::LSCP) endif () if (CONFIG_LIBGIG) - target_link_libraries (${NAME} PRIVATE ${GIG_LIBRARIES}) + target_link_libraries (${PROJECT_NAME} PRIVATE PkgConfig::GIG) endif () if (UNIX AND NOT APPLE) - install (TARGETS ${NAME} RUNTIME + install (TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install (FILES ${QM_FILES} - DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations) - install (FILES ${NAME}.desktop + DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/translations) + install (FILES ${PROJECT_NAME}.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) - install (FILES images/${NAME}.png + install (FILES images/${PROJECT_NAME}.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps) - install (FILES images/${NAME}.svg + install (FILES images/${PROJECT_NAME}.svg DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps) - install (FILES appdata/${NAME}.appdata.xml + install (FILES appdata/${PROJECT_NAME}.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo) - install (FILES mimetypes/${NAME}.xml + install (FILES mimetypes/${PROJECT_NAME}.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages) - install (FILES mimetypes/application-x-${NAME}-session.png + install (FILES mimetypes/application-x-${PROJECT_NAME}-session.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/mimetypes) - install (FILES mimetypes/application-x-${NAME}-session.svg + install (FILES mimetypes/application-x-${PROJECT_NAME}-session.svg DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/mimetypes) endif () if (WIN32) - install (TARGETS ${NAME} RUNTIME + install (TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) install (FILES ${QM_FILES} - DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations) + DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/translations) endif ()