Tests/QtAutogen: Test same moc/qrc source names in different directories
This commit is contained in:
parent
4e9b97d739
commit
e4f508e423
|
@ -110,6 +110,10 @@ set_target_properties(
|
||||||
AUTOMOC TRUE
|
AUTOMOC TRUE
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Test AUTOMOC and AUTORCC on source files with the same name
|
||||||
|
# but in different subdirectories
|
||||||
|
add_subdirectory(sameName)
|
||||||
|
|
||||||
include(GenerateExportHeader)
|
include(GenerateExportHeader)
|
||||||
# The order is relevant here. B depends on A, and B headers depend on A
|
# The order is relevant here. B depends on A, and B headers depend on A
|
||||||
# headers both subdirectories use CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE and we
|
# headers both subdirectories use CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE and we
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
# Test AUTOMOC and AUTORCC on source files with the same name
|
||||||
|
# but in different subdirectories
|
||||||
|
|
||||||
|
add_executable(sameName
|
||||||
|
aaa/bbb/item.cpp
|
||||||
|
aaa/bbb/data.qrc
|
||||||
|
aaa/item.cpp
|
||||||
|
aaa/data.qrc
|
||||||
|
bbb/aaa/item.cpp
|
||||||
|
bbb/aaa/data.qrc
|
||||||
|
bbb/item.cpp
|
||||||
|
bbb/data.qrc
|
||||||
|
ccc/item.cpp
|
||||||
|
ccc/data.qrc
|
||||||
|
item.cpp
|
||||||
|
data.qrc
|
||||||
|
main.cpp
|
||||||
|
)
|
||||||
|
target_include_directories(sameName PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
target_link_libraries(sameName ${QT_LIBRARIES})
|
||||||
|
set_target_properties( sameName PROPERTIES AUTOMOC TRUE AUTORCC TRUE )
|
|
@ -0,0 +1,6 @@
|
||||||
|
<!DOCTYPE RCC><RCC version="1.0">
|
||||||
|
<qresource prefix="aaa/bbb">
|
||||||
|
<file>item.hpp</file>
|
||||||
|
<file>item.cpp</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
|
@ -0,0 +1,10 @@
|
||||||
|
#include "item.hpp"
|
||||||
|
|
||||||
|
namespace aaa {
|
||||||
|
namespace bbb {
|
||||||
|
|
||||||
|
void Item::go()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef AAA_BBB_ITEM_HPP
|
||||||
|
#define AAA_BBB_ITEM_HPP
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
namespace aaa {
|
||||||
|
namespace bbb {
|
||||||
|
|
||||||
|
class Item : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
Q_SLOT
|
||||||
|
void go();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,6 @@
|
||||||
|
<!DOCTYPE RCC><RCC version="1.0">
|
||||||
|
<qresource prefix="aaa/">
|
||||||
|
<file>item.hpp</file>
|
||||||
|
<file>item.cpp</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
|
@ -0,0 +1,8 @@
|
||||||
|
#include "item.hpp"
|
||||||
|
|
||||||
|
namespace aaa {
|
||||||
|
|
||||||
|
void Item::go()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef AAA_ITEM_HPP
|
||||||
|
#define AAA_ITEM_HPP
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
namespace aaa {
|
||||||
|
|
||||||
|
class Item : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
Q_SLOT
|
||||||
|
void go();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,6 @@
|
||||||
|
<!DOCTYPE RCC><RCC version="1.0">
|
||||||
|
<qresource prefix="bbb/aaa/">
|
||||||
|
<file>item.hpp</file>
|
||||||
|
<file>item.cpp</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
|
@ -0,0 +1,10 @@
|
||||||
|
#include "item.hpp"
|
||||||
|
|
||||||
|
namespace bbb {
|
||||||
|
namespace aaa {
|
||||||
|
|
||||||
|
void Item::go()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef BBB_AAA_ITEM_HPP
|
||||||
|
#define BBB_AAA_ITEM_HPP
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
namespace bbb {
|
||||||
|
namespace aaa {
|
||||||
|
|
||||||
|
class Item : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
Q_SLOT
|
||||||
|
void go();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,6 @@
|
||||||
|
<!DOCTYPE RCC><RCC version="1.0">
|
||||||
|
<qresource prefix="bbb/">
|
||||||
|
<file>item.hpp</file>
|
||||||
|
<file>item.cpp</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
|
@ -0,0 +1,8 @@
|
||||||
|
#include "item.hpp"
|
||||||
|
|
||||||
|
namespace bbb {
|
||||||
|
|
||||||
|
void Item::go()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef BBB_ITEM_HPP
|
||||||
|
#define BBB_ITEM_HPP
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
namespace bbb {
|
||||||
|
|
||||||
|
class Item : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
Q_SLOT
|
||||||
|
void go();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,6 @@
|
||||||
|
<!DOCTYPE RCC><RCC version="1.0">
|
||||||
|
<qresource prefix="ccc/">
|
||||||
|
<file>item.hpp</file>
|
||||||
|
<file>item.cpp</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
|
@ -0,0 +1,23 @@
|
||||||
|
#include "item.hpp"
|
||||||
|
|
||||||
|
namespace ccc {
|
||||||
|
|
||||||
|
void Item::go()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
class MocTest : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT;
|
||||||
|
Q_SLOT
|
||||||
|
void go();
|
||||||
|
};
|
||||||
|
|
||||||
|
void MocTest::go()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Include own moc files
|
||||||
|
#include "item.moc"
|
||||||
|
#include "moc_item.cpp"
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef CCC_ITEM_HPP
|
||||||
|
#define CCC_ITEM_HPP
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
namespace ccc {
|
||||||
|
|
||||||
|
class Item : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
Q_SLOT
|
||||||
|
void go();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,5 @@
|
||||||
|
<!DOCTYPE RCC><RCC version="1.0">
|
||||||
|
<qresource>
|
||||||
|
<file>main.cpp</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
|
@ -0,0 +1,5 @@
|
||||||
|
#include "item.hpp"
|
||||||
|
|
||||||
|
void Item::go()
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
#ifndef ITEM_HPP
|
||||||
|
#define ITEM_HPP
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
class Item : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
Q_SLOT
|
||||||
|
void go();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,16 @@
|
||||||
|
#include "aaa/bbb/item.hpp"
|
||||||
|
#include "aaa/item.hpp"
|
||||||
|
#include "bbb/aaa/item.hpp"
|
||||||
|
#include "bbb/item.hpp"
|
||||||
|
#include "ccc/item.hpp"
|
||||||
|
|
||||||
|
int main(int argv, char** args)
|
||||||
|
{
|
||||||
|
// Object instances
|
||||||
|
::aaa::Item aaa_item;
|
||||||
|
::aaa::bbb::Item aaa_bbb_item;
|
||||||
|
::bbb::Item bbb_item;
|
||||||
|
::bbb::aaa::Item bbb_aaa_item;
|
||||||
|
::ccc::Item ccc_item;
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue