Turns out we have to explicitly initialize Qt resources that are linked
statically, so our last build system change broke things because the
files where nowhere to be found.
This now initializes the resources in main(); additionally, we use absolute
paths for the qrc files now, simply for making things a bit clearer.
- set(CLIENT_RCS ${CLIENT_RCS} ../../data/data.qrc PARENT_SCOPE)
+ set(CLIENT_RCS ${CLIENT_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/data.qrc PARENT_SCOPE)
else()
install(FILES networks.ini DESTINATION ${DATA_INSTALL_DIR}/quassel)
install(DIRECTORY stylesheets DESTINATION ${DATA_INSTALL_DIR}/quassel)
else()
install(FILES networks.ini DESTINATION ${DATA_INSTALL_DIR}/quassel)
install(DIRECTORY stylesheets DESTINATION ${DATA_INSTALL_DIR}/quassel)
endif(INSTALL_OXY)
if(EMBED_DATA)
endif(INSTALL_OXY)
if(EMBED_DATA)
- set(ICON_RCS ../../icons/hicolor.qrc ../../icons/oxygen.qrc)
+ set(ICON_RCS ${CMAKE_CURRENT_SOURCE_DIR}/hicolor.qrc ${CMAKE_CURRENT_SOURCE_DIR}/oxygen.qrc)
- set(ICON_RCS ${ICON_RCS} ../../icons/oxygen_kde.qrc)
+ set(ICON_RCS ${ICON_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/oxygen_kde.qrc)
endif(INSTALL_OXY)
set(CLIENT_RCS ${CLIENT_RCS} ${ICON_RCS} PARENT_SCOPE)
else(EMBED_DATA)
endif(INSTALL_OXY)
set(CLIENT_RCS ${CLIENT_RCS} ${ICON_RCS} PARENT_SCOPE)
else(EMBED_DATA)
set(COMMON_DEPS ${COMMON_DEPS} ${CMAKE_CURRENT_BINARY_DIR}/win32.o PARENT_SCOPE)
endif(WINDRES_EXECUTABLE)
else(MINGW)
set(COMMON_DEPS ${COMMON_DEPS} ${CMAKE_CURRENT_BINARY_DIR}/win32.o PARENT_SCOPE)
endif(WINDRES_EXECUTABLE)
else(MINGW)
- set(COMMON_DEPS ${COMMON_DEPS} ../../pics/win32.rc PARENT_SCOPE)
+ set(COMMON_DEPS ${COMMON_DEPS} ${CMAKE_CURRENT_SOURCE_DIR}/win32.rc PARENT_SCOPE)
endif(MINGW)
endif(WIN32)
if(WANT_MONO OR WANT_QTCLIENT)
if(EMBED_DATA)
endif(MINGW)
endif(WIN32)
if(WANT_MONO OR WANT_QTCLIENT)
if(EMBED_DATA)
- set(CLIENT_RCS ${CLIENT_RCS} ../../pics/pics.qrc PARENT_SCOPE)
+ set(CLIENT_RCS ${CLIENT_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/pics.qrc PARENT_SCOPE)
else(EMBED_DATA)
# We don't find them yet externally, so disable installation
else(EMBED_DATA)
# We don't find them yet externally, so disable installation
- set(CLIENT_RCS ${CLIENT_RCS} ../../pics/pics.qrc PARENT_SCOPE)
+ set(CLIENT_RCS ${CLIENT_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/pics.qrc PARENT_SCOPE)
# install(FILES qt-logo.png
# quassel-large.png
# DESTINATION ${DATA_INSTALL_DIR}/quassel/pics)
# install(FILES qt-logo.png
# quassel-large.png
# DESTINATION ${DATA_INSTALL_DIR}/quassel/pics)
include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) # for version.gen
include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) # for version.gen
+# We need to initialize the appropriate resources, so let's give our main.cpp some hints
+if (EMBED_DATA)
+ add_definitions(-DEMBED_DATA)
+endif()
+if (WITH_OXYGEN)
+ add_definitions(-DWITH_OXYGEN)
+endif()
if(WANT_CORE)
add_executable(quasselcore common/main.cpp)
if(WANT_CORE)
add_executable(quasselcore common/main.cpp)
QApplication::setGraphicsSystem("raster");
#endif
QApplication::setGraphicsSystem("raster");
#endif
+ // We need to explicitly initialize the required resources when linking statically
+#ifndef BUILD_QTUI
+ Q_INIT_RESOURCE(sql);
+#endif
+#ifndef BUILD_CORE
+ Q_INIT_RESOURCE(pics); // always in a resource, for now
+#endif
+
+#ifdef EMBED_DATA
+ Q_INIT_RESOURCE(i18n);
+# ifndef BUILD_CORE
+ Q_INIT_RESOURCE(data);
+ Q_INIT_RESOURCE(hicolor);
+ Q_INIT_RESOURCE(oxygen);
+# ifdef WITH_OXYGEN
+ Q_INIT_RESOURCE(oxygen_kde);
+# endif
+# endif
+#endif
+
AbstractCliParser *cliParser;
#ifdef HAVE_KDE
AbstractCliParser *cliParser;
#ifdef HAVE_KDE
include_directories(${CMAKE_SOURCE_DIR}/src/common)
include_directories(${CMAKE_SOURCE_DIR}/src/common)
-set(CORE_RCS ${CORE_RCS} core/sql.qrc PARENT_SCOPE)
-
+set(CORE_RCS ${CORE_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/sql.qrc)
qt_add_resources(SOURCES ${CORE_RCS})
add_library(mod_core STATIC ${SOURCES})
qt_add_resources(SOURCES ${CORE_RCS})
add_library(mod_core STATIC ${SOURCES})