/[svn]/qsampler/trunk/src/CMakeLists.txt
ViewVC logotype

Diff of /qsampler/trunk/src/CMakeLists.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3570 by capela, Mon Aug 26 13:49:09 2019 UTC revision 4026 by capela, Sun Feb 27 15:19:38 2022 UTC
# Line 1  Line 1 
1  set(NAME qsampler)  # project (qsampler)
2    
3  include_directories (  set (CMAKE_INCLUDE_CURRENT_DIR ON)
   ${CMAKE_CURRENT_BINARY_DIR}  
   ${CMAKE_CURRENT_SOURCE_DIR}  
   ${QT_INCLUDES}  
 )  
   
 link_directories (  
   ${CMAKE_CURRENT_BINARY_DIR}  
   ${QT_LIBRARY_DIR}  
 )  
4    
5  configure_file (cmake_config.h ${CMAKE_CURRENT_BINARY_DIR}/config.h)  set (CMAKE_AUTOUIC ON)
6    set (CMAKE_AUTOMOC ON)
7    set (CMAKE_AUTORCC ON)
8    
9  configure_file (${NAME}.desktop ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.desktop)  if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
10      file (REMOVE ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
11    endif ()
12    configure_file (config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
13    
14  set (HEADERS  set (HEADERS
15    qsampler.h    qsampler.h
# Line 35  set (HEADERS Line 31  set (HEADERS
31    qsamplerChannelForm.h    qsamplerChannelForm.h
32    qsamplerChannelFxForm.h    qsamplerChannelFxForm.h
33    qsamplerOptionsForm.h    qsamplerOptionsForm.h
34      qsamplerPaletteForm.h
35    qsamplerMainForm.h    qsamplerMainForm.h
36  )  )
37    
# Line 57  set (SOURCES Line 54  set (SOURCES
54    qsamplerChannelForm.cpp    qsamplerChannelForm.cpp
55    qsamplerChannelFxForm.cpp    qsamplerChannelFxForm.cpp
56    qsamplerOptionsForm.cpp    qsamplerOptionsForm.cpp
57      qsamplerPaletteForm.cpp
58    qsamplerMainForm.cpp    qsamplerMainForm.cpp
59  )  )
60    
# Line 68  set (FORMS Line 66  set (FORMS
66    qsamplerChannelForm.ui    qsamplerChannelForm.ui
67    qsamplerChannelFxForm.ui    qsamplerChannelFxForm.ui
68    qsamplerOptionsForm.ui    qsamplerOptionsForm.ui
69      qsamplerPaletteForm.ui
70    qsamplerMainForm.ui    qsamplerMainForm.ui
71  )  )
72    
# Line 81  set (TRANSLATIONS Line 80  set (TRANSLATIONS
80    translations/qsampler_ru.ts    translations/qsampler_ru.ts
81  )  )
82    
83  qt5_add_translation ( QM_FILES ${TRANSLATIONS} )  if (QT_VERSION VERSION_LESS 5.15.0)
84  add_custom_target( translations ALL DEPENDS ${QM_FILES} )    qt5_add_translation (QM_FILES ${TRANSLATIONS})
85    else ()
86      qt_add_translation (QM_FILES ${TRANSLATIONS})
87    endif ()
88    
89  qt5_wrap_ui (UI_SOURCES ${FORMS})  add_custom_target (translations ALL DEPENDS ${QM_FILES})
 qt5_wrap_cpp (MOC_SOURCES ${HEADERS})  
 qt5_add_resources (QRC_SOURCES ${RESOURCES})  
90    
91  if (WIN32)  if (WIN32)
92    set (RC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/win32/${NAME}.rc)    set (RC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/win32/${PROJECT_NAME}.rc)
93    set (RES_FILE ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.res.obj)    set (RES_FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.res.obj)
94    find_program (WINDRES_EXECUTABLE NAMES windres mingw32-windres i686-mingw32-windres)    find_program (WINDRES_EXECUTABLE NAMES windres mingw32-windres i686-mingw32-windres)
95    if (MINGW)    if (MINGW)
96      exec_program (${WINDRES_EXECUTABLE}      exec_program (${WINDRES_EXECUTABLE}
# Line 102  if (WIN32) Line 102  if (WIN32)
102  endif ()  endif ()
103    
104  if (APPLE)  if (APPLE)
105    set (ICON_FILE ${CMAKE_CURRENT_SOURCE_DIR}/images/${NAME}.icns)    set (ICON_FILE ${CMAKE_CURRENT_SOURCE_DIR}/images/${PROJECT_NAME}.icns)
106    list (APPEND SOURCES ${ICON_FILE})    list (APPEND SOURCES ${ICON_FILE})
107    set (MACOSX_BUNDLE_ICON_FILE ${NAME}.icns)    set (MACOSX_BUNDLE_ICON_FILE ${PROJECT_NAME}.icns)
108    set_source_files_properties (${ICON_FILE} PROPERTIES    set_source_files_properties (${ICON_FILE} PROPERTIES
109      MACOSX_PACKAGE_LOCATION Resources)      MACOSX_PACKAGE_LOCATION Resources)
110  endif ()  endif ()
111    
112    
113  add_executable (${NAME}  add_executable (${PROJECT_NAME}
114    ${UI_SOURCES}    ${HEADERS}
   ${MOC_SOURCES}  
   ${QRC_SOURCES}  
115    ${SOURCES}    ${SOURCES}
116      ${FORMS}
117      ${RESOURCES}
118  )  )
119    
120    # Add some debugger flags.
121    if (CONFIG_DEBUG AND UNIX AND NOT APPLE)
122      set (CONFIG_DEBUG_OPTIONS -g -fsanitize=address -fno-omit-frame-pointer)
123      target_compile_options (${PROJECT_NAME} PRIVATE ${CONFIG_DEBUG_OPTIONS})
124      target_link_options (${PROJECT_NAME} PRIVATE ${CONFIG_DEBUG_OPTIONS})
125    endif ()
126    
127    set_target_properties (${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
128    
129  if (WIN32)  if (WIN32)
130    set_target_properties ($[NAME} PROPERTIES WIN32_EXECUTABLE true)    set_target_properties (${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE true)
131  endif ()  endif ()
132    
133  if (APPLE)  if (APPLE)
134    set_target_properties ($[NAME} PROPERTIES MACOSX_BUNDLE true)    set_target_properties (${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true)
135  endif ()  endif ()
136    
137  target_compile_options (${NAME} PRIVATE -std=c++11)  target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
   
 target_link_libraries (${NAME} PRIVATE Qt5::Widgets)  
138    
139  if (CONFIG_XUNIQUE)  if (CONFIG_XUNIQUE)
140    target_link_libraries (${NAME} PRIVATE Qt5::Network)    target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Network)
141  endif ()  endif ()
142    
143  if (CONFIG_LIBLSCP)  if (CONFIG_LIBLSCP)
144    target_link_libraries (${NAME} PRIVATE ${LSCP_LIBRARIES})    target_link_libraries (${PROJECT_NAME} PRIVATE PkgConfig::LSCP)
145  endif ()  endif ()
146    
147  if (CONFIG_LIBGIG)  if (CONFIG_LIBGIG)
148    target_link_libraries (${NAME} PRIVATE ${GIG_LIBRARIES})    target_link_libraries (${PROJECT_NAME} PRIVATE PkgConfig::GIG)
149  endif ()  endif ()
150    
151    
152  if (UNIX AND NOT APPLE)  if (UNIX AND NOT APPLE)
153    install (TARGETS ${NAME} RUNTIME    install (TARGETS ${PROJECT_NAME} RUNTIME
154       DESTINATION ${CMAKE_INSTALL_BINDIR})      DESTINATION ${CMAKE_INSTALL_BINDIR})
155    install (FILES ${QM_FILES}    install (FILES ${QM_FILES}
156       DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations)      DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/translations)
157    install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.desktop    install (FILES images/${PROJECT_NAME}.png
158       DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)      RENAME org.rncbc.${PROJECT_NAME}.png
159    install (FILES images/${NAME}.png      DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps)
160       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps)    install (FILES images/${PROJECT_NAME}.svg
161    install (FILES images/${NAME}.svg      RENAME org.rncbc.${PROJECT_NAME}.svg
162       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps)      DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps)
163    install (FILES appdata/${NAME}.appdata.xml    install (FILES appdata/org.rncbc.${PROJECT_NAME}.desktop
164       DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)      DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
165    install (FILES mimetypes/${NAME}.xml    install (FILES appdata/org.rncbc.${PROJECT_NAME}.metainfo.xml
166       DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages)      DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
167    install (FILES mimetypes/application-x-${NAME}-session.png    install (FILES mimetypes/org.rncbc.${PROJECT_NAME}.xml
168       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/mimetypes)      DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages)
169    install (FILES mimetypes/application-x-${NAME}-session.svg    install (FILES mimetypes/application-x-${PROJECT_NAME}-session.png
170       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/mimetypes)      DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/mimetypes)
171      install (FILES mimetypes/application-x-${PROJECT_NAME}-session.svg
172        DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/mimetypes)
173  endif ()  endif ()
174    
175  if (WIN32)  if (WIN32)
176     install (TARGETS ${NAME} RUNTIME     install (TARGETS ${PROJECT_NAME} RUNTIME
177       DESTINATION ${CMAKE_CURRENT_BINARY_DIR})       DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
178     install (FILES ${QM_FILES}     install (FILES ${QM_FILES}
179       DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations)       DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/translations)
180  endif ()  endif ()

Legend:
Removed from v.3570  
changed lines
  Added in v.4026

  ViewVC Help
Powered by ViewVC