diff --git a/CMakeLists.txt b/CMakeLists.txt index d7bcf4198..4953b2474 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,11 +27,55 @@ if (WIN32) SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${RUNTIME_OUTPUT_DIRECTORY}) endif () +find_program(CCACHE_PROGRAM ccache) +if (CCACHE_PROGRAM) + set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") + message("Using ${CCACHE_PROGRAM} for speeding up build") +endif () + +find_package(Git) + +if (GIT_EXECUTABLE) + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --is-inside-work-tree + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + RESULT_VARIABLE GIT_REPOSITORY_NOT_FOUND + ERROR_QUIET + ) +endif () + +if (GIT_EXECUTABLE AND NOT GIT_REPOSITORY_NOT_FOUND) + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + execute_process( + COMMAND ${GIT_EXECUTABLE} describe + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_RELEASE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +else () + set(GIT_HASH "GIT-REPOSITORY-NOT-FOUND") + set(GIT_COMMIT "GIT-REPOSITORY-NOT-FOUND") + set(GIT_RELEASE "GIT-REPOSITORY-NOT-FOUND") +endif () + find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui Network Multimedia Svg Concurrent) if (WIN32) find_package(WinToast REQUIRED) -endif() +endif () if (USE_PACKAGE_MANAGER) include(pmm) @@ -60,7 +104,6 @@ endif (USE_PACKAGE_MANAGER) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) - if (BUILD_APP) add_subdirectory(src) endif () @@ -69,4 +112,6 @@ if (BUILD_TESTS) add_subdirectory(tests) endif () +message("Injected git values: ${GIT_COMMIT} (${GIT_RELEASE}) ${GIT_HASH}") + feature_summary(WHAT ALL) \ No newline at end of file diff --git a/conan-pkgs/QtKeychain/conanfile.py b/conan-pkgs/QtKeychain/conanfile.py index e508efeb9..9bb639e5e 100644 --- a/conan-pkgs/QtKeychain/conanfile.py +++ b/conan-pkgs/QtKeychain/conanfile.py @@ -13,20 +13,19 @@ class QtKeychainConan(ConanFile): def source(self): git = tools.Git() - git.clone("https://github.com/Chatterino/qtkeychain.git") - git.checkout("308ea7e709113dc277be1653fe2044bb20236836") + git.clone("https://github.com/frankosterfeld/qtkeychain.git") + git.checkout("9a22739ea5d36bb3de46dbb93b22da2b2c119461") def build(self): cmake = CMake(self) cmake.definitions['BUILD_TRANSLATIONS'] = 'OFF' cmake.definitions['BUILD_TEST_APPLICATION'] = 'OFF' - cmake.definitions['QTKEYCHAIN_STATIC'] = 'ON' + # cmake.definitions['QTKEYCHAIN_STATIC'] = 'ON' cmake.configure() cmake.build() def package(self): cmake = CMake(self) cmake.install() - def package_info(self): self.cpp_info.libs = tools.collect_libs(self) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a50e3a653..783463652 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -220,7 +220,7 @@ generate_source_groups(${SOURCE_FILES}) add_executable(${PROJECT_NAME} ${SOURCE_FILES}) target_compile_definitions(${PROJECT_NAME} PRIVATE CMAKE_BUILD CHATTERINO UNICODE AB_CUSTOM_THEME AB_CUSTOM_SETTINGS IRC_STATIC IRC_NAMESPACE=Communi) -target_compile_definitions(${PROJECT_NAME} PRIVATE CHATTERINO_GIT_HASH=\"XD\" CHATTERINO_GIT_RELEASE=\"XD\" CHATTERINO_GIT_COMMIT=\"XD\") +target_compile_definitions(${PROJECT_NAME} PRIVATE CHATTERINO_GIT_HASH=\"${GIT_HASH}\" CHATTERINO_GIT_RELEASE=\"${GIT_RELEASE}\" CHATTERINO_GIT_COMMIT=\"${GIT_COMMIT}\") if (WIN32) target_compile_definitions(${PROJECT_NAME} PRIVATE USEWINSDK) endif () diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index f20ae40d9..23d4d3886 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -63,7 +63,7 @@ else () endif () target_compile_definitions(${PROJECT_NAME} PRIVATE CHATTERINO CHATTERINO_TEST UNICODE AB_CUSTOM_THEME AB_CUSTOM_SETTINGS IRC_STATIC IRC_NAMESPACE=Communi) -target_compile_definitions(${PROJECT_NAME} PRIVATE CHATTERINO_GIT_HASH=\"XD\" CHATTERINO_GIT_RELEASE=\"XD\" CHATTERINO_GIT_COMMIT=\"XD\") +target_compile_definitions(${PROJECT_NAME} PRIVATE CHATTERINO_GIT_HASH=\"${GIT_HASH}\" CHATTERINO_GIT_RELEASE=\"${GIT_RELEASE}\" CHATTERINO_GIT_COMMIT=\"${GIT_COMMIT}\") if (WIN32) target_compile_definitions(${PROJECT_NAME} PRIVATE USEWINSDK) endif ()