CMake skeleton.
This commit is contained in:
parent
035dccfa5c
commit
b5ec7c4702
1
.gitignore
vendored
1
.gitignore
vendored
@ -26,3 +26,4 @@ Makefile*
|
|||||||
# QtCreator
|
# QtCreator
|
||||||
|
|
||||||
*.autosave
|
*.autosave
|
||||||
|
qtcreator-build
|
||||||
|
101
CMakeLists.txt
Normal file
101
CMakeLists.txt
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
project( calamares )
|
||||||
|
cmake_minimum_required( VERSION 2.8.12 )
|
||||||
|
set( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules" )
|
||||||
|
|
||||||
|
cmake_policy( SET CMP0023 OLD )
|
||||||
|
|
||||||
|
find_package( Qt5 5.3.0 CONFIG REQUIRED Core Gui Widgets )
|
||||||
|
|
||||||
|
###
|
||||||
|
### Calamares application info
|
||||||
|
###
|
||||||
|
SET( CALAMARES_ORGANIZATION_NAME "The Calamares Team" )
|
||||||
|
SET( CALAMARES_ORGANIZATION_DOMAIN "github.com/calamares" )
|
||||||
|
SET( CALAMARES_APPLICATION_NAME "Calamares" )
|
||||||
|
SET( CALAMARES_DESCRIPTION_SUMMARY "The distribution-independent installer framework" )
|
||||||
|
|
||||||
|
set( CALAMARES_VERSION_MAJOR 0 )
|
||||||
|
set( CALAMARES_VERSION_MINOR 1 )
|
||||||
|
set( CALAMARES_VERSION_PATCH 0 )
|
||||||
|
#set( CALAMARES_VERSION_RC 0 )
|
||||||
|
|
||||||
|
set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} )
|
||||||
|
set( CALAMARES_VERSION_SHORT "${CALAMARES_VERSION}" )
|
||||||
|
if( CALAMARES_VERSION_RC )
|
||||||
|
set( CALAMARES_VERSION ${CALAMARES_VERSION}rc${CALAMARES_VERSION_RC} )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# additional info for non-release builds
|
||||||
|
if( NOT BUILD_RELEASE AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git/" )
|
||||||
|
include( CMakeDateStamp )
|
||||||
|
set( CALAMARES_VERSION_DATE "${CMAKE_DATESTAMP_YEAR}${CMAKE_DATESTAMP_MONTH}${CMAKE_DATESTAMP_DAY}" )
|
||||||
|
if( CALAMARES_VERSION_DATE GREATER 0 )
|
||||||
|
set( CALAMARES_VERSION ${CALAMARES_VERSION}.${CALAMARES_VERSION_DATE} )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include( CMakeVersionSource )
|
||||||
|
if( CMAKE_VERSION_SOURCE )
|
||||||
|
set( CALAMARES_VERSION ${CALAMARES_VERSION}-${CMAKE_VERSION_SOURCE} )
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# enforce using constBegin, constEnd for const-iterators
|
||||||
|
add_definitions( "-DQT_STRICT_ITERATORS" )
|
||||||
|
|
||||||
|
# set paths
|
||||||
|
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
|
||||||
|
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
|
||||||
|
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
|
||||||
|
|
||||||
|
# make predefined install dirs available everywhere
|
||||||
|
include( GNUInstallDirs )
|
||||||
|
|
||||||
|
# make uninstall support
|
||||||
|
configure_file(
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||||
|
IMMEDIATE @ONLY
|
||||||
|
)
|
||||||
|
|
||||||
|
set( CALAMARES_LIBRARIES calamareslib )
|
||||||
|
|
||||||
|
add_subdirectory( src )
|
||||||
|
|
||||||
|
# Add all targets to the build-tree export set
|
||||||
|
set( CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/Calamares" CACHE PATH "Installation directory for CMake files" )
|
||||||
|
set( CMAKE_INSTALL_FULL_CMAKEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}" )
|
||||||
|
export(TARGETS calamareslib
|
||||||
|
FILE "${PROJECT_BINARY_DIR}/CalamaresLibraryDepends.cmake")
|
||||||
|
|
||||||
|
# Export the package for use from the build-tree
|
||||||
|
# (this registers the build-tree with a global CMake-registry)
|
||||||
|
export( PACKAGE Calamares )
|
||||||
|
|
||||||
|
# Create a CalamaresBuildTreeSettings.cmake file for the use from the build tree
|
||||||
|
configure_file( CalamaresBuildTreeSettings.cmake.in "${PROJECT_BINARY_DIR}/CalamaresBuildTreeSettings.cmake" @ONLY )
|
||||||
|
|
||||||
|
# Create the CalamaresConfig.cmake and CalamaresConfigVersion files
|
||||||
|
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( CalamaresConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/CalamaresConfigVersion.cmake" @ONLY )
|
||||||
|
|
||||||
|
# Install the cmake files
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
"${PROJECT_BINARY_DIR}/CalamaresConfig.cmake"
|
||||||
|
"${PROJECT_BINARY_DIR}/CalamaresConfigVersion.cmake"
|
||||||
|
# "${PROJECT_BINARY_DIR}/CalamaresUse.cmake"
|
||||||
|
# "${PROJECT_BINARY_DIR}/CalamaresAddPlugin.cmake"
|
||||||
|
# "${PROJECT_BINARY_DIR}/CalamaresAddLibrary.cmake"
|
||||||
|
DESTINATION
|
||||||
|
"${CMAKE_INSTALL_CMAKEDIR}"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Install the export set for use with the install-tree
|
||||||
|
install(
|
||||||
|
EXPORT
|
||||||
|
CalamaresLibraryDepends
|
||||||
|
DESTINATION
|
||||||
|
"${CMAKE_INSTALL_CMAKEDIR}"
|
||||||
|
)
|
23
CMakeModules/CMakeDateStamp.cmake
Normal file
23
CMakeModules/CMakeDateStamp.cmake
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
find_program(DATE_EXECUTABLE NAMES date)
|
||||||
|
mark_as_advanced(DATE_EXECUTABLE)
|
||||||
|
|
||||||
|
if(DATE_EXECUTABLE)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${DATE_EXECUTABLE} +%Y
|
||||||
|
OUTPUT_VARIABLE CMAKE_DATESTAMP_YEAR
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${DATE_EXECUTABLE} +%m
|
||||||
|
OUTPUT_VARIABLE CMAKE_DATESTAMP_MONTH
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${DATE_EXECUTABLE} +%d
|
||||||
|
OUTPUT_VARIABLE CMAKE_DATESTAMP_DAY
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
endif()
|
45
CMakeModules/CMakeVersionSource.cmake
Normal file
45
CMakeModules/CMakeVersionSource.cmake
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# Try to identify the current development source version.
|
||||||
|
set(CMAKE_VERSION_SOURCE "")
|
||||||
|
if(EXISTS ${CMAKE_SOURCE_DIR}/.git/HEAD)
|
||||||
|
find_program(GIT_EXECUTABLE NAMES git git.cmd)
|
||||||
|
mark_as_advanced(GIT_EXECUTABLE)
|
||||||
|
if(GIT_EXECUTABLE)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${GIT_EXECUTABLE} rev-parse --verify -q --short=7 HEAD
|
||||||
|
OUTPUT_VARIABLE head
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
if(head)
|
||||||
|
set(branch "")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${GIT_EXECUTABLE} name-rev HEAD
|
||||||
|
OUTPUT_VARIABLE branch
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
string(REGEX REPLACE "HEAD " "" branch "${branch}")
|
||||||
|
set(CMAKE_VERSION_SOURCE "git-${branch}-${head}")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${GIT_EXECUTABLE} update-index -q --refresh
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD --
|
||||||
|
OUTPUT_VARIABLE dirty
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
if(dirty)
|
||||||
|
set(CMAKE_VERSION_SOURCE "${CMAKE_VERSION_SOURCE}-dirty")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
elseif(EXISTS ${CMAKE_SOURCE_DIR}/CVS/Repository)
|
||||||
|
file(READ ${CMAKE_SOURCE_DIR}/CVS/Repository repo)
|
||||||
|
set(branch "")
|
||||||
|
if("${repo}" MATCHES "\\.git/")
|
||||||
|
string(REGEX REPLACE ".*\\.git/([^\r\n]*).*" "-\\1" branch "${repo}")
|
||||||
|
endif()
|
||||||
|
set(CMAKE_VERSION_SOURCE "cvs${branch}")
|
||||||
|
endif()
|
182
CMakeModules/GNUInstallDirs.cmake
Normal file
182
CMakeModules/GNUInstallDirs.cmake
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
# - Define GNU standard installation directories
|
||||||
|
# Provides install directory variables as defined for GNU software:
|
||||||
|
# http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
|
||||||
|
# Inclusion of this module defines the following variables:
|
||||||
|
# CMAKE_INSTALL_<dir> - destination for files of a given type
|
||||||
|
# CMAKE_INSTALL_FULL_<dir> - corresponding absolute path
|
||||||
|
# where <dir> is one of:
|
||||||
|
# BINDIR - user executables (bin)
|
||||||
|
# SBINDIR - system admin executables (sbin)
|
||||||
|
# LIBEXECDIR - program executables (libexec)
|
||||||
|
# SYSCONFDIR - read-only single-machine data (etc)
|
||||||
|
# SHAREDSTATEDIR - modifiable architecture-independent data (com)
|
||||||
|
# LOCALSTATEDIR - modifiable single-machine data (var)
|
||||||
|
# LIBDIR - object code libraries (lib or lib64)
|
||||||
|
# INCLUDEDIR - C header files (include)
|
||||||
|
# OLDINCLUDEDIR - C header files for non-gcc (/usr/include)
|
||||||
|
# DATAROOTDIR - read-only architecture-independent data root (share)
|
||||||
|
# DATADIR - read-only architecture-independent data (DATAROOTDIR)
|
||||||
|
# INFODIR - info documentation (DATAROOTDIR/info)
|
||||||
|
# LOCALEDIR - locale-dependent data (DATAROOTDIR/locale)
|
||||||
|
# MANDIR - man documentation (DATAROOTDIR/man)
|
||||||
|
# DOCDIR - documentation root (DATAROOTDIR/doc/PROJECT_NAME)
|
||||||
|
# Each CMAKE_INSTALL_<dir> value may be passed to the DESTINATION options of
|
||||||
|
# install() commands for the corresponding file type. If the includer does
|
||||||
|
# not define a value the above-shown default will be used and the value will
|
||||||
|
# appear in the cache for editing by the user.
|
||||||
|
# Each CMAKE_INSTALL_FULL_<dir> value contains an absolute path constructed
|
||||||
|
# from the corresponding destination by prepending (if necessary) the value
|
||||||
|
# of CMAKE_INSTALL_PREFIX.
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2011 Nikita Krupen'ko <krnekit@gmail.com>
|
||||||
|
# Copyright 2011 Kitware, Inc.
|
||||||
|
#
|
||||||
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
# see accompanying file Copyright.txt for details.
|
||||||
|
#
|
||||||
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
# See the License for more information.
|
||||||
|
#=============================================================================
|
||||||
|
# (To distribute this file outside of CMake, substitute the full
|
||||||
|
# License text for the above reference.)
|
||||||
|
|
||||||
|
# Installation directories
|
||||||
|
#
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_BINDIR)
|
||||||
|
set(CMAKE_INSTALL_BINDIR "bin" CACHE PATH "user executables (bin)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_SBINDIR)
|
||||||
|
set(CMAKE_INSTALL_SBINDIR "sbin" CACHE PATH "system admin executables (sbin)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_LIBEXECDIR)
|
||||||
|
set(CMAKE_INSTALL_LIBEXECDIR "libexec" CACHE PATH "program executables (libexec)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR)
|
||||||
|
set(CMAKE_INSTALL_SYSCONFDIR "etc" CACHE PATH "read-only single-machine data (etc)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_SHAREDSTATEDIR)
|
||||||
|
set(CMAKE_INSTALL_SHAREDSTATEDIR "com" CACHE PATH "modifiable architecture-independent data (com)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_LOCALSTATEDIR)
|
||||||
|
set(CMAKE_INSTALL_LOCALSTATEDIR "var" CACHE PATH "modifiable single-machine data (var)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
|
||||||
|
set(_LIBDIR_DEFAULT "lib")
|
||||||
|
# Override this default 'lib' with 'lib64' iff:
|
||||||
|
# - we are on Linux system but NOT cross-compiling
|
||||||
|
# - we are NOT on debian
|
||||||
|
# - we are on a 64 bits system
|
||||||
|
# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
|
||||||
|
# Note that the future of multi-arch handling may be even
|
||||||
|
# more complicated than that: http://wiki.debian.org/Multiarch
|
||||||
|
if(CMAKE_SYSTEM_NAME MATCHES "Linux"
|
||||||
|
AND NOT CMAKE_CROSSCOMPILING
|
||||||
|
AND NOT EXISTS "/etc/debian_version")
|
||||||
|
if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
|
||||||
|
message(AUTHOR_WARNING
|
||||||
|
"Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. "
|
||||||
|
"Please enable at least one language before including GNUInstallDirs.")
|
||||||
|
else()
|
||||||
|
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
||||||
|
set(_LIBDIR_DEFAULT "lib64")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
set(CMAKE_INSTALL_LIBDIR "${_LIBDIR_DEFAULT}" CACHE PATH "object code libraries (${_LIBDIR_DEFAULT})")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
|
||||||
|
set(CMAKE_INSTALL_INCLUDEDIR "include" CACHE PATH "C header files (include)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_OLDINCLUDEDIR)
|
||||||
|
set(CMAKE_INSTALL_OLDINCLUDEDIR "/usr/include" CACHE PATH "C header files for non-gcc (/usr/include)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_DATAROOTDIR)
|
||||||
|
set(CMAKE_INSTALL_DATAROOTDIR "share" CACHE PATH "read-only architecture-independent data root (share)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Values whose defaults are relative to DATAROOTDIR. Store empty values in
|
||||||
|
# the cache and store the defaults in local variables if the cache values are
|
||||||
|
# not set explicitly. This auto-updates the defaults as DATAROOTDIR changes.
|
||||||
|
|
||||||
|
if(NOT CMAKE_INSTALL_DATADIR)
|
||||||
|
set(CMAKE_INSTALL_DATADIR "" CACHE PATH "read-only architecture-independent data (DATAROOTDIR)")
|
||||||
|
set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATAROOTDIR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT CMAKE_INSTALL_INFODIR)
|
||||||
|
set(CMAKE_INSTALL_INFODIR "" CACHE PATH "info documentation (DATAROOTDIR/info)")
|
||||||
|
set(CMAKE_INSTALL_INFODIR "${CMAKE_INSTALL_DATAROOTDIR}/info")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT CMAKE_INSTALL_LOCALEDIR)
|
||||||
|
set(CMAKE_INSTALL_LOCALEDIR "" CACHE PATH "locale-dependent data (DATAROOTDIR/locale)")
|
||||||
|
set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT CMAKE_INSTALL_MANDIR)
|
||||||
|
set(CMAKE_INSTALL_MANDIR "" CACHE PATH "man documentation (DATAROOTDIR/man)")
|
||||||
|
set(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_DATAROOTDIR}/man")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT CMAKE_INSTALL_DOCDIR)
|
||||||
|
set(CMAKE_INSTALL_DOCDIR "" CACHE PATH "documentation root (DATAROOTDIR/doc/PROJECT_NAME)")
|
||||||
|
set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
mark_as_advanced(
|
||||||
|
CMAKE_INSTALL_BINDIR
|
||||||
|
CMAKE_INSTALL_SBINDIR
|
||||||
|
CMAKE_INSTALL_LIBEXECDIR
|
||||||
|
CMAKE_INSTALL_SYSCONFDIR
|
||||||
|
CMAKE_INSTALL_SHAREDSTATEDIR
|
||||||
|
CMAKE_INSTALL_LOCALSTATEDIR
|
||||||
|
CMAKE_INSTALL_LIBDIR
|
||||||
|
CMAKE_INSTALL_INCLUDEDIR
|
||||||
|
CMAKE_INSTALL_OLDINCLUDEDIR
|
||||||
|
CMAKE_INSTALL_DATAROOTDIR
|
||||||
|
CMAKE_INSTALL_DATADIR
|
||||||
|
CMAKE_INSTALL_INFODIR
|
||||||
|
CMAKE_INSTALL_LOCALEDIR
|
||||||
|
CMAKE_INSTALL_MANDIR
|
||||||
|
CMAKE_INSTALL_DOCDIR
|
||||||
|
)
|
||||||
|
|
||||||
|
# Result directories
|
||||||
|
#
|
||||||
|
foreach(dir
|
||||||
|
BINDIR
|
||||||
|
SBINDIR
|
||||||
|
LIBEXECDIR
|
||||||
|
SYSCONFDIR
|
||||||
|
SHAREDSTATEDIR
|
||||||
|
LOCALSTATEDIR
|
||||||
|
LIBDIR
|
||||||
|
INCLUDEDIR
|
||||||
|
OLDINCLUDEDIR
|
||||||
|
DATAROOTDIR
|
||||||
|
DATADIR
|
||||||
|
INFODIR
|
||||||
|
LOCALEDIR
|
||||||
|
MANDIR
|
||||||
|
DOCDIR
|
||||||
|
)
|
||||||
|
if(NOT IS_ABSOLUTE ${CMAKE_INSTALL_${dir}})
|
||||||
|
set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}")
|
||||||
|
else()
|
||||||
|
set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_${dir}}")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
4
CalamaresBuildTreeSettings.cmake.in
Normal file
4
CalamaresBuildTreeSettings.cmake.in
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
set(CALAMARES_INCLUDE_DIRS
|
||||||
|
"@PROJECT_SOURCE_DIR@/src/libcalamares"
|
||||||
|
"@PROJECT_BINARY_DIR@/src/libcalamares"
|
||||||
|
)
|
21
CalamaresConfig.cmake.in
Normal file
21
CalamaresConfig.cmake.in
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# - Config file for the Calamares package
|
||||||
|
# It defines the following variables
|
||||||
|
# CALAMARES_INCLUDE_DIRS - include directories for Calamares
|
||||||
|
# CALAMARES_LIBRARIES - libraries to link against
|
||||||
|
# CALAMARES_EXECUTABLE - the bar executable
|
||||||
|
|
||||||
|
# Compute paths
|
||||||
|
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("${CALAMARES_CMAKE_DIR}/CalamaresLibraryDepends.cmake")
|
||||||
|
|
||||||
|
# These are IMPORTED targets created by CalamaresLibraryDepends.cmake
|
||||||
|
set(CALAMARES_LIBRARIES calamareslib)
|
||||||
|
#set(CALAMARES_USE_FILE "${CALAMARES_CMAKE_DIR}/CalamaresUse.cmake")
|
12
CalamaresConfigVersion.cmake.in
Normal file
12
CalamaresConfigVersion.cmake.in
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
set(PACKAGE_VERSION "@CALAMARES_VERSION@")
|
||||||
|
|
||||||
|
# Check whether the requested PACKAGE_FIND_VERSION is compatible
|
||||||
|
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||||
|
else()
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||||
|
if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
|
||||||
|
set(PACKAGE_VERSION_EXACT TRUE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
21
cmake_uninstall.cmake.in
Normal file
21
cmake_uninstall.cmake.in
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
|
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
|
||||||
|
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
|
|
||||||
|
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||||
|
STRING(REGEX REPLACE "\n" ";" files "${files}")
|
||||||
|
FOREACH(file ${files})
|
||||||
|
MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
|
||||||
|
IF(EXISTS "$ENV{DESTDIR}${file}")
|
||||||
|
EXEC_PROGRAM(
|
||||||
|
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
|
||||||
|
OUTPUT_VARIABLE rm_out
|
||||||
|
RETURN_VALUE rm_retval
|
||||||
|
)
|
||||||
|
IF(NOT "${rm_retval}" STREQUAL 0)
|
||||||
|
MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
|
||||||
|
ENDIF(NOT "${rm_retval}" STREQUAL 0)
|
||||||
|
ELSE(EXISTS "$ENV{DESTDIR}${file}")
|
||||||
|
MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
|
||||||
|
ENDIF(EXISTS "$ENV{DESTDIR}${file}")
|
||||||
|
ENDFOREACH(file)
|
11
src/CMakeLists.txt
Normal file
11
src/CMakeLists.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
include_directories( ${CMAKE_CURRENT_BINARY_DIR}/libcalamares )
|
||||||
|
include_directories( ${CMAKE_CURRENT_LIST_DIR}/libcalamares )
|
||||||
|
|
||||||
|
include_directories( ${CMAKE_CURRENT_BINARY_DIR} )
|
||||||
|
include_directories( ${CMAKE_CURRENT_LIST_DIR} )
|
||||||
|
|
||||||
|
# library
|
||||||
|
add_subdirectory( libcalamares )
|
||||||
|
|
||||||
|
# application
|
||||||
|
add_subdirectory( calamares )
|
52
src/calamares/CMakeLists.txt
Normal file
52
src/calamares/CMakeLists.txt
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
project( calamares )
|
||||||
|
|
||||||
|
if( NOT CMAKE_BUILD_TYPE STREQUAL "Release" )
|
||||||
|
message( "Building in debug mode, enabling all debug updates" )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set( calamaresSources
|
||||||
|
main.cpp
|
||||||
|
CalamaresApplication.cpp
|
||||||
|
MainWindow.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
set( calamaresUi
|
||||||
|
#ui files go here
|
||||||
|
)
|
||||||
|
|
||||||
|
include_directories(
|
||||||
|
.
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/../libcalamares
|
||||||
|
|
||||||
|
../libcalamares
|
||||||
|
)
|
||||||
|
|
||||||
|
include( GNUInstallDirs )
|
||||||
|
|
||||||
|
qt5_wrap_ui( calamaresUi_H ${calamaresUi} )
|
||||||
|
|
||||||
|
#qt_add_resources( calamaresRc "../../resources.qrc" )
|
||||||
|
|
||||||
|
set( final_src ${calamaresUi_H} ${calamaresSources} ${calamaresRc} )
|
||||||
|
|
||||||
|
add_executable( calamares_bin ${final_src} )
|
||||||
|
SET_TARGET_PROPERTIES(calamares_bin
|
||||||
|
PROPERTIES
|
||||||
|
AUTOMOC TRUE
|
||||||
|
RUNTIME_OUTPUT_NAME calamares_bin
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
qt5_use_modules( calamares_bin Core Widgets )
|
||||||
|
target_link_libraries( calamares_bin
|
||||||
|
${LINK_LIBRARIES}
|
||||||
|
${CALAMARES_LIBRARIES}
|
||||||
|
Qt5Core
|
||||||
|
Qt5Widgets
|
||||||
|
)
|
||||||
|
|
||||||
|
install( TARGETS calamares_bin
|
||||||
|
BUNDLE DESTINATION .
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
)
|
0
src/calamares/CalamaresApplication.cpp
Normal file
0
src/calamares/CalamaresApplication.cpp
Normal file
0
src/calamares/CalamaresApplication.h
Normal file
0
src/calamares/CalamaresApplication.h
Normal file
9
src/calamares/CalamaresVersion.h.in
Normal file
9
src/calamares/CalamaresVersion.h.in
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#ifndef CALAMARES_VERSION_H
|
||||||
|
#define CALAMARES_VERSION_H
|
||||||
|
|
||||||
|
#cmakedefine CALAMARES_ORGANIZATION_NAME "${CALAMARES_ORGANIZATION_NAME}"
|
||||||
|
#cmakedefine CALAMARES_ORGANIZATION_DOMAIN "${CALAMARES_ORGANIZATION_DOMAIN}"
|
||||||
|
#cmakedefine CALAMARES_APPLICATION_NAME "${CALAMARES_APPLICATION_NAME}"
|
||||||
|
#cmakedefine CALAMARES_VERSION "${CALAMARES_VERSION}"
|
||||||
|
|
||||||
|
#endif // CALAMARES_VERSION_H
|
10
src/calamares/Config.h.in
Normal file
10
src/calamares/Config.h.in
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#ifndef CONFIG_H_IN
|
||||||
|
#define CONFIG_H_IN
|
||||||
|
|
||||||
|
#define CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}"
|
||||||
|
#define CMAKE_INSTALL_FULL_LIBEXECDIR "${CMAKE_INSTALL_FULL_LIBEXECDIR}"
|
||||||
|
#define CMAKE_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}"
|
||||||
|
|
||||||
|
//cmakedefines for CMake variables (e.g. for optdepends) go here
|
||||||
|
|
||||||
|
#endif // CONFIG_H_IN
|
0
src/calamares/MainWindow.cpp
Normal file
0
src/calamares/MainWindow.cpp
Normal file
0
src/calamares/MainWindow.h
Normal file
0
src/calamares/MainWindow.h
Normal file
0
src/calamares/main.cpp
Normal file
0
src/calamares/main.cpp
Normal file
55
src/libcalamares/CMakeLists.txt
Normal file
55
src/libcalamares/CMakeLists.txt
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
project( calamareslib )
|
||||||
|
|
||||||
|
add_definitions( ${QT_DEFINITIONS} )
|
||||||
|
add_definitions( -DQT_SHARED )
|
||||||
|
add_definitions( -DQT_SHAREDPOINTER_TRACK_POINTERS )
|
||||||
|
|
||||||
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../calamares/Config.h.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
||||||
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../calamares/CalamaresVersion.h.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/CalamaresVersion.h)
|
||||||
|
|
||||||
|
set( libSources
|
||||||
|
JobQueue.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
include_directories(
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
|
||||||
|
${QT_INCLUDE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library( calamareslib SHARED ${libSources})
|
||||||
|
set_target_properties(
|
||||||
|
calamareslib
|
||||||
|
PROPERTIES
|
||||||
|
AUTOMOC TRUE
|
||||||
|
VERSION ${CALAMARES_VERSION_SHORT}
|
||||||
|
SOVERSION ${CALAMARES_VERSION_SHORT}
|
||||||
|
OUTPUT_NAME "calamares"
|
||||||
|
)
|
||||||
|
|
||||||
|
qt5_use_modules( calamareslib Widgets )
|
||||||
|
|
||||||
|
target_link_libraries( calamareslib
|
||||||
|
#LINK_PRIVATE
|
||||||
|
# internal deps, if any
|
||||||
|
|
||||||
|
LINK_PUBLIC
|
||||||
|
# External deps
|
||||||
|
Qt5Core
|
||||||
|
)
|
||||||
|
|
||||||
|
install( TARGETS calamareslib
|
||||||
|
EXPORT CalamaresLibraryDepends
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
# Install header files
|
||||||
|
file( GLOB rootHeaders "*.h" )
|
||||||
|
|
||||||
|
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h DESTINATION include/libcalamares )
|
||||||
|
install( FILES ${rootHeaders} DESTINATION include/libcalamares )
|
0
src/libcalamares/JobQueue.cpp
Normal file
0
src/libcalamares/JobQueue.cpp
Normal file
0
src/libcalamares/JobQueue.h
Normal file
0
src/libcalamares/JobQueue.h
Normal file
Loading…
Reference in New Issue
Block a user