/[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 3648 by capela, Tue Dec 10 10:34:06 2019 UTC revision 4005 by capela, Sun Dec 5 12:42:31 2021 UTC
# Line 1  Line 1 
1  set(NAME qsampler)  # project (qsampler)
2    
3  include_directories (  set (CMAKE_INCLUDE_CURRENT_DIR ON)
4    ${CMAKE_CURRENT_SOURCE_DIR}  
5    ${CMAKE_CURRENT_BINARY_DIR}  set (CMAKE_AUTOUIC ON)
6  )  set (CMAKE_AUTOMOC ON)
7    set (CMAKE_AUTORCC ON)
8    
9  configure_file (cmake_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)  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 76  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 97  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  set_target_properties (${NAME} PROPERTIES CXX_STANDARD 11)  # Add some debugger flags.
121    if (CONFIG_DEBUG AND UNIX AND NOT APPLE)
122      target_compile_options (${PROJECT_NAME} PRIVATE -g -fsanitize=address -fno-omit-frame-pointer)
123      target_link_libraries (${PROJECT_NAME} PRIVATE asan)
124    endif ()
125    
126    set_target_properties (${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
127    
128  if (WIN32)  if (WIN32)
129    set_target_properties (${NAME} PROPERTIES WIN32_EXECUTABLE true)    set_target_properties (${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE true)
130  endif ()  endif ()
131    
132  if (APPLE)  if (APPLE)
133    set_target_properties (${NAME} PROPERTIES MACOSX_BUNDLE true)    set_target_properties (${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true)
134  endif ()  endif ()
135    
136  target_link_libraries (${NAME} PRIVATE Qt5::Widgets)  target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
137    
138  if (CONFIG_XUNIQUE)  if (CONFIG_XUNIQUE)
139    target_link_libraries (${NAME} PRIVATE Qt5::Network)    target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Network)
140  endif ()  endif ()
141    
142  if (CONFIG_LIBLSCP)  if (CONFIG_LIBLSCP)
143    target_link_libraries (${NAME} PRIVATE ${LSCP_LIBRARIES})    target_link_libraries (${PROJECT_NAME} PRIVATE PkgConfig::LSCP)
144  endif ()  endif ()
145    
146  if (CONFIG_LIBGIG)  if (CONFIG_LIBGIG)
147    target_link_libraries (${NAME} PRIVATE ${GIG_LIBRARIES})    target_link_libraries (${PROJECT_NAME} PRIVATE PkgConfig::GIG)
148  endif ()  endif ()
149    
150    
151  if (UNIX AND NOT APPLE)  if (UNIX AND NOT APPLE)
152    install (TARGETS ${NAME} RUNTIME    install (TARGETS ${PROJECT_NAME} RUNTIME
153       DESTINATION ${CMAKE_INSTALL_BINDIR})       DESTINATION ${CMAKE_INSTALL_BINDIR})
154    install (FILES ${QM_FILES}    install (FILES ${QM_FILES}
155       DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations)       DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/translations)
156    install (FILES ${NAME}.desktop    install (FILES ${PROJECT_NAME}.desktop
157       DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)       DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
158    install (FILES images/${NAME}.png    install (FILES images/${PROJECT_NAME}.png
159       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps)       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps)
160    install (FILES images/${NAME}.svg    install (FILES images/${PROJECT_NAME}.svg
161       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps)       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps)
162    install (FILES appdata/${NAME}.appdata.xml    install (FILES appdata/${PROJECT_NAME}.appdata.xml
163       DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)       DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
164    install (FILES mimetypes/${NAME}.xml    install (FILES mimetypes/${PROJECT_NAME}.xml
165       DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages)       DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages)
166    install (FILES mimetypes/application-x-${NAME}-session.png    install (FILES mimetypes/application-x-${PROJECT_NAME}-session.png
167       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/mimetypes)       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/mimetypes)
168    install (FILES mimetypes/application-x-${NAME}-session.svg    install (FILES mimetypes/application-x-${PROJECT_NAME}-session.svg
169       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/mimetypes)       DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/mimetypes)
170  endif ()  endif ()
171    
172  if (WIN32)  if (WIN32)
173     install (TARGETS ${NAME} RUNTIME     install (TARGETS ${PROJECT_NAME} RUNTIME
174       DESTINATION ${CMAKE_CURRENT_BINARY_DIR})       DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
175     install (FILES ${QM_FILES}     install (FILES ${QM_FILES}
176       DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations)       DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/translations)
177  endif ()  endif ()

Legend:
Removed from v.3648  
changed lines
  Added in v.4005

  ViewVC Help
Powered by ViewVC