# This generates a .qm from a .ts file
macro(generate_qm outvar basename)
- set(input ${basename}.ts)
+ set(input ${CMAKE_SOURCE_DIR}/i18n/${basename}.ts)
set(output ${CMAKE_CURRENT_BINARY_DIR}/${basename}.qm)
add_custom_command(OUTPUT ${output}
COMMAND ${QT_LRELEASE_EXECUTABLE}
endforeach(TS_FILE ${avail_tsfiles})
# Write resource file
- set(resfile ${CMAKE_BINARY_DIR}/i18n.qrc)
+ set(resfile ${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc)
file(WRITE ${resfile} "<!DOCTYPE RCC><RCC version=\"1.0\">\n"
"<qresource prefix=\"/i18n\">\n")
foreach(file ${qm_files})
add_custom_command(OUTPUT ${resfile} DEPENDS ${qm_files})
#set_directory_properties(PROPERTIES
# ADDITIONAL_MAKE_CLEAN_FILES "${outfiles} i18n.qrc")
-
+ qt4_add_resources(RC_I18N ${resfile})
+ add_custom_target(i18n DEPENDS ${RC_I18N})
message(STATUS "Including languages:${gen_linguas}")
else(QT_LRELEASE_EXECUTABLE)
message(STATUS "WARNING: lrelease not found, you won't have translations!")
if(QUASSEL_ICONS MATCHES "External")
install(DIRECTORY hicolor DESTINATION ${ICON_INSTALL_DIR})
else(QUASSEL_ICONS MATCHES "External")
-# set(CLIENT_DEPS ${CLIENT_DEPS} hicolor.qrc)
+ qt4_add_resources(RC_ICONS hicolor.qrc)
endif(QUASSEL_ICONS MATCHES "External")
if(OXYGEN_ICONS MATCHES "Builtin")
-# set(CLIENT_DEPS ${CLIENT_DEPS} oxygen.qrc)
+ qt4_add_resources(RC_ICONS oxygen.qrc)
endif(OXYGEN_ICONS MATCHES "Builtin")
+
+add_custom_target(icons DEPENDS ${RC_ICONS})
endif(WANT_QTCLIENT OR WANT_MONO)
# We always add stuff in :/pics
-qt4_add_resources(RC_ICONS ../pics/pics.qrc)
+qt4_add_resources(CLIENT_DEPS ../pics/pics.qrc)
if(QUASSEL_ICONS MATCHES "Builtin")
- qt4_add_resources(RC_ICONS ../icons/hicolor.qrc)
+ set(CLIENT_DEPS ${CLIENT_DEPS} ../icons/qrc_hicolor.cxx)
+ set_source_files_properties(../icons/qrc_hicolor.cxx PROPERTIES GENERATED true)
endif(QUASSEL_ICONS MATCHES "Builtin")
if(OXYGEN_ICONS MATCHES "Builtin")
- qt4_add_resources(RC_ICONS ../icons/oxygen.qrc)
+ set(CLIENT_DEPS ${CLIENT_DEPS} ../icons/qrc_oxygen.cxx)
+ set_source_files_properties(../icons/qrc_oxygen.cxx PROPERTIES GENERATED true)
endif(OXYGEN_ICONS MATCHES "Builtin")
-set(CLIENT_DEPS ${CLIENT_DEPS} ${RC_ICONS})
-
if(WANT_CORE)
setup_qt4_variables(NETWORK SCRIPT SQL)
add_executable(quasselcore common/main.cpp ${COMMON_DEPS} ${CORE_DEPS})
if(WANT_QTCLIENT)
setup_qt4_variables(${LINK_DBUS} GUI NETWORK)
add_executable(quasselclient WIN32 common/main.cpp ${COMMON_DEPS} ${CLIENT_DEPS})
+ add_dependencies(quasselclient icons)
set_target_properties(quasselclient PROPERTIES
COMPILE_FLAGS "-DQT_GUI_LIB -DQT_NETWORK_LIB -DBUILD_QTUI")
target_link_libraries(quasselclient mod_qtui mod_uisupport mod_client mod_common
if(WANT_MONO)
setup_qt4_variables(${LINK_DBUS} GUI NETWORK SCRIPT SQL)
add_executable(quassel WIN32 common/main.cpp qtui/monoapplication.cpp ${COMMON_DEPS} ${CLIENT_DEPS} ${CORE_DEPS})
+ add_dependencies(quassel icons)
set_target_properties(quassel PROPERTIES
COMPILE_FLAGS "-DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB -DBUILD_MONO")
target_link_libraries(quassel mod_qtui mod_uisupport mod_client mod_core mod_common
qt4_wrap_cpp(MOC ${MOC_HDRS})
-# Languages
-qt4_add_resources(RC_I18N ${CMAKE_BINARY_DIR}/i18n.qrc)
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}) # for version.inc and version.gen
add_definitions(-DHAVE_VERSION_GEN) # we ensure that by deps in the main CMakeLists.txt
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES version.gen)
-add_library(mod_common STATIC ${SOURCES} ${MOC} ${RC_I18N})
+add_library(mod_common STATIC ${SOURCES} ${MOC} ${CMAKE_BINARY_DIR}/i18n/qrc_i18n.cxx)
+set_source_files_properties(${CMAKE_BINARY_DIR}/i18n/qrc_i18n.cxx PROPERTIES GENERATED true)
+add_dependencies(mod_common i18n)
+