/[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 3568 by capela, Sun Aug 25 14:17:00 2019 UTC revision 4038 by capela, Sun May 15 18:43:41 2022 UTC
# Line 1  Line 1 
1    # 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  if (CONFIG_LIBLSCP)  set (CMAKE_AUTOUIC ON)
6    include_directories (${LSCP_INCLUDE_DIRS})  set (CMAKE_AUTOMOC ON)
7    link_directories (${LSCP_LIBRARY_DIRS})  set (CMAKE_AUTORCC ON)
 endif ()  
8    
9  if (CONFIG_LIBGIG)  if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
10    include_directories (${GIG_INCLUDE_DIRS})    file (REMOVE ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
   link_directories (${GIG_LIBRARY_DIRS})  
11  endif ()  endif ()
12    configure_file (config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
 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)  
13    
14  set (HEADERS  set (HEADERS
15    qsampler.h    qsampler.h
# Line 46  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 68  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 79  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 92  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    add_custom_target (translations ALL DEPENDS ${QM_FILES})
90    
91    if (WIN32)
92      set (RC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/win32/${PROJECT_NAME}.rc)
93      set (RES_FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.res.obj)
94      find_program (WINDRES_EXECUTABLE NAMES windres mingw32-windres i686-mingw32-windres)
95      if (MINGW)
96        exec_program (${WINDRES_EXECUTABLE}
97          ARGS "-i ${RC_FILE} -o ${RES_FILE} --include-dir=${CMAKE_CURRENT_SOURCE_DIR}/images")
98        list (APPEND SOURCES ${RES_FILE})
99      else ()
100        list (APPEND SOURCES ${RC_FILE})
101      endif ()
102    endif ()
103    
104    if (APPLE)
105      set (ICON_FILE ${CMAKE_CURRENT_SOURCE_DIR}/images/${PROJECT_NAME}.icns)
106      list (APPEND SOURCES ${ICON_FILE})
107      set (MACOSX_BUNDLE_ICON_FILE ${PROJECT_NAME}.icns)
108      set_source_files_properties (${ICON_FILE} PROPERTIES
109        MACOSX_PACKAGE_LOCATION Resources)
110    endif ()
111    
112    
113  qt5_wrap_ui (UI_SOURCES ${FORMS})  add_executable (${PROJECT_NAME}
114  qt5_wrap_cpp (MOC_SOURCES ${HEADERS})    ${HEADERS}
 qt5_add_resources (QRC_SOURCES ${RESOURCES})  
   
 add_executable (qsampler  
   ${UI_SOURCES}  
   ${MOC_SOURCES}  
   ${QRC_SOURCES}  
115    ${SOURCES}    ${SOURCES}
116      ${FORMS}
117      ${RESOURCES}
118  )  )
119    
120  target_link_libraries (qsampler  # Add some debugger flags.
121    ${QT_LIBRARIES}  if (CONFIG_DEBUG AND UNIX AND NOT APPLE)
122    ${LSCP_LIBRARIES}    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)
130      set_target_properties (${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE true)
131    endif ()
132    
133    if (APPLE)
134      set_target_properties (${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true)
135    endif ()
136    
137    target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Svg)
138    
139    if (CONFIG_XUNIQUE)
140      target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Network)
141    endif ()
142    
143    if (CONFIG_LIBLSCP)
144      target_link_libraries (${PROJECT_NAME} PRIVATE PkgConfig::LSCP)
145    endif ()
146    
147  if (CONFIG_LIBGIG)  if (CONFIG_LIBGIG)
148    target_link_libraries (qsampler ${GIG_LIBRARIES})    target_link_libraries (${PROJECT_NAME} PRIVATE PkgConfig::GIG)
149  endif ()  endif ()
150    
 qt5_use_modules (qsampler Core Gui Widgets Network)  
151    
152  if (UNIX AND NOT APPLE)  if (UNIX AND NOT APPLE)
153    install (TARGETS qsampler    install (TARGETS ${PROJECT_NAME} RUNTIME
154       RUNTIME DESTINATION bin)      DESTINATION ${CMAKE_INSTALL_BINDIR})
155    install (FILES ${QM_FILES}    install (FILES ${QM_FILES}
156       DESTINATION share/qsampler/translations)      DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/translations)
157    install (FILES ${CMAKE_CURRENT_BINARY_DIR}/qsampler.desktop    install (FILES images/${PROJECT_NAME}.png
158       DESTINATION share/applications)      RENAME org.rncbc.${PROJECT_NAME}.png
159    install (FILES images/qsampler.png      DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps)
160       DESTINATION share/pixmaps)    install (FILES images/${PROJECT_NAME}.svg
161    install (FILES appdata/qsampler.appdata.xml      RENAME org.rncbc.${PROJECT_NAME}.svg
162       DESTINATION share/metainfo)      DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps)
163      install (FILES appdata/org.rncbc.${PROJECT_NAME}.desktop
164        DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
165      install (FILES appdata/org.rncbc.${PROJECT_NAME}.metainfo.xml
166        DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
167      install (FILES mimetypes/org.rncbc.${PROJECT_NAME}.xml
168        DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages)
169      install (FILES mimetypes/org.rncbc.${PROJECT_NAME}.application-x-${PROJECT_NAME}-session.png
170        DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/mimetypes)
171      install (FILES mimetypes/org.rncbc.${PROJECT_NAME}.application-x-${PROJECT_NAME}-session.svg
172        DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/mimetypes)
173      install (FILES man1/${PROJECT_NAME}.1
174        DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
175      install (FILES man1/${PROJECT_NAME}.fr.1
176        DESTINATION ${CMAKE_INSTALL_MANDIR}/fr/man1 RENAME ${PROJECT_NAME}.1)
177    endif ()
178    
179    if (WIN32)
180       install (TARGETS ${PROJECT_NAME} RUNTIME
181         DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
182       install (FILES ${QM_FILES}
183         DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/translations)
184  endif ()  endif ()

Legend:
Removed from v.3568  
changed lines
  Added in v.4038

  ViewVC Help
Powered by ViewVC