mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3754 Upgrade CAF CMake-system to support both Qt4 and Qt5
This commit is contained in:
@@ -1,10 +1,15 @@
|
||||
cmake_minimum_required (VERSION 2.8)
|
||||
cmake_minimum_required (VERSION 2.8.12)
|
||||
|
||||
project (cafProjectDataModel)
|
||||
|
||||
# Qt
|
||||
find_package ( Qt4 COMPONENTS QtCore QtGui )
|
||||
include (${QT_USE_FILE})
|
||||
find_package(Qt5Core CONFIG QUIET)
|
||||
if (Qt5Core_FOUND)
|
||||
find_package(Qt5 CONFIG REQUIRED Core Gui Widgets)
|
||||
else()
|
||||
find_package(Qt4 COMPONENTS QtCore QtGui REQUIRED)
|
||||
include(${QT_USE_FILE})
|
||||
endif(Qt5Core_FOUND)
|
||||
|
||||
set( PROJECT_FILES
|
||||
cafFactory.h
|
||||
@@ -21,9 +26,14 @@ add_library( ${PROJECT_NAME}
|
||||
${PROJECT_FILES}
|
||||
)
|
||||
|
||||
if (Qt5Core_FOUND)
|
||||
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
|
||||
endif()
|
||||
|
||||
target_link_libraries ( ${PROJECT_NAME}
|
||||
cafPdmUiCore
|
||||
cafPdmXml
|
||||
${QT_LIBRARIES}
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
|
||||
@@ -3,8 +3,13 @@ cmake_minimum_required (VERSION 2.8.12)
|
||||
project (cafPdmCore)
|
||||
|
||||
# Qt
|
||||
find_package ( Qt4 COMPONENTS QtCore )
|
||||
include (${QT_USE_FILE})
|
||||
find_package(Qt5Core CONFIG QUIET)
|
||||
if (Qt5Core_FOUND)
|
||||
find_package(Qt5 CONFIG REQUIRED Core)
|
||||
else()
|
||||
find_package(Qt4 COMPONENTS QtCore REQUIRED)
|
||||
include(${QT_USE_FILE})
|
||||
endif(Qt5Core_FOUND)
|
||||
|
||||
set( PROJECT_FILES
|
||||
|
||||
@@ -60,6 +65,12 @@ target_include_directories(${PROJECT_NAME}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
if (Qt5Core_FOUND)
|
||||
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
|
||||
endif()
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} ${QT_LIBRARIES})
|
||||
|
||||
if (MSVC)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W4 /wd4100 /wd4127")
|
||||
endif()
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
cmake_minimum_required (VERSION 2.8.12)
|
||||
|
||||
find_package ( Qt4 COMPONENTS QtCore QtGui )
|
||||
include (${QT_USE_FILE})
|
||||
find_package(Qt5 CONFIG REQUIRED 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 ( cafPdmCore_UnitTests )
|
||||
|
||||
@@ -34,7 +39,10 @@ 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}
|
||||
cafPdmCore
|
||||
@@ -42,16 +50,25 @@ target_link_libraries ( ${PROJECT_NAME}
|
||||
${THREAD_LIBRARY}
|
||||
)
|
||||
|
||||
|
||||
# Copy Qt Dlls
|
||||
if (MSVC)
|
||||
set (QTLIBLIST QtCore )
|
||||
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 )
|
||||
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)
|
||||
@@ -1,23 +1,33 @@
|
||||
cmake_minimum_required (VERSION 2.8)
|
||||
cmake_minimum_required (VERSION 2.8.12)
|
||||
|
||||
project (cafPdmUiCore)
|
||||
|
||||
# Qt
|
||||
find_package ( Qt4 COMPONENTS QtCore QtGui )
|
||||
include (${QT_USE_FILE})
|
||||
find_package(Qt5Core CONFIG QUIET)
|
||||
if (Qt5Core_FOUND)
|
||||
find_package(Qt5 CONFIG REQUIRED Core Gui Widgets)
|
||||
else()
|
||||
find_package(Qt4 COMPONENTS QtCore QtGui REQUIRED)
|
||||
include(${QT_USE_FILE})
|
||||
endif(Qt5Core_FOUND)
|
||||
|
||||
|
||||
include_directories (
|
||||
..
|
||||
)
|
||||
|
||||
# These headers need to go through Qt's MOC compiler
|
||||
set( QOBJECT_HEADERS
|
||||
set (MOC_HEADER_FILES
|
||||
cafPdmUiFieldEditorHandle.h
|
||||
cafPdmUiSelection3dEditorVisualizer.h
|
||||
)
|
||||
|
||||
if ( NOT CMAKE_AUTOMOC )
|
||||
qt4_wrap_cpp( MOC_FILES_CPP ${QOBJECT_HEADERS} )
|
||||
# Run MOC on the headers
|
||||
add_definitions(-DCVF_USING_CMAKE)
|
||||
if (Qt5Core_FOUND)
|
||||
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES} )
|
||||
else()
|
||||
qt4_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES} )
|
||||
endif()
|
||||
|
||||
set( PROJECT_FILES
|
||||
@@ -67,11 +77,16 @@ set( PROJECT_FILES
|
||||
|
||||
add_library( ${PROJECT_NAME}
|
||||
${PROJECT_FILES}
|
||||
${MOC_FILES_CPP}
|
||||
${MOC_SOURCE_FILES}
|
||||
)
|
||||
|
||||
if (Qt5Core_FOUND)
|
||||
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
|
||||
endif()
|
||||
|
||||
target_link_libraries ( ${PROJECT_NAME}
|
||||
cafPdmCore
|
||||
${QT_LIBRARIES}
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
cmake_minimum_required (VERSION 2.8)
|
||||
cmake_minimum_required (VERSION 2.8.12)
|
||||
|
||||
project (cafPdmXml)
|
||||
|
||||
# Qt
|
||||
find_package ( Qt4 COMPONENTS QtCore )
|
||||
include (${QT_USE_FILE})
|
||||
find_package(Qt5Core CONFIG QUIET)
|
||||
if (Qt5Core_FOUND)
|
||||
find_package(Qt5 CONFIG REQUIRED Core Xml)
|
||||
else()
|
||||
find_package(Qt4 COMPONENTS QtCore QtXml REQUIRED)
|
||||
include(${QT_USE_FILE})
|
||||
endif(Qt5Core_FOUND)
|
||||
|
||||
include_directories (
|
||||
..
|
||||
@@ -44,8 +49,13 @@ add_library( ${PROJECT_NAME}
|
||||
${PROJECT_FILES}
|
||||
)
|
||||
|
||||
if (Qt5Core_FOUND)
|
||||
set(QT_LIBRARIES Qt5::Core Qt5::Xml)
|
||||
endif()
|
||||
|
||||
target_link_libraries ( ${PROJECT_NAME}
|
||||
cafPdmCore
|
||||
${QT_LIBRARIES}
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
cmake_minimum_required (VERSION 2.8.12)
|
||||
|
||||
find_package ( Qt4 COMPONENTS QtCore )
|
||||
include (${QT_USE_FILE})
|
||||
find_package(Qt5 CONFIG COMPONENTS Core)
|
||||
if (Qt5Core_FOUND)
|
||||
find_package(Qt5 CONFIG REQUIRED Core Xml)
|
||||
else()
|
||||
find_package(Qt4 COMPONENTS QtCore QtXml REQUIRED)
|
||||
include(${QT_USE_FILE})
|
||||
endif(Qt5Core_FOUND)
|
||||
|
||||
|
||||
project ( cafPdmXml_UnitTests )
|
||||
|
||||
@@ -18,7 +24,10 @@ add_executable (${PROJECT_NAME}
|
||||
cafPdmAdvancedTemplateTest.cpp
|
||||
cafPdmXmlNumberTest.cpp
|
||||
)
|
||||
message(STATUS ${PROJECT_NAME}" - Qt includes : " ${QT_LIBRARIES})
|
||||
|
||||
if (Qt5Core_FOUND)
|
||||
set(QT_LIBRARIES Qt5::Core Qt5::Xml)
|
||||
endif()
|
||||
|
||||
target_link_libraries ( ${PROJECT_NAME}
|
||||
cafPdmXml
|
||||
@@ -29,14 +38,24 @@ target_link_libraries ( ${PROJECT_NAME}
|
||||
source_group("" FILES ${PROJECT_FILES})
|
||||
|
||||
# Copy Qt Dlls
|
||||
if (MSVC)
|
||||
set (QTLIBLIST QtCore )
|
||||
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)
|
||||
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)
|
||||
@@ -1,7 +1,12 @@
|
||||
cmake_minimum_required (VERSION 2.8.12)
|
||||
|
||||
find_package ( Qt4 COMPONENTS QtCore QtGui )
|
||||
include (${QT_USE_FILE})
|
||||
find_package(Qt5 CONFIG COMPONENTS Core)
|
||||
if (Qt5Core_FOUND)
|
||||
find_package(Qt5 CONFIG REQUIRED Core Xml)
|
||||
else()
|
||||
find_package(Qt4 COMPONENTS QtCore QtXml REQUIRED)
|
||||
include(${QT_USE_FILE})
|
||||
endif(Qt5Core_FOUND)
|
||||
|
||||
project ( cafProjectDataModel_UnitTests )
|
||||
|
||||
@@ -22,7 +27,10 @@ add_executable (${PROJECT_NAME}
|
||||
${PROJECT_FILES}
|
||||
gtest/gtest-all.cpp
|
||||
)
|
||||
message(${PROJECT_NAME}" - Qt includes : " ${QT_LIBRARIES})
|
||||
|
||||
if (Qt5Core_FOUND)
|
||||
set(QT_LIBRARIES Qt5::Core Qt5::Xml)
|
||||
endif()
|
||||
|
||||
target_link_libraries ( ${PROJECT_NAME}
|
||||
cafProjectDataModel
|
||||
@@ -33,14 +41,24 @@ target_link_libraries ( ${PROJECT_NAME}
|
||||
source_group("" FILES ${PROJECT_FILES})
|
||||
|
||||
# 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)
|
||||
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)
|
||||
Reference in New Issue
Block a user