#3754 Upgrade CAF CMake-system to support both Qt4 and Qt5

This commit is contained in:
Gaute Lindkvist committed 2018-11-30 09:47:53 +01:00
1 parent cc7269c717
commit ddb546d877
20 files changed
+460 -172

No files matched your search

@@ -1,7 +1,12 @@
cmake_minimum_required (VERSION 2.8.12)
find_package ( Qt4 COMPONENTS QtCore QtGui QtMain )
include (${QT_USE_FILE})
find_package(Qt5 CONFIG COMPONENTS Core)
if (Qt5Core_FOUND)
find_package(Qt5 CONFIG REQUIRED Core Gui Widgets)
else()
find_package(Qt4 COMPONENTS QtCore QtGui QtMain REQUIRED)
include(${QT_USE_FILE})
endif(Qt5Core_FOUND)
project ( cafUserInterface_UnitTests )
@@ -27,7 +32,9 @@ add_executable (${PROJECT_NAME}
source_group("" FILES ${PROJECT_FILES})
message(STATUS ${PROJECT_NAME}" - Qt includes : " ${QT_LIBRARIES})
if (Qt5Core_FOUND)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
endif()
target_link_libraries ( ${PROJECT_NAME}
cafUserInterface
@@ -36,15 +43,24 @@ target_link_libraries ( ${PROJECT_NAME}
)
# Copy Qt Dlls
if (MSVC)
set (QTLIBLIST QtCore QtGui)
foreach (qtlib ${QTLIBLIST})
# Debug
execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}d4.dll ${CMAKE_CURRENT_BINARY_DIR}/Debug/${qtlib}d4.dll)
# Release
execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}4.dll ${CMAKE_CURRENT_BINARY_DIR}/Release/${qtlib}4.dll)
endforeach( qtlib )
endif(MSVC)
if (Qt5Core_FOUND)
foreach (qtlib ${QT_LIBRARIES})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}> $<TARGET_FILE_DIR:${PROJECT_NAME}>
)
endforeach(qtlib)
# Copy Qt Dlls
else()
# Copy Qt Dlls
if (MSVC)
set (QTLIBLIST QtCore QtGui QtOpenGl )
foreach (qtlib ${QTLIBLIST})
# Debug
execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}d4.dll ${CMAKE_BINARY_DIR}/Debug/${qtlib}d4.dll)
# Release
execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}4.dll ${CMAKE_BINARY_DIR}/Release/${qtlib}4.dll)
endforeach( qtlib )
endif(MSVC)
endif(Qt5Core_FOUND)