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

Diff of /qsampler/trunk/CMakeLists.txt

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

revision 3569 by capela, Sun Aug 25 21:47:56 2019 UTC revision 3839 by capela, Tue Dec 8 17:13:49 2020 UTC
# Line 1  Line 1 
1  project(QSAMPLER)  project(qsampler)
2    
3  cmake_minimum_required(VERSION 2.6)  cmake_minimum_required(VERSION 3.1)
4    
5  set (VERSION "0.5.7")  set (VERSION "0.9.0")
6    
7    set (CONFIG_VERSION ${VERSION})
8  execute_process (  execute_process (
9    COMMAND git describe --tags --dirty --abbrev=6    COMMAND git describe --tags --dirty --abbrev=6
10    OUTPUT_VARIABLE GIT_DESCRIBE_OUTPUT    OUTPUT_VARIABLE GIT_DESCRIBE_OUTPUT
# Line 11  execute_process ( Line 12  execute_process (
12    OUTPUT_STRIP_TRAILING_WHITESPACE)    OUTPUT_STRIP_TRAILING_WHITESPACE)
13  if (GIT_DESCRIBE_RESULT EQUAL 0)  if (GIT_DESCRIBE_RESULT EQUAL 0)
14    set (VERSION "${GIT_DESCRIBE_OUTPUT}")    set (VERSION "${GIT_DESCRIBE_OUTPUT}")
15    string (REGEX REPLACE "^[^_vV]+" "" VERSION "${VERSION}")    string (REGEX REPLACE "^[^0-9]+" "" VERSION "${VERSION}")
   string (REGEX REPLACE "^[_vV]+"  "" VERSION "${VERSION}")  
