Skip to content

Commit

Permalink
Fixed Git build version in the about dialog
Browse files Browse the repository at this point in the history
previously was displayed the library build version, which is no more the same
after the library and plugins repository split.
  • Loading branch information
redtide committed Jan 4, 2024
1 parent e32999f commit dd9ae41
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 7 deletions.
16 changes: 16 additions & 0 deletions plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,19 @@ endif()
if(PLUGIN_PUREDATA)
add_subdirectory(puredata)
endif()

# Git build identifier
add_custom_target(plugins-generate-git-build-id
COMMAND "${CMAKE_COMMAND}"
"-DSOURCE_DIR=${PROJECT_SOURCE_DIR}"
"-DOUTPUT_FILE=${PROJECT_BINARY_DIR}/git-build-id/PluginGitBuildId.c"
"-DPREFIX=Plugin"
"-P" "${PROJECT_SOURCE_DIR}/library/cmake/GitBuildID.cmake"
BYPRODUCTS "${PROJECT_BINARY_DIR}/git-build-id/PluginGitBuildId.c")
add_library(plugins-git-build-id STATIC EXCLUDE_FROM_ALL
"${PROJECT_SOURCE_DIR}/plugins/git-build-id/PluginGitBuildId.h"
"${PROJECT_BINARY_DIR}/git-build-id/PluginGitBuildId.c")
target_include_directories(plugins-git-build-id PUBLIC "plugins/git-build-id")
add_dependencies(plugins-git-build-id plugins-generate-git-build-id)

target_link_libraries(sfizz_editor PRIVATE plugins-git-build-id)
8 changes: 4 additions & 4 deletions plugins/editor/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,10 @@ add_library(sfizz_editor STATIC EXCLUDE_FROM_ALL
)
add_library(sfizz::editor ALIAS sfizz_editor)

target_include_directories(sfizz_editor PUBLIC "src")
target_include_directories(sfizz_editor PUBLIC
src
${PROJECT_SOURCE_DIR}/plugins/git-build-id
)
target_link_libraries(sfizz_editor PUBLIC sfizz::messaging sfizz::plugins-common)
target_link_libraries(sfizz_editor PRIVATE sfizz::vstgui)
target_compile_definitions(sfizz_editor PRIVATE
Expand Down Expand Up @@ -161,6 +164,3 @@ if(NOT CMAKE_CROSSCOMPILING)
DEPENDS layout-maker "${CMAKE_CURRENT_SOURCE_DIR}/layout/${_layout}.fl")
endforeach()
endif()

# Git build identifier
target_link_libraries(sfizz_editor PRIVATE sfizz-git-build-id)
6 changes: 3 additions & 3 deletions plugins/editor/src/editor/DlgAbout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include "DlgAbout.h"
#include "GUIComponents.h"
#include "GUIDefs.h"
#include "GitBuildId.h"
#include "PluginGitBuildId.h"
#include "NativeHelpers.h"

#include "utility/vstgui_before.h"
Expand Down Expand Up @@ -53,8 +53,8 @@ SAboutDialog::SAboutDialog(const CRect& bounds)

const char* version = SFIZZ_VERSION;
std::string versionBuf;
if (GitBuildId[0]) {
versionBuf = absl::StrCat(SFIZZ_VERSION ".", GitBuildId);
if (PluginGitBuildId[0]) {
versionBuf = absl::StrCat(SFIZZ_VERSION ".", PluginGitBuildId);
version = versionBuf.c_str();
}
#if 0
Expand Down
21 changes: 21 additions & 0 deletions plugins/git-build-id/PluginGitBuildId.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: BSD-2-Clause

// This code is part of the sfizz library and is licensed under a BSD 2-clause
// license. You should have receive a LICENSE.md file along with the code.
// If not, contact the sfizz maintainers at https://github.com/sfztools/sfizz

#pragma once

#if defined(__cplusplus)
extern "C" {
#endif

/**
* @brief Short identifier of the current head commit.
* This generated identifier is empty if the build is not from a Git repository.
*/
extern const char* PluginGitBuildId;

#if defined(__cplusplus)
} // extern "C"
#endif

0 comments on commit dd9ae41

Please sign in to comment.