diff --git a/cmake/modules/QcaMacro.cmake b/cmake/modules/QcaMacro.cmake index 83b7e5ca..af909c25 100644 --- a/cmake/modules/QcaMacro.cmake +++ b/cmake/modules/QcaMacro.cmake @@ -1,113 +1,113 @@ 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) MACRO(SETUP_QT5_DIRS) - EXEC_PROGRAM( $ ARGS "-query QT_INSTALL_LIBS" OUTPUT_VARIABLE QT_LIBRARY_DIR ) - EXEC_PROGRAM( $ ARGS "-query QT_INSTALL_PREFIX" OUTPUT_VARIABLE QT_PREFIX_DIR ) - EXEC_PROGRAM( $ ARGS "-query QT_INSTALL_PLUGINS" OUTPUT_VARIABLE QT_PLUGINS_DIR ) - EXEC_PROGRAM( $ ARGS "-query QT_INSTALL_BINS" OUTPUT_VARIABLE QT_BINARY_DIR ) - EXEC_PROGRAM( $ ARGS "-query QT_INSTALL_HEADERS" OUTPUT_VARIABLE QT_HEADERS_DIR ) - EXEC_PROGRAM( $ ARGS "-query QT_INSTALL_DOCS" OUTPUT_VARIABLE QT_DOC_DIR ) - EXEC_PROGRAM( $ ARGS "-query QT_INSTALL_DATA" OUTPUT_VARIABLE QT_DATA_DIR ) - EXEC_PROGRAM( $ ARGS "-query QT_HOST_DATA" OUTPUT_VARIABLE QT_ARCHDATA_DIR ) + EXECUTE_PROCESS( COMMAND $ ARGS "-query QT_INSTALL_LIBS" OUTPUT_VARIABLE QT_LIBRARY_DIR ) + EXECUTE_PROCESS( COMMAND $ ARGS "-query QT_INSTALL_PREFIX" OUTPUT_VARIABLE QT_PREFIX_DIR ) + EXECUTE_PROCESS( COMMAND $ ARGS "-query QT_INSTALL_PLUGINS" OUTPUT_VARIABLE QT_PLUGINS_DIR ) + EXECUTE_PROCESS( COMMAND $ ARGS "-query QT_INSTALL_BINS" OUTPUT_VARIABLE QT_BINARY_DIR ) + EXECUTE_PROCESS( COMMAND $ ARGS "-query QT_INSTALL_HEADERS" OUTPUT_VARIABLE QT_HEADERS_DIR ) + EXECUTE_PROCESS( COMMAND $ ARGS "-query QT_INSTALL_DOCS" OUTPUT_VARIABLE QT_DOC_DIR ) + EXECUTE_PROCESS( COMMAND $ ARGS "-query QT_INSTALL_DATA" OUTPUT_VARIABLE QT_DATA_DIR ) + EXECUTE_PROCESS( COMMAND $ ARGS "-query QT_HOST_DATA" OUTPUT_VARIABLE QT_ARCHDATA_DIR ) SET( QT_MKSPECS_DIR "${QT_ARCHDATA_DIR}/mkspecs" ) ENDMACRO(SETUP_QT5_DIRS) 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) ENDIF() MACRO(MY_AUTOMOC _srcsList) # QT4_GET_MOC_INC_DIRS(_moc_INCS) 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) # 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} # ) LIST(APPEND ${_srcsList} ${_moc}) ENDFOREACH (_current_FILE) ENDMACRO(MY_AUTOMOC) 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) # 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) # 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) macro(install_pdb TARGET INSTALL_PATH) if(MSVC) install(FILES $ DESTINATION ${INSTALL_PATH} CONFIGURATIONS Debug) install(FILES $ DESTINATION ${INSTALL_PATH} CONFIGURATIONS RelWithDebInfo) endif(MSVC) endmacro(install_pdb) macro(normalize_path PATH) get_filename_component(${PATH} "${${PATH}}" ABSOLUTE) # Strip trailing slashes string(REGEX REPLACE "/+$" "" PATH ${PATH}) endmacro()