16    string (REGEX REPLACE "-g"   "git." VERSION "${VERSION}")    string (REGEX REPLACE "-g"   "git." VERSION "${VERSION}")
17    string (REGEX REPLACE "[_|-]+"  "." VERSION "${VERSION}")    string (REGEX REPLACE "[_|-]+"  "." VERSION "${VERSION}")
18    execute_process (    execute_process (
# Line 22  if (GIT_DESCRIBE_RESULT EQUAL 0) Line 22  if (GIT_DESCRIBE_RESULT EQUAL 0)
22      OUTPUT_STRIP_TRAILING_WHITESPACE)      OUTPUT_STRIP_TRAILING_WHITESPACE)
23    if (GIT_REVPARSE_RESULT EQUAL 0 AND NOT GIT_REVPARSE_OUTPUT STREQUAL "master")    if (GIT_REVPARSE_RESULT EQUAL 0 AND NOT GIT_REVPARSE_OUTPUT STREQUAL "master")
24      set (VERSION "${VERSION} [${GIT_REVPARSE_OUTPUT}]")      set (VERSION "${VERSION} [${GIT_REVPARSE_OUTPUT}]")
25    endif ()      endif ()
26  endif ()  endif ()
27    
28  set (PACKAGE_NAME "Qsampler")  set (PACKAGE_NAME "Qsampler")
# Line 34  set (PACKAGE_TARNAME "qsampler") Line 34  set (PACKAGE_TARNAME "qsampler")
34  set (CONFIG_BUILD_VERSION "${PACKAGE_VERSION}")  set (CONFIG_BUILD_VERSION "${PACKAGE_VERSION}")
35    
36  if (CMAKE_BUILD_TYPE)  if (CMAKE_BUILD_TYPE)
37    set (CONFIG_BUILD_TYPE CMAKE_BUILD_TYPE)    set (CONFIG_BUILD_TYPE ${CMAKE_BUILD_TYPE})
38  else ()  else ()
39    set (CONFIG_BUILD_TYPE "release")    set (CONFIG_BUILD_TYPE "release")
40  endif ()  endif ()
41    
42  set (CONFIG_DEBUG)  set (CONFIG_DEBUG 0)
43  if (CONFIG_BUILD_TYPE MATCHES "debug")  if (CONFIG_BUILD_TYPE MATCHES "debug")
44    set(CONFIG_DEBUG 1)    set (CONFIG_DEBUG 1)
45  endif ()  endif ()
46    
47  set (CONFIG_PREFIX "${CMAKE_INSTALL_PREFIX}")  set (CONFIG_PREFIX "${CMAKE_INSTALL_PREFIX}")
48    
49    include (GNUInstallDirs)
50    set (CONFIG_BINDIR  "${CONFIG_PREFIX}/${CMAKE_INSTALL_BINDIR}")
51    set (CONFIG_LIBDIR  "${CONFIG_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
52    set (CONFIG_DATADIR "${CONFIG_PREFIX}/${CMAKE_INSTALL_DATADIR}")
53    set (CONFIG_MANDIR  "${CONFIG_PREFIX}/${CMAKE_INSTALL_MANDIR}")
54    
55    
56  # Enable libgig availability.  # Enable libgig availability.
57  option (CONFIG_LIBGIG "Enable libgig interface (default=yes)" 1)  option (CONFIG_LIBGIG "Enable libgig interface (default=yes)" 1)
# Line 55  option (CONFIG_XUNIQUE "Enable unique/si Line 62  option (CONFIG_XUNIQUE "Enable unique/si
62  # Enable debugger stack-trace option (assumes --enable-debug).  # Enable debugger stack-trace option (assumes --enable-debug).
63  option (CONFIG_STACKTRACE "Enable debugger stack-trace (default=no)" 0)  option (CONFIG_STACKTRACE "Enable debugger stack-trace (default=no)" 0)
64    
65    
66  # Fix for new CMAKE_REQUIRED_LIBRARIES policy.  # Fix for new CMAKE_REQUIRED_LIBRARIES policy.
67  if (POLICY CMP0075)  if (POLICY CMP0075)
68    cmake_policy (SET CMP0075 NEW)    cmake_policy (SET CMP0075 NEW)
69  endif ()  endif ()
70    
71  # Check for Qt  # Check for Qt
72  find_package (Qt5 REQUIRED NO_MODULE COMPONENTS Core Gui Widgets)  find_package (Qt5 REQUIRED COMPONENTS Core Gui Widgets)
73    
74  if (CONFIG_XUNIQUE)  if (CONFIG_XUNIQUE)
75    find_package (Qt5 REQUIRED NO_MODULE COMPONENTS Network)    find_package (Qt5 REQUIRED COMPONENTS Network)
76  endif ()  endif ()
77    
78  find_package (Qt5LinguistTools)  find_package (Qt5LinguistTools)
79    
 include (GNUInstallDirs)  
80  include (CheckIncludeFile)  include (CheckIncludeFile)
81  include (CheckIncludeFiles)  include (CheckIncludeFiles)
82  include (CheckIncludeFileCXX)  include (CheckIncludeFileCXX)
# Line 101  find_package (PkgConfig REQUIRED) Line 108  find_package (PkgConfig REQUIRED)
108    
109  # Check for LSCP libraries.  # Check for LSCP libraries.
110  pkg_check_modules (LSCP REQUIRED lscp)  pkg_check_modules (LSCP REQUIRED lscp)
111  set (CONFIG_LIBLSCP ${LSCP_FOUND})  if (LSCP_FOUND)
112  if (CONFIG_LIBLSCP)    set (CONFIG_LIBLSCP 1)
113    include_directories (${LSCP_INCLUDE_DIRS})    include_directories (${LSCP_INCLUDE_DIRS})
114    link_directories (${LSCP_LIBRARY_DIRS})    link_directories (${LSCP_LIBRARY_DIRS})
115    # link_libraries (${LSCP_LIBRARIES})
116    set (CMAKE_REQUIRED_LIBRARIES "${LSCP_LIBRARIES};${CMAKE_REQUIRED_LIBRARIES}")    set (CMAKE_REQUIRED_LIBRARIES "${LSCP_LIBRARIES};${CMAKE_REQUIRED_LIBRARIES}")
117    # Check for for instrument_name in lscp_channel_info_t.    # Check for for instrument_name in lscp_channel_info_t.
118    check_include_file (lscp/client.h CONFIG_INSTRUMENT_NAME)    check_include_file (lscp/client.h HAVE_LSCP_CLIENT_H)
119      if (NOT HAVE_LSCP_CLIENT_H)
120        set (CONFIG_INSTRUMENT_NAME 0)
121      else ()
122        set (CONFIG_INSTRUMENT_NAME 1)    
123      endif ()
124    # Check for mute/solo in lscp_channel_info_t.    # Check for mute/solo in lscp_channel_info_t.
125    check_include_file (lscp/client.h CONFIG_MUTE_SOLO)    if (NOT HAVE_LSCP_CLIENT_H)
126        set (CONFIG_MUTE_SOLO 0)
127      else ()
128        set (CONFIG_MUTE_SOLO 1)    
129      endif ()
130    if (CONFIG_MUTE_SOLO)    if (CONFIG_MUTE_SOLO)
131      check_function_exists (lscp_set_channel_mute CONFIG_MUTE_SOLO)      check_function_exists (lscp_set_channel_mute CONFIG_MUTE_SOLO)
132    endif ()    endif ()
# Line 122  if (CONFIG_LIBLSCP) Line 139  if (CONFIG_LIBLSCP)
139    check_function_exists (lscp_create_fxsend CONFIG_FXSEND)    check_function_exists (lscp_create_fxsend CONFIG_FXSEND)
140    # Check for FX send level in lscp_fxsend_info_t    # Check for FX send level in lscp_fxsend_info_t
141    if (CONFIG_FXSEND)    if (CONFIG_FXSEND)
142      check_include_file (lscp/client.h CONFIG_FXSEND_LEVEL)      if (NOT HAVE_LSCP_CLIENT_H)
143          set (CONFIG_FXSEND_LEVEL 0)
144        else ()
145          set (CONFIG_FXSEND_LEVEL 1)    
146        endif ()
147    endif ()    endif ()
148    # Check if FX send rename is available.    # Check if FX send rename is available.
149    if (CONFIG_FXSEND)    if (CONFIG_FXSEND)
150      check_function_exists (lscp_set_fxsend_name CONFIG_FXSEND_RENAME)      check_function_exists (lscp_set_fxsend_name CONFIG_FXSEND_RENAME)
151    endif ()    endif ()
152    # Check for audio_routing array type    # Check for audio_routing array type
153    check_include_file (lscp/client.h CONFIG_AUDIO_ROUTING)    if (NOT HAVE_LSCP_CLIENT_H)
154        set (CONFIG_AUDIO_ROUTING 0)
155      else ()
156        set (CONFIG_AUDIO_ROUTING 1)    
157      endif ()
158    # Check if global volume is available.    # Check if global volume is available.
159    check_function_exists (lscp_set_volume CONFIG_VOLUME)    check_function_exists (lscp_set_volume CONFIG_VOLUME)
160    # Check if instrument editing is available.    # Check if instrument editing is available.
161    check_function_exists (lscp_edit_channel_instrument CONFIG_EDIT_INSTRUMENT)    check_function_exists (lscp_edit_channel_instrument CONFIG_EDIT_INSTRUMENT)
162    # Check for CHANNEL_MIDI LSCP event support in liblscp],    # Check for CHANNEL_MIDI LSCP event support in liblscp],
163    check_include_file (lscp/event.h CONFIG_EVENT_CHANNEL_MIDI)    check_include_file (lscp/event.h HAVE_LSCP_EVENT_H)
164      if (NOT HAVE_LSCP_EVENT_H)
165        set (CONFIG_EVENT_CHANNEL_MIDI 0)
166      else ()
167        set (CONFIG_EVENT_CHANNEL_MIDI 1)    
168      endif ()
169    # Check for DEVICE_MIDI LSCP event support in liblscp],    # Check for DEVICE_MIDI LSCP event support in liblscp],
170    check_include_file (lscp/event.h CONFIG_EVENT_DEVICE_MIDI)    if (NOT HAVE_LSCP_EVENT_H)
171        set (CONFIG_EVENT_DEVICE_MIDI 0)
172      else ()
173        set (CONFIG_EVENT_DEVICE_MIDI 1)    
174      endif ()
175    # Check if max. voices / streams is available.    # Check if max. voices / streams is available.
176    check_function_exists (lscp_get_voices CONFIG_MAX_VOICES)    check_function_exists (lscp_get_voices CONFIG_MAX_VOICES)
177  else ()  else ()
178    message (FATAL_ERROR "*** LSCP library not found.")    message (FATAL_ERROR "*** LSCP library not found.")
179      set (CONFIG_LIBLSCP 0)
180  endif ()  endif ()
181    
182  # Check for GIG libraries.  # Check for GIG libraries.
183  if (CONFIG_LIBGIG)  if (CONFIG_LIBGIG)
184    pkg_check_modules (GIG gig>=3.3.0)    pkg_check_modules (GIG gig>=3.3.0)
185    set (CONFIG_LIBGIG ${GIG_FOUND})    if (GIG_FOUND)
   if (CONFIG_LIBGIG)  
186      include_directories (${GIG_INCLUDE_DIRS})      include_directories (${GIG_INCLUDE_DIRS})
187      link_directories (${GIG_LIBRARY_DIRS})      link_directories (${GIG_LIBRARY_DIRS})
188      link_libraries (${GIG_LIBRARIES})      link_libraries (${GIG_LIBRARIES})
# Line 156  if (CONFIG_LIBGIG) Line 190  if (CONFIG_LIBGIG)
190      # liggig supports fast information retrieval.      # liggig supports fast information retrieval.
191      set (CONFIG_LIBGIG_SETAUTOLOAD 1)      set (CONFIG_LIBGIG_SETAUTOLOAD 1)
192      # Check if libgig/SF.h is available.      # Check if libgig/SF.h is available.
193      check_include_file_cxx (libgig/SF.h CONFIG_LIBGIG_SF2)      check_include_file_cxx (libgig/SF.h HAVE_LIBGIG_SF_H)
194        if (NOT HAVE_LIBGIG_SF_H)
195          set (CONFIG_LIBGIG_SF2 0)
196        else ()
197          set (CONFIG_LIBGIG_SF2 1)    
198        endif ()
199    else ()    else ()
200      message (WARNING "*** GIG library not found.")      message (WARNING "*** GIG library not found.")
201        set (CONFIG_LIBGIG 0)
202    endif ()    endif ()
203  endif ()  endif ()
204    
# Line 173  install (FILES qsampler.fr.1 DESTINATION Line 213  install (FILES qsampler.fr.1 DESTINATION
213  # Configuration status  # Configuration status
214  macro (SHOW_OPTION text value)  macro (SHOW_OPTION text value)
215    if (${value})    if (${value})
216      message("${text}: yes")      message ("${text}: yes")
217    else ()    else ()
218      message("${text}: no")      message ("${text}: no")
219    endif ()    endif ()
220  endmacro ()  endmacro ()
221    

Legend:
Removed from v.3569  
changed lines
  Added in v.3839

  ViewVC Help
Powered by ViewVC