Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add configuration header #124

Merged
merged 3 commits into from
Jun 3, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions cmake/scripts.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -254,14 +254,6 @@ function(configure_libappimage_module target)
PRIVATE -DENABLE_BINRELOC
)

if(LIBAPPIMAGE_DESKTOP_INTEGRATION_ENABLED)
target_compile_definitions (${target} PUBLIC -DLIBAPPIMAGE_DESKTOP_INTEGRATION_ENABLED)
endif()

if(LIBAPPIMAGE_THUMBNAILER_ENABLED)
target_compile_definitions (${target} PUBLIC -DLIBAPPIMAGE_THUMBNAILER_ENABLED)
endif()

target_include_directories(${target}
PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include/>
PRIVATE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/libappimage>
Expand Down
1 change: 1 addition & 0 deletions include/appimage/appimage++.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* C++ headers aggregation to differentiate from the C only interface.
*/

#include <appimage/config.h>
azubieta marked this conversation as resolved.
Show resolved Hide resolved
#include <appimage/core/AppImage.h>

#ifdef LIBAPPIMAGE_DESKTOP_INTEGRATION_ENABLED
Expand Down
3 changes: 3 additions & 0 deletions include/appimage/appimage.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ extern "C" {
#include <unistd.h>
#include <stdbool.h>

// Configuration header
#include <appimage/config.h>

// include header of shared library, which contains more appimage_ functions
#include <appimage/appimage_shared.h>

Expand Down
3 changes: 3 additions & 0 deletions include/appimage/appimage_legacy.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
// system
#include <stdio.h>

// local
#include <appimage/config.h>

/**
* All of the functions in this header are deprecated and must not be used in newly written code
*/
Expand Down
1 change: 1 addition & 0 deletions include/appimage/desktop_integration/IntegrationManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
// local
#include <appimage/desktop_integration/exceptions.h>
#include <appimage/core/AppImage.h>
#include <appimage/config.h>

namespace appimage {
namespace desktop_integration {
Expand Down
14 changes: 13 additions & 1 deletion src/libappimage/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ endif()
add_library(libappimage_static STATIC ${libappimage_sources})
add_library(libappimage SHARED ${libappimage_sources} libappimage_legacy.cpp)

configure_file(config.h.in ${PROJECT_BINARY_DIR}/generated-headers/appimage/config.h)

foreach(target libappimage libappimage_static)
configure_libappimage_module(${target})
target_link_libraries(
Expand Down Expand Up @@ -45,7 +47,11 @@ foreach(target libappimage libappimage_static)
target_link_libraries(${target} PRIVATE -static-libgcc -static-libstdc++)
endif()

target_include_directories(${target} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_include_directories(
${target}
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
PUBLIC $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/generated-headers>
)

set_property(TARGET libappimage PROPERTY PUBLIC_HEADER ${libappimage_public_header})

Expand All @@ -70,6 +76,12 @@ install(
COMPONENT libappimage-dev
)

install(
azubieta marked this conversation as resolved.
Show resolved Hide resolved
DIRECTORY ${PROJECT_BINARY_DIR}/generated-headers/appimage/
DESTINATION include/appimage
COMPONENT libappimage-dev
)

# Add all targets to the build-tree export set
export(
TARGETS libappimage libappimage_shared libappimage_hashlib
Expand Down
15 changes: 15 additions & 0 deletions src/libappimage/config.h.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#pragma once

// LibAppImage Version

#define LIBAPPIMAGE_VERSION_MAJOR @V_MAJOR@
#define LIBAPPIMAGE_VERSION_MINOR @V_MINOR@
#define LIBAPPIMAGE_VERSION_PATCH @V_PATCH@
#define LIBAPPIMAGE_VERSION_SUFFIX @V_SUFFIX@

#define LIBAPPIMAGE_VERSION "@libappimage_VERSION@"

// Features

#cmakedefine LIBAPPIMAGE_DESKTOP_INTEGRATION_ENABLED
#cmakedefine LIBAPPIMAGE_THUMBNAILER_ENABLED
1 change: 1 addition & 0 deletions src/libappimage/desktop_integration/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ target_include_directories(
PRIVATE $<TARGET_PROPERTY:XdgUtils::DesktopEntry,INTERFACE_INCLUDE_DIRECTORIES>
PRIVATE $<TARGET_PROPERTY:XdgUtils::BaseDir,INTERFACE_INCLUDE_DIRECTORIES>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/generated-headers>
)

configure_libappimage_module(appimage_desktop_integration)
Expand Down
2 changes: 1 addition & 1 deletion src/libappimage/libappimage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@
#include <XdgUtils/DesktopEntry/DesktopEntry.h>
#include <appimage/utils/ResourcesExtractor.h>
#include <appimage/core/AppImage.h>
#include <appimage/config.h>
#include "utils/Logger.h"
#include "utils/hashlib.h"
#include "utils/UrlEncoder.h"
#include "utils/path_utils.h"

#ifdef LIBAPPIMAGE_DESKTOP_INTEGRATION_ENABLED

#include <appimage/desktop_integration/IntegrationManager.h>
#include <appimage/appimage.h>
#endif
Expand Down
1 change: 1 addition & 0 deletions tests/libappimage/desktop_integration/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ target_include_directories(
PRIVATE "${PROJECT_SOURCE_DIR}/include"
PRIVATE "${PROJECT_SOURCE_DIR}/src/libappimage"
PRIVATE "${PROJECT_SOURCE_DIR}/src/libappimage/desktop_integration"
PRIVATE "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/generated-headers>"
)

target_link_libraries(
Expand Down
3 changes: 0 additions & 3 deletions tests/libappimage/legacy/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ target_sources(fixtures INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/fixtures.h)
set_property(TARGET fixtures PROPERTY INTERFACE_LINK_LIBRARIES xdg-basedir gtest)

add_executable(test_libappimage test_libappimage.cpp)
if(LIBAPPIMAGE_THUMBNAILER_ENABLED)
target_compile_definitions(test_libappimage PRIVATE -DLIBAPPIMAGE_THUMBNAILER_ENABLED)
endif()
target_link_libraries(test_libappimage fixtures libappimage libsquashfuse libglib libgobject gtest gtest_main)
add_test(test_libappimage test_libappimage)

Expand Down