mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-24 02:42:55 +00:00
fix compatibility issues with older cmake versions (2.8.12.1)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
2028249452
commit
8e2b0e39fe
2 changed files with 51 additions and 56 deletions
|
@ -5,89 +5,80 @@ macro(KATIE_RESOURCES RESOURCES)
|
||||||
foreach(tmpres ${RESOURCES} ${ARGN})
|
foreach(tmpres ${RESOURCES} ${ARGN})
|
||||||
get_filename_component(resource ${tmpres} ABSOLUTE)
|
get_filename_component(resource ${tmpres} ABSOLUTE)
|
||||||
get_source_file_property(skip ${resource} SKIP_RESOURCE)
|
get_source_file_property(skip ${resource} SKIP_RESOURCE)
|
||||||
if(skip)
|
if(NOT skip)
|
||||||
continue()
|
get_filename_component(rscext ${resource} EXT)
|
||||||
endif()
|
get_filename_component(rscname ${resource} NAME_WE)
|
||||||
get_filename_component(rscext ${resource} EXT)
|
get_filename_component(rscpath ${resource} PATH)
|
||||||
get_filename_component(rscname ${resource} NAME_WE)
|
string(REPLACE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" rscpath "${rscpath}")
|
||||||
get_filename_component(rscpath ${resource} PATH)
|
make_directory(${rscpath})
|
||||||
string(REPLACE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" rscpath "${rscpath}")
|
if("${rscext}" STREQUAL ".ui")
|
||||||
make_directory(${rscpath})
|
set(rscout ${rscpath}/ui_${rscname}.h)
|
||||||
if("${rscext}" STREQUAL ".ui")
|
add_custom_command(
|
||||||
set(rscout ${rscpath}/ui_${rscname}.h)
|
OUTPUT ${rscout}
|
||||||
add_custom_command(
|
COMMAND ${KATIE_UIC} "${resource}" -o "${rscout}"
|
||||||
OUTPUT ${rscout}
|
MAIN_DEPENDENCY ${resource}
|
||||||
COMMAND ${KATIE_UIC} "${resource}" -o "${rscout}"
|
)
|
||||||
MAIN_DEPENDENCY ${resource}
|
elseif("${rscext}" STREQUAL ".qrc")
|
||||||
)
|
set(rscout ${rscpath}/qrc_${rscname}.cpp)
|
||||||
elseif("${rscext}" STREQUAL ".qrc")
|
add_custom_command(
|
||||||
set(rscout ${rscpath}/qrc_${rscname}.cpp)
|
OUTPUT ${rscout}
|
||||||
add_custom_command(
|
COMMAND ${KATIE_RCC} "${resource}" -o "${rscout}" -name "${rscname}"
|
||||||
OUTPUT ${rscout}
|
MAIN_DEPENDENCY ${resource}
|
||||||
COMMAND ${KATIE_RCC} "${resource}" -o "${rscout}" -name "${rscname}"
|
)
|
||||||
MAIN_DEPENDENCY ${resource}
|
set_property(SOURCE ${resource} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
|
||||||
)
|
elseif("${rscext}" MATCHES "(.h|.cpp)")
|
||||||
set_property(SOURCE ${resource} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
|
set(rscout ${rscpath}/moc_${rscname}${rscext})
|
||||||
elseif("${rscext}" MATCHES "(.h|.cpp)")
|
get_directory_property(dirdefs COMPILE_DEFINITIONS)
|
||||||
set(rscout ${rscpath}/moc_${rscname}${rscext})
|
get_directory_property(dirincs INCLUDE_DIRECTORIES)
|
||||||
get_directory_property(dirdefs COMPILE_DEFINITIONS)
|
set(mocargs)
|
||||||
get_directory_property(dirincs INCLUDE_DIRECTORIES)
|
foreach(ddef ${dirdefs})
|
||||||
set(mocargs)
|
# TODO: filter non -D, support -U too
|
||||||
foreach(ddef ${dirdefs})
|
set(mocargs ${mocargs} -D${ddef})
|
||||||
# TODO: filter non -D, support -U too
|
endforeach()
|
||||||
set(mocargs ${mocargs} -D${ddef})
|
foreach(incdir ${dirincs})
|
||||||
endforeach()
|
set(mocargs ${mocargs} -I${incdir})
|
||||||
foreach(incdir ${dirincs})
|
endforeach()
|
||||||
set(mocargs ${mocargs} -I${incdir})
|
add_custom_command(
|
||||||
endforeach()
|
OUTPUT "${rscout}"
|
||||||
add_custom_command(
|
COMMAND "${KATIE_MOC}" -nw "${resource}" -o "${rscout}" ${mocargs}
|
||||||
OUTPUT "${rscout}"
|
)
|
||||||
COMMAND "${KATIE_MOC}" -nw "${resource}" -o "${rscout}" ${mocargs}
|
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_property(SOURCE ${resource} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
|
set_source_files_properties(${resource} PROPERTIES SKIP_RESOURCE TRUE)
|
||||||
# XXX: this can be troublesome but common sources can cause multiple rules on the same file
|
endif()
|
||||||
set_source_files_properties(${resource} PROPERTIES SKIP_RESOURCE TRUE)
|
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(KATIE_RESOURCE RESOURCES OUTNAME)
|
macro(KATIE_RESOURCE SRCDEP RESOURCES OUTNAME)
|
||||||
set(rscout ${CMAKE_CURRENT_BINARY_DIR}/qrc_${OUTNAME}.cpp)
|
set(rscout ${CMAKE_CURRENT_BINARY_DIR}/qrc_${OUTNAME}.cpp)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT "${rscout}"
|
OUTPUT "${rscout}"
|
||||||
COMMAND "${KATIE_RCC}" ${RESOURCES} -o "${rscout}" -name "${OUTNAME}"
|
COMMAND "${KATIE_RCC}" ${RESOURCES} -o "${rscout}" -name "${OUTNAME}"
|
||||||
# MAIN_DEPENDENCY ${resource}
|
# MAIN_DEPENDENCY ${resource}
|
||||||
)
|
)
|
||||||
foreach(tmpres ${RESOURCES})
|
set_property(SOURCE ${SRCDEP} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
|
||||||
set_property(SOURCE ${tmpres} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
|
|
||||||
endforeach()
|
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(KATIE_DBUS_ADAPTOR SRCDEP SRCIN SRCOUT)
|
macro(KATIE_DBUS_ADAPTOR SRCDEP SRCIN SRCOUT)
|
||||||
if(${ARG4})
|
|
||||||
set(dbusxmlargs ${ARG4})
|
|
||||||
endif()
|
|
||||||
get_filename_component(resource ${SRCIN} ABSOLUTE)
|
get_filename_component(resource ${SRCIN} ABSOLUTE)
|
||||||
set(rscout ${CMAKE_CURRENT_BINARY_DIR}/${SRCOUT}.h)
|
set(rscout ${CMAKE_CURRENT_BINARY_DIR}/${SRCOUT}.h)
|
||||||
set(mocout ${CMAKE_CURRENT_BINARY_DIR}/${SRCOUT}.moc)
|
set(mocout ${CMAKE_CURRENT_BINARY_DIR}/${SRCOUT}.moc)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT "${rscout}"
|
OUTPUT "${rscout}"
|
||||||
COMMAND "${KATIE_QDBUSXML2CPP}" -m "${resource}" -a "${rscout}" -p "${SRCOUT}" ${dbusxmlargs}
|
COMMAND "${KATIE_QDBUSXML2CPP}" -m "${resource}" -a "${rscout}" -p "${SRCOUT}" ${ARGN}
|
||||||
COMMAND "${KATIE_MOC}" -nw "${rscout}" -o "${mocout}" -i
|
COMMAND "${KATIE_MOC}" -nw "${rscout}" -o "${mocout}" -i
|
||||||
)
|
)
|
||||||
set_property(SOURCE ${SRCDEP} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
|
set_property(SOURCE ${SRCDEP} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(KATIE_DBUS_INTERFACE SRCIN)
|
macro(KATIE_DBUS_INTERFACE SRCIN)
|
||||||
if(${ARG2})
|
|
||||||
set(dbusxmlargs ${ARG2})
|
|
||||||
endif()
|
|
||||||
string(REGEX MATCH ".*\\.(.*)\\.xml" ${SRCIN} SRCOUT)
|
string(REGEX MATCH ".*\\.(.*)\\.xml" ${SRCIN} SRCOUT)
|
||||||
string(TOLOWER ${SRCIN} SRCIN)
|
string(TOLOWER ${SRCIN} SRCIN)
|
||||||
set(rscout ${CMAKE_CURRENT_BINARY_DIR}/${SRCOUT}ineterface.h)
|
set(rscout ${CMAKE_CURRENT_BINARY_DIR}/${SRCOUT}ineterface.h)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT "${rscout}"
|
OUTPUT "${rscout}"
|
||||||
COMMAND "${KATIE_QDBUSXML2CPP}" -m "${SRCIN}" -a "${rscout}" -p "${SRCOUT}ineterface" ${dbusxmlargs}
|
COMMAND "${KATIE_QDBUSXML2CPP}" -m "${SRCIN}" -a "${rscout}" -p "${SRCOUT}ineterface" ${ARGN}
|
||||||
)
|
)
|
||||||
set_property(SOURCE ${SRCIN} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
|
set_property(SOURCE ${SRCIN} APPEND PROPERTY OBJECT_DEPENDS ${rscout})
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
|
@ -37,8 +37,12 @@ set(SHAREDDEVICESKIN_HEADERS
|
||||||
|
|
||||||
katie_resources(${SHAREDDEVICESKIN_SOURCES})
|
katie_resources(${SHAREDDEVICESKIN_SOURCES})
|
||||||
katie_resources(${SHAREDDEVICESKIN_HEADERS})
|
katie_resources(${SHAREDDEVICESKIN_HEADERS})
|
||||||
katie_resource("${SHAREDDEVICESKIN_RESOURCES}" deviceskin)
|
katie_resource(
|
||||||
|
${CMAKE_SOURCE_DIR}/src/shared/deviceskin/deviceskin.cpp
|
||||||
|
"${SHAREDDEVICESKIN_RESOURCES}"
|
||||||
|
deviceskin
|
||||||
|
)
|
||||||
|
|
||||||
add_library(shareddeviceskin OBJECT ${SHAREDDEVICESKIN_SOURCES} ${SHAREDDEVICESKIN_HEADERS} ${SHAREDDEVICESKIN_RESOURCES})
|
add_library(shareddeviceskin OBJECT ${SHAREDDEVICESKIN_SOURCES} ${SHAREDDEVICESKIN_HEADERS})
|
||||||
target_compile_definitions(shareddeviceskin PRIVATE ${SHAREDDEVICESKIN_DEFINITIONS})
|
target_compile_definitions(shareddeviceskin PRIVATE ${SHAREDDEVICESKIN_DEFINITIONS})
|
||||||
target_include_directories(shareddeviceskin PRIVATE ${SHAREDDEVICESKIN_INCLUDES})
|
target_include_directories(shareddeviceskin PRIVATE ${SHAREDDEVICESKIN_INCLUDES})
|
||||||
|
|
Loading…
Add table
Reference in a new issue