2006-10-02 09:59:51 +00:00
|
|
|
|
2013-02-07 20:19:00 +00:00
|
|
|
IF (Qt5Core_FOUND)
|
|
|
|
# FindQt4.cmake wasn't used, so define it here
|
|
|
|
MACRO (QT4_GET_MOC_INC_DIRS _moc_INC_DIRS)
|
|
|
|
SET(${_moc_INC_DIRS})
|
|
|
|
GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
|
|
|
|
|
|
|
|
FOREACH(_current ${_inc_DIRS})
|
|
|
|
SET(${_moc_INC_DIRS} ${${_moc_INC_DIRS}} "-I" ${_current})
|
|
|
|
ENDFOREACH(_current ${_inc_DIRS})
|
|
|
|
ENDMACRO(QT4_GET_MOC_INC_DIRS)
|
2013-08-24 21:22:37 +06:00
|
|
|
|
|
|
|
MACRO(SETUP_QT5_DIRS)
|
|
|
|
GET_TARGET_PROPERTY(QMAKE_EXECUTABLE ${Qt5Core_QMAKE_EXECUTABLE} LOCATION)
|
|
|
|
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_LIBS" OUTPUT_VARIABLE QT_LIBRARY_DIR )
|
|
|
|
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_PREFIX" OUTPUT_VARIABLE QT_PREFIX_DIR )
|
|
|
|
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_PLUGINS" OUTPUT_VARIABLE QT_PLUGINS_DIR )
|
|
|
|
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_BINS" OUTPUT_VARIABLE QT_BINARY_DIR )
|
2014-01-28 17:33:58 +06:00
|
|
|
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_HEADERS" OUTPUT_VARIABLE QT_HEADERS_DIR )
|
2013-08-24 21:22:37 +06:00
|
|
|
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_DOCS" OUTPUT_VARIABLE QT_DOC_DIR )
|
|
|
|
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_DATA" OUTPUT_VARIABLE QT_DATA_DIR )
|
2013-08-27 03:50:45 +06:00
|
|
|
EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_ARCHDATA" OUTPUT_VARIABLE QT_ARCHDATA_DIR )
|
|
|
|
SET( QT_MKSPECS_DIR "${QT_ARCHDATA_DIR}/mkspecs" )
|
2013-08-24 21:22:37 +06:00
|
|
|
ENDMACRO(SETUP_QT5_DIRS)
|
2014-01-01 22:26:15 +06:00
|
|
|
ELSE (Qt5Core_FOUND)
|
|
|
|
# Cmake FindQt4 module doesn't provide QT_INSTALL_PREFIX and QT_INSTALL_DATA vars
|
|
|
|
# It will be done here
|
|
|
|
MACRO(SETUP_QT4_DIRS)
|
|
|
|
_qt4_query_qmake(QT_INSTALL_PREFIX QT_PREFIX_DIR)
|
|
|
|
_qt4_query_qmake(QT_INSTALL_DATA QT_DATA_DIR)
|
|
|
|
ENDMACRO(SETUP_QT4_DIRS)
|
2013-02-07 20:19:00 +00:00
|
|
|
ENDIF()
|
|
|
|
|
2006-10-02 09:59:51 +00:00
|
|
|
MACRO(MY_AUTOMOC _srcsList)
|
2014-01-02 00:02:12 +06:00
|
|
|
# QT4_GET_MOC_INC_DIRS(_moc_INCS)
|
2006-10-02 09:59:51 +00:00
|
|
|
FOREACH (_current_FILE ${${_srcsList}})
|
|
|
|
GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE)
|
|
|
|
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
|
|
|
|
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc)
|
2014-01-02 00:02:12 +06:00
|
|
|
# SET(extra_moc_argument)
|
|
|
|
# if(WIN32)
|
|
|
|
# SET(extra_moc_argument -DWIN32)
|
|
|
|
# endif(WIN32)
|
|
|
|
QT4_GENERATE_MOC(${_abs_FILE} ${_moc})
|
|
|
|
# ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
|
|
|
|
# COMMAND ${QT_MOC_EXECUTABLE}
|
|
|
|
# ARGS ${extra_moc_argument} ${_moc_INCS} -o ${_moc} ${_abs_FILE}
|
|
|
|
# DEPENDS ${_current_FILE}
|
|
|
|
# )
|
2006-10-02 09:59:51 +00:00
|
|
|
LIST(APPEND ${_srcsList} ${_moc})
|
|
|
|
ENDFOREACH (_current_FILE)
|
|
|
|
ENDMACRO(MY_AUTOMOC)
|
2014-01-01 02:10:15 +06:00
|
|
|
|
|
|
|
macro(set_enabled_plugin PLUGIN ENABLED)
|
|
|
|
# To nice looks
|
|
|
|
if(ENABLED)
|
|
|
|
set(ENABLED "on")
|
|
|
|
else(ENABLED)
|
|
|
|
set(ENABLED "off")
|
|
|
|
endif(ENABLED)
|
|
|
|
set(WITH_${PLUGIN}_PLUGIN_INTERNAL ${ENABLED} CACHE INTERNAL "")
|
|
|
|
endmacro(set_enabled_plugin)
|
|
|
|
|
|
|
|
macro(enable_plugin PLUGIN)
|
|
|
|
set_enabled_plugin(${PLUGIN} "on")
|
|
|
|
endmacro(enable_plugin)
|
|
|
|
|
|
|
|
macro(disable_plugin PLUGIN)
|
|
|
|
set_enabled_plugin(${PLUGIN} "off")
|
|
|
|
endmacro(disable_plugin)
|
2014-01-02 03:50:18 +06:00
|
|
|
|
|
|
|
# it used to build examples and tools
|
|
|
|
macro(target_link_qca_libraries TARGET)
|
|
|
|
# Link with QCA library
|
|
|
|
target_link_libraries(${TARGET} ${QT_QTCORE_LIBRARY})
|
|
|
|
target_link_libraries(${TARGET} ${QCA_LIB_NAME})
|
|
|
|
|
|
|
|
# Statically link with all enabled QCA plugins
|
|
|
|
if(STATIC_PLUGINS)
|
|
|
|
target_link_libraries(${TARGET} ${QT_QTCORE_LIB_DEPENDENCIES})
|
|
|
|
foreach(PLUGIN IN LISTS PLUGINS)
|
|
|
|
# Check plugin for enabled
|
|
|
|
if(WITH_${PLUGIN}_PLUGIN_INTERNAL)
|
|
|
|
target_link_libraries(${TARGET} qca-${PLUGIN})
|
|
|
|
endif(WITH_${PLUGIN}_PLUGIN_INTERNAL)
|
|
|
|
endforeach(PLUGIN)
|
|
|
|
endif(STATIC_PLUGINS)
|
|
|
|
endmacro(target_link_qca_libraries)
|
|
|
|
|
|
|
|
# it used to build unittests
|
|
|
|
macro(target_link_qca_test_libraries TARGET)
|
|
|
|
target_link_qca_libraries(${TARGET})
|
|
|
|
target_link_libraries(${TARGET} ${QT_QTTEST_LIBRARY})
|
|
|
|
endmacro(target_link_qca_test_libraries)
|
2014-02-02 02:35:55 +06:00
|
|
|
|
|
|
|
# it used to build unittests
|
|
|
|
macro(add_qca_test TARGET DESCRIPTION)
|
|
|
|
add_test(NAME "${DESCRIPTION}"
|
|
|
|
WORKING_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
|
|
|
|
COMMAND "${TARGET}")
|
|
|
|
endmacro(add_qca_test)
|
2014-02-03 02:05:54 +06:00
|
|
|
|
|
|
|
macro(install_pdb TARGET INSTALL_PATH)
|
|
|
|
if(MSVC)
|
|
|
|
get_target_property(LOCATION ${TARGET} LOCATION_DEBUG)
|
|
|
|
string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}")
|
|
|
|
install(FILES ${LOCATION} DESTINATION ${INSTALL_PATH} CONFIGURATIONS Debug)
|
|
|
|
|
|
|
|
get_target_property(LOCATION ${TARGET} LOCATION_RELWITHDEBINFO)
|
|
|
|
string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}")
|
|
|
|
install(FILES ${LOCATION} DESTINATION ${INSTALL_PATH} CONFIGURATIONS RelWithDebInfo)
|
|
|
|
endif(MSVC)
|
|
|
|
endmacro(install_pdb)
|
2014-08-12 03:54:47 +06:00
|
|
|
|
|
|
|
macro(normalize_path PATH)
|
|
|
|
get_filename_component(${PATH} "${${PATH}}" ABSOLUTE)
|
|
|
|
if(NOT "${${PATH}}" MATCHES "/$")
|
|
|
|
set(${PATH} "${${PATH}}/")
|
|
|
|
endif()
|
|
|
|
endmacro()
|