mirror of
https://github.com/slint-ui/slint.git
synced 2025-07-16 09:35:21 +00:00

We currently forward declare classes as we use them in functions. But this breaks if classes with the same name were declared in the parent namespace. As shown with this example ```C++ // Uncomment that line to make the code break //struct SharedGlobals; namespace ns { // Is that a forward declaration in `ns`? // Depends if it was declared before in the parent namespace void foo(struct SharedGlobals *x) {} // Actualy define ns::SharedGlobal struct SharedGlobals { int x; }; int xyz() { SharedGlobals globals; foo(&globals); } } ``` So make sure we forward-declare the classes properly to be more robust and be able to include generated file with namespace after a file without namespace CC #2909
8 lines
447 B
CMake
8 lines
447 B
CMake
# Copyright © SixtyFPS GmbH <info@slint.dev>
|
|
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
|
|
|
|
add_executable(multiple-includes main.cpp logic.cpp)
|
|
target_link_libraries(multiple-includes PRIVATE Slint::Slint)
|
|
slint_target_sources(multiple-includes app-window.slint COMPILATION_UNITS 0)
|
|
slint_target_sources(multiple-includes another-window.slint NAMESPACE other COMPILATION_UNITS 0)
|
|
|