Merge pull request #4446: BUILD: CMake usability enhancements

This commit is contained in:
Robert Adam 2020-08-31 18:26:49 +02:00 committed by GitHub
commit 898d339819
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 11 deletions

View File

@ -19,8 +19,6 @@ project(Mumble
LANGUAGES "C" "CXX"
)
message(STATUS "Mumble version: ${version}")
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
set(CMAKE_CXX_STANDARD 14)
@ -49,6 +47,8 @@ option(overlay "Build overlay." ON)
option(packaging "Build package." OFF)
option(plugins "Build plugins." ON)
option(debug-dependency-search "Prints extended information during the search for the needed dependencies" OFF)
# We support the "Debug" and "Release" configurations.
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug"
@ -77,6 +77,15 @@ endif()
include(compiler)
include(os)
message(STATUS "##################################################")
message(STATUS "Building Mumble version: ${version}")
if(64_BIT)
message(STATUS "Architecture: 64bit (x64)")
else()
message(STATUS "Architecture: 32bit (x86)")
endif()
message(STATUS "##################################################")
add_subdirectory(src)
if(g15 AND WIN32)

View File

@ -48,7 +48,8 @@ The `TYPE` is one of the following:
| TEST | Adds, changes or removes a test-case | |
| MAINT | Maintenance - Change of non-code files | Change of the README |
| CI | Changed something for the CI (continous integration) | Update TravisCI to use newer ubuntu version |
| REFAC | Code refactoring | Renamed variable `x` to `y` |
| REFAC | Code refactoring | Renamed variable `x` to `y` |
| BUILD | Changes related to the build process / buildsystem | Fixed cmake script |
The `TYPE` has to be in **all-uppercase** in order for it to stand out.

View File

@ -3,7 +3,14 @@
# that can be found in the LICENSE file at the root of the
# Mumble source tree or at <https://www.mumble.info/LICENSE>.
find_package(PkgConfig QUIET)
if(debug-dependency-search)
# Don't be quiet if the user wants to debug the dependency-search
set(QUIET_STR "")
else()
set(QUIET_STR "QUIET")
endif()
find_package(PkgConfig ${QUIET_STR})
include(FindPackageMessage)
@ -15,7 +22,7 @@ function(pkgconfig_search MODULE)
# We don't want pkg_search_module() to write into the variables that will be passed to the pkgconfig_search()'s caller.
set(PRIVATE "PRIVATE_${MODULE}")
pkg_search_module(${PRIVATE} ${MODULE} QUIET)
pkg_search_module(${PRIVATE} ${MODULE} ${QUIET_STR})
if(NOT ${PRIVATE}_FOUND)
return()
@ -67,9 +74,9 @@ macro(find_pkg ARG_ALIASES)
if(FIND_PACKAGE_COMPONENTS)
foreach(COMPONENT ${FIND_PACKAGE_COMPONENTS})
find_package(${NAME} COMPONENTS ${COMPONENT} ${FIND_PACKAGE_ARGUMENTS} QUIET CONFIG ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
find_package(${NAME} COMPONENTS ${COMPONENT} ${FIND_PACKAGE_ARGUMENTS} ${QUIET_STR} CONFIG ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
if(NOT ${NAME}_FOUND)
find_package(${NAME} COMPONENTS ${COMPONENT} ${FIND_PACKAGE_ARGUMENTS} QUIET MODULE ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
find_package(${NAME} COMPONENTS ${COMPONENT} ${FIND_PACKAGE_ARGUMENTS} ${QUIET_STR} MODULE ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
endif()
if(NOT ${NAME}_FOUND)
@ -101,9 +108,9 @@ macro(find_pkg ARG_ALIASES)
continue()
endif()
else()
find_package(${NAME} ${FIND_PACKAGE_ARGUMENTS} QUIET CONFIG ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
find_package(${NAME} ${FIND_PACKAGE_ARGUMENTS} ${QUIET_STR} CONFIG ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
if(NOT ${NAME}_FOUND)
find_package(${NAME} ${FIND_PACKAGE_ARGUMENTS} QUIET MODULE ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
find_package(${NAME} ${FIND_PACKAGE_ARGUMENTS} ${QUIET_STR} MODULE ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
if(NOT ${NAME}_FOUND)
pkgconfig_search(${NAME})
endif()
@ -136,9 +143,9 @@ macro(find_pkg ARG_ALIASES)
if(FIND_PACKAGE_OPTIONAL_COMPONENTS)
foreach(COMPONENT ${FIND_PACKAGE_OPTIONAL_COMPONENTS})
find_package(${NAME} COMPONENTS ${COMPONENT} ${FIND_PACKAGE_ARGUMENTS} QUIET CONFIG ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
find_package(${NAME} COMPONENTS ${COMPONENT} ${FIND_PACKAGE_ARGUMENTS} ${QUIET_STR} CONFIG ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
if(NOT ${NAME}_FOUND)
find_package(${NAME} COMPONENTS ${COMPONENT} ${FIND_PACKAGE_ARGUMENTS} QUIET MODULE ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
find_package(${NAME} COMPONENTS ${COMPONENT} ${FIND_PACKAGE_ARGUMENTS} ${QUIET_STR} MODULE ${FIND_PACKAGE_UNPARSED_ARGUMENTS})
endif()
if(${NAME}_FOUND AND NOT FIND_PACKAGE_QUIET)