mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 04:47:34 +00:00
HackStudio: Change ProjectBuilder dependency declaration logic
Previously when generating the HackStudio CMake build file, we used all dependency libraries that are specified in target_link_libraries commands as the dependencies of a library. The recent addition of LibCryptSHA2 broke things because that library is not declared with serenity_lib like most other libraries (it uses special linking properties). This means that we don't declare it in the CMake file we generate. To fix this, we now filter the dependencies and only include libraries that we define in the build CMake file.
This commit is contained in:
parent
404daa0e33
commit
0367893e53
2 changed files with 50 additions and 14 deletions
|
@ -37,8 +37,13 @@ private:
|
|||
String generate_cmake_file_content() const;
|
||||
ErrorOr<void> update_active_file(StringView active_file);
|
||||
|
||||
static void generate_cmake_library_definitions(StringBuilder&);
|
||||
static void generate_cmake_library_dependencies(StringBuilder&);
|
||||
struct LibraryInfo {
|
||||
String path;
|
||||
Vector<String> dependencies {};
|
||||
};
|
||||
static HashMap<String, NonnullOwnPtr<LibraryInfo>> get_defined_libraries();
|
||||
static void for_each_library_definition(Function<void(String, String)>);
|
||||
static void for_each_library_dependencies(Function<void(String, Vector<StringView>)>);
|
||||
static ErrorOr<String> component_name(StringView cmake_file_path);
|
||||
static ErrorOr<void> verify_cmake_is_installed();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue