get_filename_component(rscext ${resource} EXT)
get_filename_component(rscname ${resource} NAME_WE)
get_filename_component(rscpath ${resource} PATH)
- get_source_file_property(skip ${resource} SKIP_RESOURCE)
string(REPLACE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" rscpath "${rscpath}")
if("${rscext}" STREQUAL ".ui")
set(rscout "${rscpath}/ui_${rscname}.h")
set(targetresources ${targetresources} ${rscout})
- if(NOT skip)
- make_directory(${rscpath})
- add_custom_command(
- OUTPUT "${rscout}"
- COMMAND "${KATIE_UIC}" "${resource}" -o "${rscout}"
- )
- endif()
+ make_directory(${rscpath})
+ add_custom_command(
+ OUTPUT "${rscout}"
+ COMMAND "${KATIE_UIC}" "${resource}" -o "${rscout}"
+ OUTPUT "${rscout}"
+ )
elseif("${rscext}" STREQUAL ".qrc")
set(rscout "${rscpath}/qrc_${rscname}.cpp")
set(targetresources ${targetresources} ${rscout})
- if(NOT skip)
- make_directory(${rscpath})
- add_custom_command(
- OUTPUT "${rscout}"
- COMMAND "${KATIE_RCC}" "${resource}" -o "${rscout}" -name "${rscname}"
- )
- endif()
+ make_directory(${rscpath})
+ add_custom_command(
+ OUTPUT "${rscout}"
+ COMMAND "${KATIE_RCC}" "${resource}" -o "${rscout}" -name "${rscname}"
+ OUTPUT "${rscout}"
+ )
elseif("${rscext}" MATCHES "(.h|.cpp|.mm)")
file(READ "${resource}" rsccontent)
- if(NOT "${rsccontent}" MATCHES "(Q_OBJECT|Q_OBJECT_FAKE|Q_GADGET)")
- set(skip TRUE)
- else()
+ if("${rsccontent}" MATCHES "(Q_OBJECT|Q_OBJECT_FAKE|Q_GADGET)")
set(rscout "${rscpath}/moc_${rscname}${rscext}")
set(targetresources ${targetresources} ${rscout})
- endif()
-
- if(NOT skip)
get_directory_property(dirdefs COMPILE_DEFINITIONS)
get_directory_property(dirincs INCLUDE_DIRECTORIES)
set(mocargs)
add_custom_command(
OUTPUT "${rscout}"
COMMAND "${KATIE_MOC}" -nw "${resource}" -o "${rscout}" ${mocargs}
+ OUTPUT "${rscout}"
)
- # common sources can cause multiple rules on the same file
- set_source_files_properties(${resource} PROPERTIES SKIP_RESOURCE TRUE)
endif()
endif()
endforeach()
add_custom_command(
OUTPUT ${rscout}
COMMAND ${KATIE_UIC} "${resource}" -o "${rscout}"
+ OUTPUT "${rscout}"
MAIN_DEPENDENCY ${resource}
)
elseif("${rscext}" STREQUAL ".qrc")
add_custom_command(
OUTPUT ${rscout}
COMMAND ${KATIE_RCC} "${resource}" -o "${rscout}" -name "${rscname}"
+ OUTPUT "${rscout}"
MAIN_DEPENDENCY ${resource}
)
set_property(SOURCE ${resource} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
add_custom_command(
OUTPUT ${rscout}
COMMAND ${KATIE_MOC} -nw "${resource}" -o "${rscout}" ${mocargs}
+ OUTPUT "${rscout}"
)
set_property(SOURCE ${resource} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
- # XXX: this can be troublesome but common sources can cause multiple rules on the same file
- set_source_files_properties(${resource} PROPERTIES SKIP_RESOURCE TRUE)
endif()
endif()
endif()
add_custom_target(
${trname}_translation ALL
COMMAND "${KATIE_LRELEASE}" "${translation}" -qm "${trout}"
+ OUTPUT "${trout}"
)
- set_source_files_properties(${trout} PROPERTIES GENERATED TRUE)
install(FILES ${trout} DESTINATION ${KATIE_TRANSLATIONS_RELATIVE})
endforeach()
endmacro()
endif()
+set(SHAREDBEARER_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qnetworksession_impl.cpp
+)
+set(SHAREDBEARER_HEADERS
+ ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qnetworksession_impl.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qbearerengine_impl.h
+)
+katie_setup_target(sharedbearer ${SHAREDBEARER_SOURCES} ${SHAREDBEARER_HEADERS})
+add_library(sharedbearer OBJECT ${sharedbearer_SOURCES})
+target_include_directories(sharedbearer PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/bearer
+)
+
if(KATIE_PLATFORM MATCHES "(linux|freebsd|openbsd)")
include(bearer/generic/generic.cmake)
if(WITH_DBUS AND DBUS_FOUND)
${CMAKE_CURRENT_SOURCE_DIR}/bearer/connman/qconnmanservice_linux_p.h
${CMAKE_CURRENT_SOURCE_DIR}/bearer/connman/qofonoservice_linux_p.h
${CMAKE_CURRENT_SOURCE_DIR}/bearer/connman/qconnmanengine.h
- ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qnetworksession_impl.h
- ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qbearerengine_impl.h
)
set(QTCONNMANBEARERPLUGIN_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/bearer/connman/qconnmanservice_linux.cpp
${CMAKE_CURRENT_SOURCE_DIR}/bearer/connman/qofonoservice_linux.cpp
${CMAKE_CURRENT_SOURCE_DIR}/bearer/connman/qconnmanengine.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qnetworksession_impl.cpp
)
katie_setup_target(qconnmanbearerplugin ${QTCONNMANBEARERPLUGIN_SOURCES} ${QTCONNMANBEARERPLUGIN_HEADERS})
-add_library(qconnmanbearerplugin MODULE ${qconnmanbearerplugin_SOURCES})
+add_library(qconnmanbearerplugin MODULE ${qconnmanbearerplugin_SOURCES}
+ $<TARGET_OBJECTS:sharedbearer>
+)
target_link_libraries(qconnmanbearerplugin KtCore KtNetwork KtDBus)
set_target_properties(qconnmanbearerplugin PROPERTIES OUTPUT_NAME qconnmanbearer)
target_include_directories(qconnmanbearerplugin PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/bearer
)
+katie_setup_object(qconnmanbearerplugin sharedbearer)
+
install(
TARGETS qconnmanbearerplugin
DESTINATION ${KATIE_PLUGINS_RELATIVE}/bearer
set(QGENERICBEARERPLUGIN_HEADERS
${CMAKE_CURRENT_SOURCE_DIR}/bearer/generic/qgenericengine.h
- ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qnetworksession_impl.h
- ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qbearerengine_impl.h
)
set(QGENERICBEARERPLUGIN_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/bearer/generic/qgenericmain.cpp
${CMAKE_CURRENT_SOURCE_DIR}/bearer/generic/qgenericengine.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qnetworksession_impl.cpp
)
katie_setup_target(qgenericbearerplugin ${QGENERICBEARERPLUGIN_SOURCES} ${QGENERICBEARERPLUGIN_HEADERS})
-add_library(qgenericbearerplugin MODULE ${qgenericbearerplugin_SOURCES})
+add_library(qgenericbearerplugin MODULE ${qgenericbearerplugin_SOURCES}
+ $<TARGET_OBJECTS:sharedbearer>
+)
target_link_libraries(qgenericbearerplugin KtCore KtNetwork)
set_target_properties(qgenericbearerplugin PROPERTIES OUTPUT_NAME qgenericbearer)
+katie_setup_object(qgenericbearerplugin sharedbearer)
+
install(
TARGETS qgenericbearerplugin
DESTINATION ${KATIE_PLUGINS_RELATIVE}/bearer
${CMAKE_CURRENT_SOURCE_DIR}/bearer/networkmanager/qnmdbushelper.h
${CMAKE_CURRENT_SOURCE_DIR}/bearer/networkmanager/qnetworkmanagerservice.h
${CMAKE_CURRENT_SOURCE_DIR}/bearer/networkmanager/qnetworkmanagerengine.h
- ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qnetworksession_impl.h
- ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qbearerengine_impl.h
)
set(QNMBEARERPLUGIN_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/bearer/networkmanager/qnmdbushelper.cpp
${CMAKE_CURRENT_SOURCE_DIR}/bearer/networkmanager/qnetworkmanagerservice.cpp
${CMAKE_CURRENT_SOURCE_DIR}/bearer/networkmanager/qnetworkmanagerengine.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/bearer/qnetworksession_impl.cpp
)
katie_setup_target(qnmbearerplugin ${QNMBEARERPLUGIN_SOURCES} ${QNMBEARERPLUGIN_HEADERS})
-add_library(qnmbearerplugin MODULE ${qnmbearerplugin_SOURCES})
+add_library(qnmbearerplugin MODULE ${qnmbearerplugin_SOURCES}
+ $<TARGET_OBJECTS:sharedbearer>
+)
target_link_libraries(qnmbearerplugin KtCore KtNetwork KtDBus)
set_target_properties(qnmbearerplugin PROPERTIES OUTPUT_NAME qnmbearer)
+katie_setup_object(qnmbearerplugin sharedbearer)
+
install(
TARGETS qnmbearerplugin
DESTINATION ${KATIE_PLUGINS_RELATIVE}/bearer