--- qsampler/trunk/src/CMakeLists.txt 2019/08/25 21:47:56 3569 +++ qsampler/trunk/src/CMakeLists.txt 2019/08/26 13:49:09 3570 @@ -1,3 +1,4 @@ +set(NAME qsampler) include_directories ( ${CMAKE_CURRENT_BINARY_DIR} @@ -12,9 +13,7 @@ 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) +configure_file (${NAME}.desktop ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.desktop) set (HEADERS qsampler.h @@ -89,45 +88,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} -) +if (WIN32) + set_target_properties ($[NAME} PROPERTIES WIN32_EXECUTABLE true) +endif () -if (CONFIG_LIBGIG) - target_link_libraries (qsampler ${GIG_LIBRARIES}) +if (APPLE) + set_target_properties ($[NAME} PROPERTIES MACOSX_BUNDLE true) endif () -qt5_use_modules (qsampler Core Gui Widgets) +target_compile_options (${NAME} PRIVATE -std=c++11) + +target_link_libraries (${NAME} PRIVATE Qt5::Widgets) if (CONFIG_XUNIQUE) - qt5_use_modules (qsampler Network) + 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 (${NAME} PRIVATE ${GIG_LIBRARIES}) +endif () + + if (UNIX AND NOT APPLE) - install (TARGETS qsampler RUNTIME + install (TARGETS ${NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install (FILES ${QM_FILES} - DESTINATION ${CMAKE_INSTALL_DATADIR}/qsampler/translations) - install (FILES ${CMAKE_CURRENT_BINARY_DIR}/qsampler.desktop + DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations) + install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) - install (FILES images/qsampler.png + install (FILES images/${NAME}.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps) - install (FILES images/qsampler.svg + install (FILES images/${NAME}.svg DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps) - install (FILES appdata/qsampler.appdata.xml + install (FILES appdata/${NAME}.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo) - install (FILES mimetypes/qsampler.xml + install (FILES mimetypes/${NAME}.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages) - install (FILES mimetypes/application-x-qsampler-session.png + install (FILES mimetypes/application-x-${NAME}-session.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/mimetypes) - install (FILES mimetypes/application-x-qsampler-session.svg + 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 ()