add first Qt6 version of musredit, mupp, etc.

This commit is contained in:
2021-01-22 22:04:11 +01:00
parent acb1b1542a
commit 01957630e8
358 changed files with 59153 additions and 47 deletions

View File

@@ -0,0 +1,107 @@
#--- mupp for Qt > 6.0 --------------------------------------------------------
#--- Find includes in corresponding build directories -------------------------
set(CMAKE_INCLUDE_CURRENT_DIR ON)
#--- instruct CMake to run moc automatically when needed ----------------------
set(CMAKE_AUTOMOC ON)
#--- define mupp version ------------------------------------------------------
set(mupp_VERSION 1.0.0)
#--- mupp_version.h generation - START ----------------------------------------
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/cmake/configure_mupp_version_file.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/configure_mupp_version_file.cmake
@ONLY
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mupp_version.h
COMMAND ${CMAKE_COMMAND} -P
${CMAKE_CURRENT_BINARY_DIR}/configure_mupp_version_file.cmake
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/configure_mupp_version_file.cmake
${CMAKE_CURRENT_SOURCE_DIR}/cmake/mupp_version.h.in
COMMENT "Configuring mupp_version.h"
VERBATIM
)
add_custom_target(
configure_mupp_version ALL
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mupp_version.h
)
#--- mupp_version.h generation - END ------------------------------------------
add_subdirectory(plotter)
qt6_add_resources(qrc_mupp.cpp mupp.qrc)
set_property(SOURCE qrc_mupp.cpp PROPERTY SKIP_AUTOMOC ON) # needed for cmake 3.x
set(GENERATED_HEADER_FILES
mupp_version.h
)
set_property(SOURCE mupp_version.h PROPERTY SKIP_AUTOMOC ON) # needed for cmake 3.x
set(MUPP_SOURCE_FILES
mupp.cpp
PmuppAdmin.cpp
Pmupp.cpp
PmuppScript.cpp
PmuppGui.cpp
PVarDialog.cpp
)
if (APPLE)
set(RESOURCE_FILES icons/mupp.icns)
add_executable(mupp
MACOSX_BUNDLE ${GENERATED_HEADER_FILES} ${MUPP_SOURCE_FILES}
qrc_mupp.cpp ${RESOURCE_FILES}
)
else (APPLE)
add_executable(mupp ${GENERATED_HEADER_FILES} ${MUPP_SOURCE_FILES} qrc_mupp.cpp)
endif (APPLE)
#--- compiler option to workaround a little cast problem for some
#--- boost/compiler combinations ----------------------------------------------
target_compile_options(mupp
PRIVATE
"-fpermissive"
)
#--- add the variable related sources -----------------------------------------
add_subdirectory(var)
#--- add the necessary header includes ----------------------------------------
target_include_directories(mupp
BEFORE PRIVATE
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/var/include>
)
#--- use the Widgets and XML modules from Qt5 ---------------------------------
target_link_libraries(mupp Qt6::Widgets Qt6::Xml)
#--- if macOS make an app rather than just a command line executable ----------
set_target_properties(mupp PROPERTIES
VERSION ${mupp_VERSION}
)
if (APPLE)
set_target_properties(mupp PROPERTIES
MACOSX_BUNDLE TRUE
MACOSX_BUNDLE_BUNDLE_NAME "mupp"
MACOSX_BUNDLE_INFO_STRING "mupp is used to plot parameters from musrfit collections."
MACOSX_BUNDLE_ICON_FILE "mupp.icns"
MACOSX_BUNDLE_LONG_VERSION_STRING "${mupp_VERSION}"
MACOSX_FRAMEWORK_IDENTIFIER ch.psi.mupp
MACOSX_BUNDLE_COPYRIGHT "Andreas Suter"
RESOURCE "${RESOURCE_FILES}"
)
endif (APPLE)
#--- install ------------------------------------------------------------------
if (APPLE)
install(TARGETS mupp BUNDLE DESTINATION /Applications)
else (APPLE)
install(TARGETS mupp DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
endif (APPLE)