/[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 3867 by capela, Sat Mar 27 12:27:37 2021 UTC revision 4035 by capela, Wed Mar 16 08:10:23 2022 UTC
# Line 1  Line 1 
1  cmake_minimum_required(VERSION 3.10)  cmake_minimum_required (VERSION 3.13)
2    
3  project(qsampler  project (qsampler
4    VERSION 0.9.3    VERSION 0.9.6
5    DESCRIPTION "A LinuxSampler Qt GUI Interface"    DESCRIPTION "A LinuxSampler Qt GUI Interface"
6    LANGUAGES C CXX)    LANGUAGES C CXX)
7    
8  set (CONFIG_VERSION ${PROJECT_VERSION})  set (CONFIG_VERSION ${PROJECT_VERSION})
9  execute_process (  execute_process (
10    COMMAND git describe --tags --dirty --abbrev=6    COMMAND git describe --tags --dirty --abbrev=6
11      WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
12    OUTPUT_VARIABLE GIT_DESCRIBE_OUTPUT    OUTPUT_VARIABLE GIT_DESCRIBE_OUTPUT
13    RESULT_VARIABLE GIT_DESCRIBE_RESULT    RESULT_VARIABLE GIT_DESCRIBE_RESULT
14    OUTPUT_STRIP_TRAILING_WHITESPACE)    OUTPUT_STRIP_TRAILING_WHITESPACE)
15  if (GIT_DESCRIBE_RESULT EQUAL 0)  if (GIT_DESCRIBE_RESULT EQUAL 0)
16    set (VERSION "${GIT_DESCRIBE_OUTPUT}")    set (VERSION "${GIT_DESCRIBE_OUTPUT}")
17    string (REGEX REPLACE "^[^0-9]+" "" VERSION "${VERSION}")    string (REGEX REPLACE "^[^0-9]+" "" VERSION "${VERSION}")
18      string (REGEX REPLACE "^1_"      "" VERSION "${VERSION}")
19      string (REGEX REPLACE "^[_vV]+"  "" VERSION "${VERSION}")
20    string (REGEX REPLACE "-g"   "git." VERSION "${VERSION}")    string (REGEX REPLACE "-g"   "git." VERSION "${VERSION}")
21    string (REGEX REPLACE "[_|-]+"  "." VERSION "${VERSION}")    string (REGEX REPLACE "[_|-]"   "." VERSION "${VERSION}")
22    execute_process (    execute_process (
23      COMMAND git rev-parse --abbrev-ref HEAD      COMMAND git rev-parse --abbrev-ref HEAD
24        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
25      OUTPUT_VARIABLE GIT_REVPARSE_OUTPUT      OUTPUT_VARIABLE GIT_REVPARSE_OUTPUT
26      RESULT_VARIABLE GIT_REVPARSE_RESULT      RESULT_VARIABLE GIT_REVPARSE_RESULT
27      OUTPUT_STRIP_TRAILING_WHITESPACE)      OUTPUT_STRIP_TRAILING_WHITESPACE)
# Line 39  set (ac_prefix "${CMAKE_INSTALL_PREFIX}" Line 43  set (ac_prefix "${CMAKE_INSTALL_PREFIX}"
43    
44  set (CONFIG_BUILD_VERSION "${PACKAGE_VERSION}")  set (CONFIG_BUILD_VERSION "${PACKAGE_VERSION}")
45    
46  if (CMAKE_BUILD_TYPE)  if (CONFIG_DEBUG)
47    set (CONFIG_BUILD_TYPE ${CMAKE_BUILD_TYPE})    set (CMAKE_BUILD_TYPE "Debug")
 else ()  
   set (CONFIG_BUILD_TYPE "release")  
48  endif ()  endif ()
49    if (CMAKE_BUILD_TYPE MATCHES "Debug")
 set (CONFIG_DEBUG 0)  
 if (CONFIG_BUILD_TYPE MATCHES "debug")  
50    set (CONFIG_DEBUG 1)    set (CONFIG_DEBUG 1)
51  endif ()  endif ()
52    if (CONFIG_DEBUG)
53      set (CONFIG_BUILD_TYPE "debug")
54    else ()
55      set (CONFIG_BUILD_TYPE "release")
56    endif ()
57    
58  set (CONFIG_PREFIX "${CMAKE_INSTALL_PREFIX}")  set (CONFIG_PREFIX "${CMAKE_INSTALL_PREFIX}")
59    
# Line 68  option (CONFIG_XUNIQUE "Enable unique/si Line 73  option (CONFIG_XUNIQUE "Enable unique/si
73  # Enable debugger stack-trace option (assumes --enable-debug).  # Enable debugger stack-trace option (assumes --enable-debug).
74  option (CONFIG_STACKTRACE "Enable debugger stack-trace (default=no)" 0)  option (CONFIG_STACKTRACE "Enable debugger stack-trace (default=no)" 0)
75    
76    # Enable Wayland support option.
77    option (CONFIG_WAYLAND "Enable Wayland support (EXPERIMENTAL) (default=no)" 0)
78    
79    # Enable Qt6 build preference.
80    option (CONFIG_QT6 "Enable Qt6 build (default=yes)" 1)
81    
82    
83  # Fix for new CMAKE_REQUIRED_LIBRARIES policy.  # Fix for new CMAKE_REQUIRED_LIBRARIES policy.
84  if (POLICY CMP0075)  if (POLICY CMP0075)
85    cmake_policy (SET CMP0075 NEW)    cmake_policy (SET CMP0075 NEW)
86  endif ()  endif ()
87    
88  # Check for Qt  # Check for Qt...
89  find_package (QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)  if (CONFIG_QT6)
90      find_package (Qt6 QUIET)
91      if (NOT Qt6_FOUND)
92        set (CONFIG_QT6 0)
93      endif ()
94    endif ()
95    
96    if (CONFIG_QT6)
97      find_package (QT QUIET NAMES Qt6)
98    else ()
99      find_package (QT QUIET NAMES Qt5)
100    endif ()
101    
102  find_package (Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui Widgets)  find_package (Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui Widgets)
103    
104  if (CONFIG_XUNIQUE)  if (CONFIG_XUNIQUE)
# Line 111  endif () Line 134  endif ()
134    
135    
136  # Find package modules  # Find package modules
137  find_package (PkgConfig REQUIRED)  include (FindPkgConfig)
138    
139  # Check for LSCP libraries.  # Check for LSCP libraries.
140  pkg_check_modules (LSCP REQUIRED IMPORTED_TARGET lscp)  pkg_check_modules (LSCP REQUIRED IMPORTED_TARGET lscp)
141  if (LSCP_FOUND)  if (LSCP_FOUND)
142      find_library(LSCP_LIBRARY NAMES ${LSCP_LIBRARIES} HINTS ${LSCP_LIBDIR})
143    endif ()
144    if (LSCP_LIBRARY)
145    set (CONFIG_LIBLSCP 1)    set (CONFIG_LIBLSCP 1)
146    include_directories (${LSCP_INCLUDE_DIRS})    set (CMAKE_REQUIRED_LIBRARIES "${LSCP_LIBRARY};${CMAKE_REQUIRED_LIBRARIES}")
   link_directories (${LSCP_LIBRARY_DIRS})  
 # link_libraries (${LSCP_LIBRARIES})  
   set (CMAKE_REQUIRED_LIBRARIES "${LSCP_LIBRARIES};${CMAKE_REQUIRED_LIBRARIES}")  
147    # Check for for instrument_name in lscp_channel_info_t.    # Check for for instrument_name in lscp_channel_info_t.
148    check_include_file (lscp/client.h HAVE_LSCP_CLIENT_H)    check_include_file (lscp/client.h HAVE_LSCP_CLIENT_H)
149    if (NOT HAVE_LSCP_CLIENT_H)    if (NOT HAVE_LSCP_CLIENT_H)
# Line 190  endif () Line 213  endif ()
213  if (CONFIG_LIBGIG)  if (CONFIG_LIBGIG)
214    pkg_check_modules (GIG IMPORTED_TARGET gig>=3.3.0)    pkg_check_modules (GIG IMPORTED_TARGET gig>=3.3.0)
215    if (GIG_FOUND)    if (GIG_FOUND)
216      include_directories (${GIG_INCLUDE_DIRS})      find_library(GIG_LIBRARY NAMES ${GIG_LIBRARIES} HINTS ${GIG_LIBDIR})
217      link_directories (${GIG_LIBRARY_DIRS})    endif ()
218      link_libraries (${GIG_LIBRARIES})    if (GIG_LIBRARY)
219  #   set (CMAKE_REQUIRED_LIBRARIES "${GIG_LIBRARIES};${CMAKE_REQUIRED_LIBRARIES}")      set (CONFIG_LIBGIG 1)
220       #set (CMAKE_REQUIRED_LIBRARIES "${GIG_LIBRARY};${CMAKE_REQUIRED_LIBRARIES}")
221      # liggig supports fast information retrieval.      # liggig supports fast information retrieval.
222      set (CONFIG_LIBGIG_SETAUTOLOAD 1)      set (CONFIG_LIBGIG_SETAUTOLOAD 1)
223      # Check if libgig/SF.h is available.      # Check if libgig/SF.h is available.
# Line 212  endif () Line 236  endif ()
236    
237  add_subdirectory (src)  add_subdirectory (src)
238    
 configure_file (qsampler.spec.in qsampler.spec IMMEDIATE @ONLY)  
239    
240  install (FILES qsampler.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)  if (UNIX AND NOT APPLE)
241  install (FILES qsampler.fr.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/fr/man1 RENAME qsampler.1)    configure_file (${PROJECT_NAME}.spec.in ${PROJECT_NAME}.spec IMMEDIATE @ONLY)
242    endif ()
243    
244    
245  # Configuration status  # Configuration status
246  macro (SHOW_OPTION text value)  macro (SHOW_OPTION text value)
# Line 227  macro (SHOW_OPTION text value) Line 252  macro (SHOW_OPTION text value)
252  endmacro ()  endmacro ()
253    
254    
255  message   ("\n  ${PACKAGE_NAME} ${PACKAGE_VERSION}")  message   ("\n  ${PACKAGE_NAME} ${PACKAGE_VERSION} (Qt ${QT_VERSION})")
256  message   ("\n  Build target . . . . . . . . . . . . . . . . . . .: ${CONFIG_BUILD_TYPE}\n")  message   ("\n  Build target . . . . . . . . . . . . . . . . . . .: ${CONFIG_BUILD_TYPE}\n")
257  show_option ("  LSCP instrument name support . . . . . . . . . . ." CONFIG_INSTRUMENT_NAME)  show_option ("  LSCP instrument name support . . . . . . . . . . ." CONFIG_INSTRUMENT_NAME)
258  show_option ("  LSCP mute/solo support . . . . . . . . . . . . . ." CONFIG_MUTE_SOLO)  show_option ("  LSCP mute/solo support . . . . . . . . . . . . . ." CONFIG_MUTE_SOLO)
# Line 249  show_option ("  LSCP runtime max. voices Line 274  show_option ("  LSCP runtime max. voices
274  message     ("")  message     ("")
275  show_option ("  Unique/Single instance support . . . . . . . . . ." CONFIG_XUNIQUE)  show_option ("  Unique/Single instance support . . . . . . . . . ." CONFIG_XUNIQUE)
276  show_option ("  Debugger stack-trace (gdb) . . . . . . . . . . . ." CONFIG_STACKTRACE)  show_option ("  Debugger stack-trace (gdb) . . . . . . . . . . . ." CONFIG_STACKTRACE)
277  message   ("\n  Install prefix . . . . . . . . . . . . . . . . . .: ${CMAKE_INSTALL_PREFIX}")  message   ("\n  Install prefix . . . . . . . . . . . . . . . . . .: ${CONFIG_PREFIX}\n")
 message   ("\nNow type 'make', followed by 'make install' as root.\n")  

Legend:
Removed from v.3867  
changed lines
  Added in v.4035

  ViewVC Help
Powered by ViewVC