Warning, /libraries/qca/cmake/modules/QcaMacro.cmake is written in an unsupported language. File is not indexed.
0001
0002 MACRO(SETUP_QT_DIRS)
0003 if(BUILD_WITH_QT6)
0004 GET_TARGET_PROPERTY(QMAKE_EXECUTABLE Qt6::qmake LOCATION)
0005 else()
0006 GET_TARGET_PROPERTY(QMAKE_EXECUTABLE ${Qt5Core_QMAKE_EXECUTABLE} LOCATION)
0007 endif()
0008 EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_LIBS" OUTPUT_VARIABLE QT_LIBRARY_DIR )
0009 EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_PREFIX" OUTPUT_VARIABLE QT_PREFIX_DIR )
0010 EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_PLUGINS" OUTPUT_VARIABLE QT_PLUGINS_DIR )
0011 EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_BINS" OUTPUT_VARIABLE QT_BINARY_DIR )
0012 EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_HEADERS" OUTPUT_VARIABLE QT_HEADERS_DIR )
0013 EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_DOCS" OUTPUT_VARIABLE QT_DOC_DIR )
0014 EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_DATA" OUTPUT_VARIABLE QT_DATA_DIR )
0015 EXEC_PROGRAM( ${QMAKE_EXECUTABLE} ARGS "-query QT_HOST_DATA" OUTPUT_VARIABLE QT_ARCHDATA_DIR )
0016 SET( QT_MKSPECS_DIR "${QT_ARCHDATA_DIR}/mkspecs" )
0017 ENDMACRO(SETUP_QT_DIRS)
0018
0019 macro(set_enabled_plugin PLUGIN ENABLED)
0020 # To nice looks
0021 if(ENABLED)
0022 set(ENABLED "on")
0023 else()
0024 set(ENABLED "off")
0025 endif()
0026 set(WITH_${PLUGIN}_PLUGIN_INTERNAL ${ENABLED} CACHE INTERNAL "")
0027 endmacro(set_enabled_plugin)
0028
0029 macro(enable_plugin PLUGIN)
0030 set_enabled_plugin(${PLUGIN} "on")
0031 endmacro(enable_plugin)
0032
0033 macro(disable_plugin PLUGIN)
0034 set_enabled_plugin(${PLUGIN} "off")
0035 endmacro(disable_plugin)
0036
0037 # it used to build examples and tools
0038 macro(target_link_qca_libraries TARGET)
0039 # Link with QCA library
0040 target_link_libraries(${TARGET} ${QCA_LIB_NAME})
0041
0042 # Statically link with all enabled QCA plugins
0043 if(STATIC_PLUGINS)
0044 target_link_libraries(${TARGET} ${QT_QTCORE_LIB_DEPENDENCIES})
0045 foreach(PLUGIN IN LISTS PLUGINS)
0046 # Check plugin for enabled
0047 if(WITH_${PLUGIN}_PLUGIN_INTERNAL)
0048 target_link_libraries(${TARGET} qca-${PLUGIN})
0049 endif()
0050 endforeach(PLUGIN)
0051 endif()
0052 endmacro(target_link_qca_libraries)
0053
0054 # it used to build unittests
0055 macro(target_link_qca_test_libraries TARGET)
0056 target_link_qca_libraries(${TARGET})
0057 target_link_libraries(${TARGET} Qt${QT_MAJOR_VERSION}::Test)
0058 endmacro(target_link_qca_test_libraries)
0059
0060 # it used to build unittests
0061 macro(add_qca_test TARGET DESCRIPTION)
0062 add_test(NAME "${DESCRIPTION}"
0063 WORKING_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
0064 COMMAND "${TARGET}")
0065 endmacro(add_qca_test)
0066
0067 macro(install_pdb TARGET INSTALL_PATH)
0068 if(MSVC)
0069 install(FILES $<TARGET_PDB_FILE:${TARGET}> DESTINATION ${INSTALL_PATH} CONFIGURATIONS Debug)
0070 install(FILES $<TARGET_PDB_FILE:${TARGET}> DESTINATION ${INSTALL_PATH} CONFIGURATIONS RelWithDebInfo)
0071 endif()
0072 endmacro(install_pdb)
0073
0074 macro(normalize_path PATH)
0075 get_filename_component(${PATH} "${${PATH}}" ABSOLUTE)
0076 # Strip trailing slashes
0077 string(REGEX REPLACE "/+$" "" PATH ${PATH})
0078 endmacro()