From 63dc84aba0b49b7561bab84bf2292214177eb980 Mon Sep 17 00:00:00 2001 From: Nav Date: Fri, 29 Apr 2022 22:12:47 +0100 Subject: [PATCH] Moved CMake installation rules into separate CMake file. Plus some other tidying --- CMakeLists.txt | 39 ++++++++++----------------------------- Installing.cmake | 31 +++++++++++++++++++++++++++++++ src/Helpers/Paths.hpp | 4 ++-- 3 files changed, 43 insertions(+), 31 deletions(-) create mode 100644 Installing.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 46f70327..d19556bd 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,10 +60,18 @@ if (${CMAKE_BUILD_TYPE} MATCHES "Debug") # CMAKE_BUILD_RPATH needs to point to the local Qt installation, to use Gammaray during development. # This is because the distributed Qt binaries may not be compatible with the local installation of Gammaray + # If you don't intend to use Gammaray, you can comment this out set(CMAKE_BUILD_RPATH /opt/Qt/6.1.2/gcc_64/lib/) endif() -add_executable(Bloom build/resources/TargetDescriptionFiles/AVR/Mapping.json) +add_executable(Bloom) + +target_sources( + Bloom + PRIVATE + build/resources/TargetDescriptionFiles/AVR/Mapping.json +) + add_subdirectory(src) set_target_properties(Bloom PROPERTIES OUTPUT_NAME bloom) @@ -192,34 +200,7 @@ add_custom_command( ${CMAKE_CURRENT_SOURCE_DIR}/build/resources/UDevRules/99-bloom.rules ) -# Installation configuration -set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/release/") - -install(TARGETS Bloom DESTINATION bin PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ) - -install( - DIRECTORY build/bin/plugins - DESTINATION "bin" - DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ -) - -install( - DIRECTORY build/bin/platforms - DESTINATION "bin" - DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ -) - -install( - DIRECTORY build/resources - DESTINATION "." - DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ -) - -install( - DIRECTORY build/bin/lib - DESTINATION "bin" - DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ -) +include(./Installing.cmake) configure_file( "${PROJECT_SOURCE_DIR}/Packaging.cmake" diff --git a/Installing.cmake b/Installing.cmake new file mode 100644 index 00000000..f272d2e0 --- /dev/null +++ b/Installing.cmake @@ -0,0 +1,31 @@ +# Installation configuration +# +# When running the Install step, we don't actually install Bloom on the user's machine. We install it in a release +# directory, to be used for packaging. +set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/release/") + +install(TARGETS Bloom DESTINATION bin PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ) + +install( + DIRECTORY build/bin/plugins + DESTINATION "bin" + DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ +) + +install( + DIRECTORY build/bin/platforms + DESTINATION "bin" + DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ +) + +install( + DIRECTORY build/resources + DESTINATION "." + DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ +) + +install( + DIRECTORY build/bin/lib + DESTINATION "bin" + DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ +) diff --git a/src/Helpers/Paths.hpp b/src/Helpers/Paths.hpp index bf0cc3da..7765cb9e 100644 --- a/src/Helpers/Paths.hpp +++ b/src/Helpers/Paths.hpp @@ -69,7 +69,7 @@ namespace Bloom * * @return */ - static inline std::string compiledResourcesPath() { + static std::string compiledResourcesPath() { #ifdef BLOOM_COMPILED_RESOURCES_PATH_OVERRIDE return {BLOOM_COMPILED_RESOURCES_PATH_OVERRIDE}; #else @@ -85,7 +85,7 @@ namespace Bloom * * @return */ - static inline std::string homeDomainName() { + static std::string homeDomainName() { #ifdef BLOOM_HOME_DOMAIN_NAME_OVERRIDE return {BLOOM_HOME_DOMAIN_NAME_OVERRIDE}; #else