CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12) PROJECT(rpk-installer) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(BINDIR "${CMAKE_INSTALL_PREFIX}/bin") SET(LIBDIR ${LIB_INSTALL_DIR}) SET(INCLUDEDIR "\${prefix}/include") ## Compiler flags SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Werror -ffunction-sections -fdata-sections -fmerge-all-constants -fPIE") ## Linker flags SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed,--gc-sections -pie") SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/") ## Targets SET(TARGET_LIBNAME_RPK "rpk-installer") SET(TARGET_LIBNAME_RPK_ARCHIVE_INFO "rpk") SET(TARGET_LIBNAME_RPK_MANIFEST_HANDLERS "rpk-manifest-handlers") ENABLE_TESTING() SET(TARGET_RPK_INSTALLER_UNIT_TEST "rpk-installer-unit-test") ADD_DEFINITIONS("-DPROJECT_TAG=\"RPK_INSTALLER\"") INCLUDE(FindPkgConfig) INCLUDE(ApplyPkgConfig) # Find all needed packages once PKG_CHECK_MODULES(APP_INSTALLERS_DEPS REQUIRED app-installers) PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock) PKG_CHECK_MODULES(PKGMGR_DEPS REQUIRED pkgmgr) PKG_CHECK_MODULES(MANIFEST_PARSER_DEPS REQUIRED manifest-parser) PKG_CHECK_MODULES(MANIFEST_PARSER_UTILS_DEPS REQUIRED manifest-parser-utils) PKG_CHECK_MODULES(LIBSYSTEMD_DEPS REQUIRED libsystemd) PKG_CHECK_MODULES(AUL_DEPS REQUIRED aul) FIND_PACKAGE(Boost REQUIRED COMPONENTS system filesystem) ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(test)