From 49304849318241258ae7159cf38f32b708fe63c2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Sep 2017 14:59:53 +0200 Subject: [PATCH] CMake: massage build of libcalamares - Build also two OBJECT libraries, - Allow changing Clang warnings for third-party code. --- src/libcalamares/CMakeLists.txt | 41 ++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index 1f91e0050..c97e35ada 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -1,4 +1,4 @@ -project( libcalamares ) +project( libcalamares CXX ) add_definitions( ${QT_DEFINITIONS} @@ -19,24 +19,40 @@ set( libSources JobQueue.cpp ProcessJob.cpp ) -set( kdsagSources - kdsingleapplicationguard/kdsingleapplicationguard.cpp - kdsingleapplicationguard/kdsharedmemorylocker.cpp - kdsingleapplicationguard/kdtoolsglobal.cpp - kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} ) -set( utilSources + +# Build subdirs as their own separate OBJECT libraries, +# to allow changing compiler warnings on their code. +set( utilsSources utils/CalamaresUtils.cpp utils/CalamaresUtilsSystem.cpp utils/Logger.cpp utils/PluginFactory.cpp utils/Retranslator.cpp ) +add_library( utilsLib OBJECT ${utilsSources} ) +target_compile_options( utilsLib PUBLIC -fPIC ) +target_include_directories( utilsLib PUBLIC + $ +) +set_target_properties( utilsLib PROPERTIES AUTOMOC TRUE ) -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} +set( kdsagSources + kdsingleapplicationguard/kdsingleapplicationguard.cpp + kdsingleapplicationguard/kdsharedmemorylocker.cpp + kdsingleapplicationguard/kdtoolsglobal.cpp + kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp ) +add_library( kdsagLib OBJECT ${kdsagSources} ) +target_compile_options( kdsagLib PUBLIC -fPIC ) +target_include_directories( kdsagLib PUBLIC + $ +) +set_target_properties( kdsagLib PROPERTIES AUTOMOC TRUE ) if( WITH_PYTHON ) @@ -75,7 +91,10 @@ if( WITH_PYTHONQT ) endif() -add_library( calamares SHARED ${libSources} ${kdsagSources} ${utilSources} ) +add_library( calamares SHARED ${libSources} + $ + $ +) set_target_properties( calamares PROPERTIES AUTOMOC TRUE