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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3570 - (hide annotations) (download)
Mon Aug 26 13:49:09 2019 UTC (4 years, 7 months ago) by capela
File MIME type: text/plain
File size: 4462 byte(s)
- Updated/added README.cmake to present new CMake build instructions.
1 capela 3570 set(NAME qsampler)
2 capela 3567
3     include_directories (
4     ${CMAKE_CURRENT_BINARY_DIR}
5     ${CMAKE_CURRENT_SOURCE_DIR}
6     ${QT_INCLUDES}
7     )
8    
9     link_directories (
10     ${CMAKE_CURRENT_BINARY_DIR}
11     ${QT_LIBRARY_DIR}
12     )
13    
14     configure_file (cmake_config.h ${CMAKE_CURRENT_BINARY_DIR}/config.h)
15    
16 capela 3570 configure_file (${NAME}.desktop ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.desktop)
17 capela 3567
18     set (HEADERS
19     qsampler.h
20     qsamplerAbout.h
21     qsamplerOptions.h
22     qsamplerChannel.h
23     qsamplerMessages.h
24     qsamplerInstrument.h
25     qsamplerInstrumentList.h
26     qsamplerDevice.h
27     qsamplerFxSend.h
28     qsamplerFxSendsModel.h
29     qsamplerUtilities.h
30     qsamplerInstrumentForm.h
31     qsamplerInstrumentListForm.h
32     qsamplerDeviceForm.h
33     qsamplerDeviceStatusForm.h
34     qsamplerChannelStrip.h
35     qsamplerChannelForm.h
36     qsamplerChannelFxForm.h
37     qsamplerOptionsForm.h
38     qsamplerMainForm.h
39     )
40    
41     set (SOURCES
42     qsampler.cpp
43     qsamplerOptions.cpp
44     qsamplerChannel.cpp
45     qsamplerMessages.cpp
46     qsamplerInstrument.cpp
47     qsamplerInstrumentList.cpp
48     qsamplerDevice.cpp
49     qsamplerFxSend.cpp
50     qsamplerFxSendsModel.cpp
51     qsamplerUtilities.cpp
52     qsamplerInstrumentForm.cpp
53     qsamplerInstrumentListForm.cpp
54     qsamplerDeviceForm.cpp
55     qsamplerDeviceStatusForm.cpp
56     qsamplerChannelStrip.cpp
57     qsamplerChannelForm.cpp
58     qsamplerChannelFxForm.cpp
59     qsamplerOptionsForm.cpp
60     qsamplerMainForm.cpp
61     )
62    
63     set (FORMS
64     qsamplerInstrumentForm.ui
65     qsamplerInstrumentListForm.ui
66     qsamplerDeviceForm.ui
67     qsamplerChannelStrip.ui
68     qsamplerChannelForm.ui
69     qsamplerChannelFxForm.ui
70     qsamplerOptionsForm.ui
71     qsamplerMainForm.ui
72     )
73    
74     set (RESOURCES
75     qsampler.qrc
76     )
77    
78     set (TRANSLATIONS
79     translations/qsampler_cs.ts
80     translations/qsampler_fr.ts
81     translations/qsampler_ru.ts
82     )
83    
84     qt5_add_translation ( QM_FILES ${TRANSLATIONS} )
85     add_custom_target( translations ALL DEPENDS ${QM_FILES} )
86    
87     qt5_wrap_ui (UI_SOURCES ${FORMS})
88     qt5_wrap_cpp (MOC_SOURCES ${HEADERS})
89     qt5_add_resources (QRC_SOURCES ${RESOURCES})
90    
91 capela 3570 if (WIN32)
92     set (RC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/win32/${NAME}.rc)
93     set (RES_FILE ${CMAKE_CURRENT_BINARY_DIR}/${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/${NAME}.icns)
106     list (APPEND SOURCES ${ICON_FILE})
107     set (MACOSX_BUNDLE_ICON_FILE ${NAME}.icns)
108     set_source_files_properties (${ICON_FILE} PROPERTIES
109     MACOSX_PACKAGE_LOCATION Resources)
110     endif ()
111    
112    
113     add_executable (${NAME}
114 capela 3567 ${UI_SOURCES}
115     ${MOC_SOURCES}
116     ${QRC_SOURCES}
117     ${SOURCES}
118     )
119    
120 capela 3570 if (WIN32)
121     set_target_properties ($[NAME} PROPERTIES WIN32_EXECUTABLE true)
122     endif ()
123 capela 3567
124 capela 3570 if (APPLE)
125     set_target_properties ($[NAME} PROPERTIES MACOSX_BUNDLE true)
126 capela 3567 endif ()
127    
128 capela 3570 target_compile_options (${NAME} PRIVATE -std=c++11)
129 capela 3567
130 capela 3570 target_link_libraries (${NAME} PRIVATE Qt5::Widgets)
131    
132 capela 3569 if (CONFIG_XUNIQUE)
133 capela 3570 target_link_libraries (${NAME} PRIVATE Qt5::Network)
134 capela 3569 endif ()
135    
136 capela 3570 if (CONFIG_LIBLSCP)
137     target_link_libraries (${NAME} PRIVATE ${LSCP_LIBRARIES})
138     endif ()
139    
140     if (CONFIG_LIBGIG)
141     target_link_libraries (${NAME} PRIVATE ${GIG_LIBRARIES})
142     endif ()
143    
144    
145 capela 3567 if (UNIX AND NOT APPLE)
146 capela 3570 install (TARGETS ${NAME} RUNTIME
147 capela 3569 DESTINATION ${CMAKE_INSTALL_BINDIR})
148 capela 3567 install (FILES ${QM_FILES}
149 capela 3570 DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations)
150     install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.desktop
151 capela 3569 DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
152 capela 3570 install (FILES images/${NAME}.png
153 capela 3569 DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps)
154 capela 3570 install (FILES images/${NAME}.svg
155 capela 3569 DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps)
156 capela 3570 install (FILES appdata/${NAME}.appdata.xml
157 capela 3569 DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
158 capela 3570 install (FILES mimetypes/${NAME}.xml
159 capela 3569 DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages)
160 capela 3570 install (FILES mimetypes/application-x-${NAME}-session.png
161 capela 3569 DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/mimetypes)
162 capela 3570 install (FILES mimetypes/application-x-${NAME}-session.svg
163 capela 3569 DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/mimetypes)
164 capela 3567 endif ()
165 capela 3570
166     if (WIN32)
167     install (TARGETS ${NAME} RUNTIME
168     DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
169     install (FILES ${QM_FILES}
170     DESTINATION ${CMAKE_INSTALL_DATADIR}/${NAME}/translations)
171     endif ()

  ViewVC Help
Powered by ViewVC