--- qsampler/trunk/src/CMakeLists.txt 2019/08/25 14:17:00 3568 +++ qsampler/trunk/src/CMakeLists.txt 2019/09/01 20:01:03 3589 @@ -1,31 +1,12 @@ +set(NAME qsampler) include_directories ( - ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} - ${QT_INCLUDES} -) - -link_directories ( ${CMAKE_CURRENT_BINARY_DIR} - ${QT_LIBRARY_DIR} ) -if (CONFIG_LIBLSCP) - include_directories (${LSCP_INCLUDE_DIRS}) - link_directories (${LSCP_LIBRARY_DIRS}) -endif () - -if (CONFIG_LIBGIG) - include_directories (${GIG_INCLUDE_DIRS}) - link_directories (${GIG_LIBRARY_DIRS}) -endif () - configure_file (cmake_config.h ${CMAKE_CURRENT_BINARY_DIR}/config.h) -set (ac_prefix ${CMAKE_INSTALL_PREFIX}) - -configure_file (qsampler.desktop ${CMAKE_CURRENT_BINARY_DIR}/qsampler.desktop) - set (HEADERS qsampler.h qsamplerAbout.h @@ -99,33 +80,84 @@ qt5_wrap_cpp (MOC_SOURCES ${HEADERS}) qt5_add_resources (QRC_SOURCES ${RESOURCES}) -add_executable (qsampler +if (WIN32) + set (RC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/win32/${NAME}.rc) + set (RES_FILE ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.res.obj) + find_program (WINDRES_EXECUTABLE NAMES windres mingw32-windres i686-mingw32-windres) + if (MINGW) + exec_program (${WINDRES_EXECUTABLE} + ARGS "-i ${RC_FILE} -o ${RES_FILE} --include-dir=${CMAKE_CURRENT_SOURCE_DIR}/images") + list (APPEND SOURCES ${RES_FILE}) + else () + list (APPEND SOURCES ${RC_FILE}) + endif () +endif () + +if (APPLE) + set (ICON_FILE ${CMAKE_CURRENT_SOURCE_DIR}/images/${NAME}.icns) + list (APPEND SOURCES ${ICON_FILE}) + set (MACOSX_BUNDLE_ICON_FILE ${NAME}.icns) + set_source_files_properties (${ICON_FILE} PROPERTIES + MACOSX_PACKAGE_LOCATION Resources) +endif () + + +add_executable (${NAME} ${UI_SOURCES} ${MOC_SOURCES} ${QRC_SOURCES} ${SOURCES} ) -target_link_libraries (qsampler - ${QT_LIBRARIES} - ${LSCP_LIBRARIES} -) +set_target_properties (${NAME} PROPERTIES CXX_STANDARD 11) + +if (WIN32) + set_target_properties (${NAME} PROPERTIES WIN32_EXECUTABLE true) +endif () + +if (APPLE) + set_target_properties (${NAME} PROPERTIES MACOSX_BUNDLE true) +endif () + +target_link_libraries (${NAME} PRIVATE Qt5::Widgets) + +if (CONFIG_XUNIQUE) + target_link_libraries (${NAME} PRIVATE Qt5::Network) +endif () + +if (CONFIG_LIBLSCP) + target_link_libraries (${NAME} PRIVATE ${LSCP_LIBRARIES}) +endif () if (CONFIG_LIBGIG) - target_link_libraries (qsampler ${GIG_LIBRARIES}) + target_link_libraries (${NAME} PRIVATE ${GIG_LIBRARIES}) endif () -qt5_use_modules (qsampler Core Gui Widgets Network) if (UNIX AND NOT APPLE) - install (TARGETS qsampler - RUNTIME DESTINATION bin) + install (TARGETS ${NAME} RUNTIME + DESTINATION ${CMAKE_INSTALL_BINDIR}) install (FILES ${QM_FILES} - DESTINATION share/qsampler/translations) - install (FILES ${CMAKE_CURRENT_BINARY_DIR}/qsampler.desktop - DESTINATION share/applications) - install (FILES images/qsampler.png - DESTINATION share/pixmaps) - install (FILES appdata/qsampler.appdata.xml - DESTINATION share/metainfo) + DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations) + install (FILES ${NAME}.desktop + DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) + install (FILES images/${NAME}.png + DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps) + install (FILES images/${NAME}.svg + DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps) + install (FILES appdata/${NAME}.appdata.xml + DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo) + install (FILES mimetypes/${NAME}.xml + DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages) + install (FILES mimetypes/application-x-${NAME}-session.png + DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/mimetypes) + install (FILES mimetypes/application-x-${NAME}-session.svg + DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/mimetypes) +endif () + +if (WIN32) + install (TARGETS ${NAME} RUNTIME + DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + install (FILES ${QM_FILES} + DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations) endif ()