CMake: produce a standard modern-CMake config file
- Use modern CMake commands to produce the config file - Drop the CalamaresUse.cmake file, include its functionality in the config file.
This commit is contained in:
parent
6507098d16
commit
f59b6da799
@ -556,25 +556,26 @@ export( PACKAGE Calamares )
|
|||||||
configure_file( CalamaresBuildTreeSettings.cmake.in "${PROJECT_BINARY_DIR}/CalamaresBuildTreeSettings.cmake" @ONLY )
|
configure_file( CalamaresBuildTreeSettings.cmake.in "${PROJECT_BINARY_DIR}/CalamaresBuildTreeSettings.cmake" @ONLY )
|
||||||
|
|
||||||
# Create the CalamaresConfig.cmake and CalamaresConfigVersion files
|
# Create the CalamaresConfig.cmake and CalamaresConfigVersion files
|
||||||
|
configure_package_config_file(
|
||||||
|
"CalamaresConfig.cmake.in"
|
||||||
|
"${PROJECT_BINARY_DIR}/CalamaresConfig.cmake"
|
||||||
|
INSTALL_DESTINATION "${CMAKE_INSTALL_CMAKEDIR}"
|
||||||
|
PATH_VARS
|
||||||
|
CMAKE_INSTALL_INCLUDEDIR
|
||||||
|
CMAKE_INSTALL_LIBDIR
|
||||||
|
CMAKE_INSTALL_DATADIR
|
||||||
|
)
|
||||||
write_basic_package_version_file(
|
write_basic_package_version_file(
|
||||||
${PROJECT_BINARY_DIR}/CalamaresConfigVersion.cmake
|
${PROJECT_BINARY_DIR}/CalamaresConfigVersion.cmake
|
||||||
VERSION ${PROJECT_VERSION}
|
VERSION ${PROJECT_VERSION}
|
||||||
COMPATIBILITY SameMajorVersion
|
COMPATIBILITY SameMajorVersion
|
||||||
)
|
)
|
||||||
|
|
||||||
file( RELATIVE_PATH CONF_REL_INCLUDE_DIR "${CMAKE_INSTALL_FULL_CMAKEDIR}" "${CMAKE_INSTALL_FULL_INCLUDEDIR}" )
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
configure_file( CalamaresConfig.cmake.in "${PROJECT_BINARY_DIR}/CalamaresConfig.cmake" @ONLY )
|
|
||||||
configure_file( CalamaresUse.cmake.in "${PROJECT_BINARY_DIR}/CalamaresUse.cmake" @ONLY )
|
|
||||||
|
|
||||||
# Install the cmake files
|
# Install the cmake files
|
||||||
install(
|
install(
|
||||||
FILES
|
FILES
|
||||||
"${PROJECT_BINARY_DIR}/CalamaresConfig.cmake"
|
"${PROJECT_BINARY_DIR}/CalamaresConfig.cmake"
|
||||||
"${PROJECT_BINARY_DIR}/CalamaresConfigVersion.cmake"
|
"${PROJECT_BINARY_DIR}/CalamaresConfigVersion.cmake"
|
||||||
"${PROJECT_BINARY_DIR}/CalamaresUse.cmake"
|
|
||||||
"CMakeModules/CalamaresAddBrandingSubdirectory.cmake"
|
"CMakeModules/CalamaresAddBrandingSubdirectory.cmake"
|
||||||
"CMakeModules/CalamaresAddLibrary.cmake"
|
"CMakeModules/CalamaresAddLibrary.cmake"
|
||||||
"CMakeModules/CalamaresAddModuleSubdirectory.cmake"
|
"CMakeModules/CalamaresAddModuleSubdirectory.cmake"
|
||||||
|
@ -1,32 +1,20 @@
|
|||||||
# Config file for the Calamares package
|
# Config file for the Calamares package
|
||||||
#
|
#
|
||||||
# It defines the following variables
|
# For legacy use it defines the following variables:
|
||||||
# CALAMARES_INCLUDE_DIRS - include directories for Calamares
|
# - Calamares_INCLUDE_DIRS - include directories for Calamares
|
||||||
# CALAMARES_LIBRARIES - libraries to link against
|
# - Calamares_LIB_DIRS - library directories
|
||||||
# CALAMARES_USE_FILE - name of a convenience include
|
# - Calamares_LIBRARIES - libraries to link against (e.g. -lcalamares)
|
||||||
# CALAMARES_APPLICATION_NAME - human-readable application name
|
|
||||||
#
|
|
||||||
# Typical use is:
|
|
||||||
#
|
|
||||||
# find_package(Calamares REQUIRED)
|
|
||||||
# include("${CALAMARES_USE_FILE}")
|
|
||||||
#
|
|
||||||
|
|
||||||
# Compute paths
|
@PACKAGE_INIT@
|
||||||
get_filename_component(CALAMARES_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
|
||||||
if(EXISTS "${CALAMARES_CMAKE_DIR}/CMakeCache.txt")
|
|
||||||
# In build tree
|
|
||||||
include("${CALAMARES_CMAKE_DIR}/CalamaresBuildTreeSettings.cmake")
|
|
||||||
else()
|
|
||||||
set(CALAMARES_INCLUDE_DIRS "${CALAMARES_CMAKE_DIR}/@CONF_REL_INCLUDE_DIR@/libcalamares")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Our library dependencies (contains definitions for IMPORTED targets)
|
include(${CMAKE_CURRENT_LIST_DIR}/CalamaresConfigVersion.cmake)
|
||||||
include("${CALAMARES_CMAKE_DIR}/CalamaresLibraryDepends.cmake")
|
include(${CMAKE_CURRENT_LIST_DIR}/CalamaresTargets.cmake)
|
||||||
|
|
||||||
# These are IMPORTED targets created by CalamaresLibraryDepends.cmake
|
set(Calamares_LIB_DIRS "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
|
||||||
set(CALAMARES_LIBRARIES calamares)
|
set(Calamares_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
|
||||||
|
set(Calamares_LIBRARIES calamares)
|
||||||
|
|
||||||
# Convenience variables
|
include(${CMAKE_CURRENT_LIST_DIR}/CalamaresAddLibrary.cmake)
|
||||||
set(CALAMARES_USE_FILE "${CALAMARES_CMAKE_DIR}/CalamaresUse.cmake")
|
include(${CMAKE_CURRENT_LIST_DIR}/CalamaresAddModuleSubdirectory.cmake)
|
||||||
set(CALAMARES_APPLICATION_NAME "Calamares")
|
include(${CMAKE_CURRENT_LIST_DIR}/CalamaresAddPlugin.cmake)
|
||||||
|
include(${CMAKE_CURRENT_LIST_DIR}/CalamaresAddBrandingSubdirectory.cmake)
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
# A setup-cmake-things-for-Calamares module.
|
|
||||||
#
|
|
||||||
# This module handles looking for dependencies and including
|
|
||||||
# all of the Calamares macro modules, so that you can focus
|
|
||||||
# on just using the macros to build Calamares modules.
|
|
||||||
# Typical use looks like this:
|
|
||||||
#
|
|
||||||
# ```
|
|
||||||
# find_package( Calamares REQUIRED )
|
|
||||||
# include( "${CALAMARES_CMAKE_DIR}/CalamaresUse.cmake" )
|
|
||||||
# ```
|
|
||||||
#
|
|
||||||
# The first CMake command finds Calamares (which will contain
|
|
||||||
# this file), then adds the found location to the search path,
|
|
||||||
# and then includes this file. After that, you can use
|
|
||||||
# Calamares module and plugin macros.
|
|
||||||
|
|
||||||
if( NOT CALAMARES_CMAKE_DIR )
|
|
||||||
message( FATAL_ERROR "Use find_package(Calamares) first." )
|
|
||||||
endif()
|
|
||||||
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CALAMARES_CMAKE_DIR} )
|
|
||||||
|
|
||||||
find_package( Qt5 @QT_VERSION@ CONFIG REQUIRED Core Widgets LinguistTools )
|
|
||||||
|
|
||||||
include( CalamaresAddLibrary )
|
|
||||||
include( CalamaresAddModuleSubdirectory )
|
|
||||||
include( CalamaresAddPlugin )
|
|
||||||
include( CalamaresAddBrandingSubdirectory )
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user