Commit 651cfe5c authored by Matthias Möller's avatar Matthias Möller

add qt5 cmake files

refs #1359

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@17083 383ad7c9-94d9-4d36-a494-682f7c89f535
parent fe1833e3
......@@ -8,7 +8,23 @@ if ( ${PROJECT_NAME} MATCHES "OpenFlipper")
endif()
acg_qt4 (REQUIRED 4.5)
if (NOT FORCE_QT4)
# try to use QT5 if possible otherwise stick to QT4
acg_qt5 ()
else()
set (QT_MAX_VERSION 4.9.9)
set (QT5_FOUND false)
endif()
if (NOT QT5_FOUND)
message(STATUS "Using QT4 for ACG")
acg_qt4 (REQUIRED 4.5)
else ()
message(STATUS "Using QT5 for ACG")
endif ()
acg_openmp ()
acg_ftgl ()
......@@ -48,10 +64,10 @@ find_package(Qwt5)
if(Qwt5_Qt4_FOUND)
add_definitions(-DWITH_QWT)
set(INCLUDE_DIRS ${INCLUDE_DIRS} ${Qwt5_INCLUDE_DIR} )
set(ADDITIONAL_LINK_LIBRARIES ${ADDITIONAL_LINK_LIBRARIES} ${Qwt5_Qt4_LIBRARY})
set(ADDITIONAL_LINK_LIBRARIES ${ADDITIONAL_LINK_LIBRARIES} ${Qwt5_Qt4_LIBRARY})
endif()
find_package( Freetype)
find_package( Freetype)
if (NOT FREETYPE_FOUND)
message (MESSAGE "FREETYPE not found! Disabled ftgl support!")
else (NOT FREETYPE_FOUND)
......@@ -60,7 +76,7 @@ else (NOT FREETYPE_FOUND)
message (MESSAGE "FTGL not found! Disabled ftgl support!")
else ()
set(INCLUDE_DIRS ${INCLUDE_DIRS} ${FREETYPE_INCLUDE_DIR_freetype2} ${FREETYPE_INCLUDE_DIR_ft2build} )
set( ADDITIONAL_LINK_LIBRARIES ${ADDITIONAL_LINK_LIBRARIES} ${FTGL_LIBS} ${FREETYPE_LIBRARIES} )
set( ADDITIONAL_LINK_LIBRARIES ${ADDITIONAL_LINK_LIBRARIES} ${FTGL_LIBS} ${FREETYPE_LIBRARIES} )
endif ()
endif ()
......@@ -103,7 +119,7 @@ endif(GTEST_FOUND)
#===================================================================
# source code directories
set (directories
set (directories
.
Geometry
Config
......@@ -133,10 +149,20 @@ acg_append_files (ui "*.ui" ${directories})
acg_drop_templates (sources)
# genereate uic and moc targets
acg_qt4_autouic (uic_targets ${ui})
acg_qt4_automoc (moc_targets ${headers})
if (QT5_FOUND)
acg_qt5_autouic (uic_targets ${ui})
acg_qt5_automoc (moc_targets ${headers})
elseif (QT4_FOUND)
acg_qt4_autouic (uic_targets ${ui})
acg_qt4_automoc (moc_targets ${headers})
endif()
acg_add_library (ACG SHARED ${uic_targets} ${sources} ${headers} ${moc_targets})
if (QT5_FOUND)
acg_add_library (ACG SHARED ${uic_targets} ${sources} ${headers} ${moc_targets})
elseif (QT4_FOUND)
acg_add_library (ACG SHARED ${uic_targets} ${sources} ${headers} ${moc_targets})
endif()
if ( NOT WIN32 )
set_target_properties (ACG PROPERTIES VERSION ${ACG_VERSION_MAJOR}.${ACG_VERSION_MINOR}
SOVERSION ${ACG_VERSION_MAJOR}.${ACG_VERSION_MINOR})
......@@ -156,4 +182,3 @@ target_link_libraries ( ACG OpenMeshCore
${GLEW_LIBRARY}
${GLUT_LIBRARIES}
${ADDITIONAL_LINK_LIBRARIES} )
......@@ -26,8 +26,23 @@ acg_get_version (OpenFlipper)
include (package)
include (ACGOutput)
# try to use QT5 if possible otherwise stick to QT4
set (FORCE_QT4 ON CACHE BOOL "Use Qt4 even if Qt5 was found")
if (NOT FORCE_QT4)
acg_qt5 ()
else()
set (QT5_FOUND false)
endif()
if (NOT QT5_FOUND)
message(STATUS "Using QT4 for OpenFlipper")
acg_qt4 (4.7.0)
else ()
message(STATUS "Using QT5 for OpenFlipper")
endif ()
acg_qt4 (4.7.0)
acg_openmp ()
acg_ftgl ()
......@@ -97,12 +112,12 @@ add_subdirectory (OpenFlipper/PluginLib)
add_subdirectory (tests)
# ========================================================================
# Documentation generators
# Documentation generators
# ========================================================================
# Create dirs to make doxygen happy
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Doc )
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Help )
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Doc )
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Help )
# Add the deocumentation targets
add_subdirectory (OpenFlipper/Documentation/DeveloperTarget)
......@@ -110,12 +125,11 @@ add_subdirectory (OpenFlipper/Documentation/DeveloperQtHelpTarget)
add_subdirectory (OpenFlipper/Documentation/UserTarget)
add_subdirectory (OpenFlipper/Documentation/UserQtHelpTarget)
# ========================================================================
# Build all additional libraries
# Build all additional libraries
# ========================================================================
# search all libs in the libs directory
# search all libs in the libs directory
# (required and optional libraries
file (
GLOB _local_libs_in
......@@ -152,7 +166,7 @@ foreach (_localLib ${REMAINING_LOCAL_LIBS})
# If the library is in the required folder, we have to build it anyway, so
# detect it here
SET(REQUIRED FALSE)
SET(REQUIRED FALSE)
if ( _localLib MATCHES ".*libs_required.*" )
SET(REQUIRED TRUE )
endif()
......@@ -160,7 +174,7 @@ foreach (_localLib ${REMAINING_LOCAL_LIBS})
# Extract upper case library dir name for the human readable entries in the cmake config
string(TOUPPER ${_local_lib_dir} _local_lib_dir_upper)
string(REGEX REPLACE "LIBS[/\\]" "" _local_lib_dir_upper ${_local_lib_dir_upper} )
# Only generate setting if the lib is not required (otherwise, we will always build it)
if ( NOT DEFINED LIB_${_local_lib_dir_upper}_BUILD AND NOT REQUIRED)
set( LIB_${_local_lib_dir_upper}_BUILD true CACHE BOOL "Enable or disable build of ${_local_lib_dir_upper} Library" )
......@@ -176,7 +190,7 @@ endforeach ()
# PolyLine extension special case
# ========================================================================
if ( EXISTS ${CMAKE_SOURCE_DIR}/libs/MeshIntegration )
if ( EXISTS ${CMAKE_SOURCE_DIR}/libs/MeshIntegration )
add_definitions( -DEXTENDED_POLY_LINE )
endif()
......@@ -217,10 +231,10 @@ add_subdirectory (OpenFlipper/CoreApp)
if (WIN32 )
# Plugins collected a list of required libdirs for getting
# Plugins collected a list of required libdirs for getting
# their DLLS on windows:
get_property( WINDOWS_COPY_LIBDIRS GLOBAL PROPERTY WINDOWS_LIBRARY_DIR_LIST )
if ( WINDOWS_COPY_LIBDIRS )
list(REMOVE_DUPLICATES WINDOWS_COPY_LIBDIRS)
endif()
......@@ -234,7 +248,7 @@ if (WIN32 )
# let bundle generation depend on all targets
add_dependencies (fixbundle OpenFlipper PluginLib ${OPENFLIPPER_PLUGINS})
endif(WIN32)
# ========================================================================
......@@ -250,18 +264,18 @@ if ( APPLE )
# prepare bundle generation cmake file and add a build target for it
configure_file ("${CMAKE_SOURCE_DIR}/OpenFlipper/cmake/fixbundle.cmake.in"
"${CMAKE_BINARY_DIR}/fixbundle.cmake" @ONLY IMMEDIATE)
"${CMAKE_BINARY_DIR}/fixbundle.cmake" @ONLY IMMEDIATE)
# Fixbundle is only necessary, when we wan't a shippable package.
# Otherwise the original rpaths are used
# Otherwise the original rpaths are used
if ( OPENFLIPPER_CALL_FIX_BUNDLE )
# Call fixbundle every time
add_custom_target (fixbundle ALL
# Call fixbundle every time
add_custom_target (fixbundle ALL
COMMAND ${CMAKE_COMMAND} -P "${CMAKE_BINARY_DIR}/fixbundle.cmake"
)
else()
# Call fixbundle only as a dependency
add_custom_target (fixbundle
add_custom_target (fixbundle
COMMAND ${CMAKE_COMMAND} -P "${CMAKE_BINARY_DIR}/fixbundle.cmake"
)
endif()
......
......@@ -39,18 +39,18 @@ else (APPLE)
endif(APPLE)
# source code directories
set (directories
..
set (directories
..
../Core
../Logging
../Scripting
../Scripting/scriptPrototypes
../Scripting/scriptWrappers
../SimpleOpt
../widgets/aboutWidget
../widgets/aboutWidget
../widgets/addEmptyWidget
../widgets/loggerWidget
../widgets/coreWidget
../widgets/coreWidget
../widgets/helpWidget
../widgets/processManagerWidget
../widgets/loadWidget
......@@ -73,8 +73,14 @@ acg_append_files (ui "*.ui" ${directories})
acg_drop_templates (sources)
# genereate uic and moc targets
acg_qt4_autouic (uic_targets ${ui})
acg_qt4_automoc (moc_targets ${headers})
if (QT5_FOUND)
set(CMAKE_AUTOMOC ON)
acg_qt5_autouic (uic_targets ${ui})
acg_qt5_automoc (moc_targets ${headers})
else ()
acg_qt4_autouic (uic_targets ${ui})
acg_qt4_automoc (moc_targets ${headers})
endif()
if (WIN32)
# add app icon rc file to windows build
......@@ -104,7 +110,7 @@ endif ()
# ====================================================================================
# Get list of ll plugin dependencies and handle special ones
# where we need to link the library directly into the core to prevent
# where we need to link the library directly into the core to prevent
# linker problems
# ====================================================================================
# Get the property containing the list of all dependencies of the plugins
......@@ -155,6 +161,7 @@ target_link_libraries (OpenFlipper
${GLUT_LIBRARIES}
${FTGL_LIBS}
${COREAPP_ADDITIONAL_LINK_LIBRARIES}
)
if (APPLE)
......@@ -168,34 +175,28 @@ if (APPLE)
MACOSX_BUNDLE_ICON_FILE "OpenFlipper.icns"
)
if ( EXISTS ${CMAKE_SOURCE_DIR}/branding )
if ( EXISTS ${CMAKE_SOURCE_DIR}/branding )
# Take bundle icon from branding dir
IF ( NOT APPLE_BUNDLE_ICON )
IF ( NOT APPLE_BUNDLE_ICON )
# option to set the used Icon for OpenFlipper
set ( APPLE_BUNDLE_ICON "${CMAKE_SOURCE_DIR}\\branding\\mac\\OpenFlipper_Icon.icns" CACHE FILEPATH "Path to the Bundle Icon" )
ENDIF(NOT APPLE_BUNDLE_ICON )
# Take plist from branding
IF ( NOT APPLE_INFO_PLIST )
if ( EXISTS ${CMAKE_SOURCE_DIR}/branding/mac/Info.plist )
# option to configure the custom Info.plist
set ( APPLE_INFO_PLIST "${CMAKE_SOURCE_DIR}\\branding\\mac\\Info.plist" CACHE FILEPATH "Path to the Info.plist file for Bundle" )
else ( EXISTS ${CMAKE_SOURCE_DIR}/branding/mac/Info.plist )
# option to configure a custum Info.plist but configure with default one
set ( APPLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/../installer/mac/Info.plist" CACHE FILEPATH "Path to the Info.plist file for Bundle" )
endif( EXISTS ${CMAKE_SOURCE_DIR}/branding/mac/Info.plist )
ENDIF(NOT APPLE_INFO_PLIST )
ENDIF(NOT APPLE_BUNDLE_ICON )
IF ( NOT APPLE_INFO_PLIST )
if ( EXISTS ${CMAKE_SOURCE_DIR}/branding/mac/Info.plist )
# option to configure the custom Info.plist
set ( APPLE_INFO_PLIST "${CMAKE_SOURCE_DIR}\\branding\\mac\\Info.plist" CACHE FILEPATH "Path to the Info.plist file for Bundle" )
else ( EXISTS ${CMAKE_SOURCE_DIR}/branding/mac/Info.plist )
# option to configure a custum Info.plist but configure with default one
set ( APPLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/../installer/mac/Info.plist" CACHE FILEPATH "Path to the Info.plist file for Bundle" )
endif( EXISTS ${CMAKE_SOURCE_DIR}/branding/mac/Info.plist )
ENDIF(NOT APPLE_INFO_PLIST )
else()
IF ( NOT APPLE_BUNDLE_ICON )
# option to set the used Icon for OpenFlipper
if ( EXISTS ${CMAKE_SOURCE_DIR}/branding/Icons/OpenFlipper_Icon.icns )
set ( APPLE_BUNDLE_ICON " ${CMAKE_SOURCE_DIR}/branding/Icons/OpenFlipper_Icon.icns" CACHE FILEPATH "Path to the Bundle Icon" )
else()
set ( APPLE_BUNDLE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/../Icons/OpenFlipper_Icon.icns" CACHE FILEPATH "Path to the Bundle Icon" )
endif()
set ( APPLE_BUNDLE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/../Icons/OpenFlipper_Icon.icns" CACHE FILEPATH "Path to the Bundle Icon" )
ENDIF(NOT APPLE_BUNDLE_ICON )
IF ( NOT APPLE_INFO_PLIST )
......@@ -204,21 +205,22 @@ if (APPLE)
ENDIF(NOT APPLE_INFO_PLIST )
endif()
add_custom_command(TARGET OpenFlipper POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${APPLE_BUNDLE_ICON}" "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/OpenFlipper.icns"
)
# create bundle in "Build" directory and set icon
# no install needed here, because the whole bundle will be installed in the
# toplevel CMakeLists.txt
set_target_properties (
add_custom_command(TARGET OpenFlipper POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${APPLE_BUNDLE_ICON}" "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/OpenFlipper.icns"
)
# create bundle in "Build" directory and set icon
# no install needed here, because the whole bundle will be installed in the
# toplevel CMakeLists.txt
set_target_properties (
OpenFlipper PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/Build"
MACOSX_BUNDLE_INFO_STRING "ACG OpenFlipper"
MACOSX_BUNDLE_ICON_FILE "OpenFlipper.icns"
MACOSX_BUNDLE_INFO_PLIST ${APPLE_INFO_PLIST}
)
)
endif ()
......@@ -240,17 +242,17 @@ acg_copy_after_build (OpenFlipper "${CMAKE_CURRENT_SOURCE_DIR}/../Fonts" "${CMAK
acg_copy_after_build (OpenFlipper "${CMAKE_CURRENT_SOURCE_DIR}/../Documentation/QtHelpResources" "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Help")
if ( EXISTS ${CMAKE_SOURCE_DIR}/branding )
if ( WIN32 )
acg_copy_after_build (OpenFlipper "${CMAKE_SOURCE_DIR}/branding/win/Icons" "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Icons")
if ( WIN32 )
acg_copy_after_build (OpenFlipper "${CMAKE_SOURCE_DIR}/branding/win" "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Icons")
elseif( APPLE )
acg_copy_after_build (OpenFlipper "${CMAKE_SOURCE_DIR}/branding/mac/Icons" "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Icons")
acg_copy_after_build (OpenFlipper "${CMAKE_SOURCE_DIR}/branding/mac" "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Icons")
elseif()
acg_copy_after_build (OpenFlipper "${CMAKE_SOURCE_DIR}/branding/linux/Icons" "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Icons")
acg_copy_after_build (OpenFlipper "${CMAKE_SOURCE_DIR}/branding/linux" "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Icons")
endif()
endif()
if ( APPLE )
if ( APPLE )
# we need qt_menu.nib in our resources dir so try to get it
if ( EXISTS /opt/local/lib/Resources/qt_menu.nib )
......@@ -275,7 +277,7 @@ if ( APPLE )
endif()
else ()
# In debug mode, we don't want release binaries in the bundle as it could cause crashes due to wrong linking or mixing of debug and release
if ( _file MATCHES ".*debug.*" )
add_custom_command(TARGET OpenFlipper POST_BUILD
......@@ -284,7 +286,7 @@ if ( APPLE )
endif()
endif()
endforeach ()
elseif(WIN32)
......@@ -319,17 +321,15 @@ if (NOT APPLE)
install( FILES "@CMAKE_BINARY_DIR@/Build/qt.conf" DESTINATION "${ACG_PROJECT_DATADIR}/" )
acg_install_dir ("${CMAKE_BINARY_DIR}/Build/QtPlugins/" "${ACG_PROJECT_DATADIR}/QtPlugins")
endif(WIN32)
if ( EXISTS ${CMAKE_SOURCE_DIR}/branding/win )
if ( WIN32 )
if ( EXISTS ${CMAKE_SOURCE_DIR}/branding )
if ( WIN32 )
acg_install_dir ( "${CMAKE_SOURCE_DIR}/branding/win" "${ACG_PROJECT_DATADIR}/Icons")
endif()
endif()
#todo install splash file for windows and Linux branding
endif ()
if ( EXISTS ${CMAKE_SOURCE_DIR}/branding/Icons )
# Overwrite generic Icons with branded ones.
acg_copy_after_build (OpenFlipper "${CMAKE_SOURCE_DIR}/branding/Icons" "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Icons")
endif()
......@@ -42,7 +42,7 @@ link_directories (
# generate dllexport macros on windows
if (WIN32)
add_definitions (
-DPLUGINLIBDLL
-DPLUGINLIBDLL
-DACGDLL
-DUSEACG
)
......@@ -66,7 +66,7 @@ if ( NOT DEFINED OPENFLIPPER_SETTINGS_DEBUG )
endif()
if ( OPENFLIPPER_SETTINGS_DEBUG )
add_definitions(-DOPENFLIPPER_SETTINGS_DEBUG )
add_definitions(-DOPENFLIPPER_SETTINGS_DEBUG )
endif()
#=======================================================
......@@ -74,13 +74,13 @@ endif()
#=======================================================
# source code directories
set (directories
../BasePlugin
../ACGHelper
../common
set (directories
../BasePlugin
../ACGHelper
../common
../threads
../common/bsp
../INIFile
../common/bsp
../INIFile
../widgets/glWidget
../publicWidgets/objectSelectionWidget
)
......@@ -99,17 +99,27 @@ acg_append_files_recursive (ui "*.ui" ${CMAKE_SOURCE_DIR}/ObjectTypes)
acg_drop_templates (sources)
# genereate uic and moc targets
acg_qt4_autouic (uic_targets ${ui})
acg_qt4_automoc (moc_targets ${headers})
if (QT5_FOUND)
acg_qt5_autouic (uic_targets ${ui})
acg_qt5_automoc (moc_targets ${headers})
elseif (QT4_FOUND)
acg_qt4_autouic (uic_targets ${ui})
acg_qt4_automoc (moc_targets ${headers})
endif ()
#=======================================================
# Create library
#=======================================================
acg_add_library (OpenFlipperPluginLib SHARED ${uic_targets} ${sources} ${headers} ${moc_targets})
if (QT5_FOUND)
acg_add_library (OpenFlipperPluginLib SHARED ${uic_targets} ${sources} ${headers} ${moc_targets})
elseif (QT4_FOUND)
acg_add_library (OpenFlipperPluginLib SHARED ${uic_targets} ${sources} ${headers} ${moc_targets})
endif ()
if( ADDITIONAL_PLUGINLIB_COMPILER_FLAGS )
set_target_properties (
OpenFlipperPluginLib PROPERTIES
OpenFlipperPluginLib PROPERTIES
COMPILE_FLAGS ${ADDITIONAL_PLUGINLIB_COMPILER_FLAGS}
)
endif()
......
This diff is collapsed.
This diff is collapsed.
# Find the Qwt 5.x includes and library, either the version linked to Qt3 or the version linked to Qt4
# Find the Qwt 5.x includes and library, either the version linked to Qt3, Qt4
# or Qt5
#
# On Windows it makes these assumptions:
# - the Qwt DLL is where the other DLLs for Qt are (QT_DIR\bin) or in the path
......@@ -6,9 +7,12 @@
# - the Qwt .lib is where the other LIBs for Qt are (QT_DIR\lib) or in the path
#
# Qwt5_INCLUDE_DIR - where to find qwt.h if Qwt
# Qwt5_Qt5_LIBRARY - The Qwt5 library linked against Qt5 (if it exists)#
# Qwt5_Qt5_LIBRARY_DIR
# Qwt5_Qt4_LIBRARY - The Qwt5 library linked against Qt4 (if it exists)#
# Qwt5_Qt4_LIBRARY_DIR
# Qwt5_Qt4_LIBRARY_DIR
# Qwt5_Qt3_LIBRARY - The Qwt5 library linked against Qt4 (if it exists)
# Qwt5_Qt5_FOUND - Qwt5 was found and uses Qt5
# Qwt5_Qt4_FOUND - Qwt5 was found and uses Qt4
# Qwt5_Qt3_FOUND - Qwt5 was found and uses Qt3
# Qwt5_FOUND - Set to TRUE if Qwt5 was found (linked either to Qt3 or Qt4)
......@@ -23,32 +27,36 @@ IF(Qwt5_Qt4_LIBRARY OR Qwt5_Qt3_LIBRARY AND Qwt5_INCLUDE_DIR)
SET(Qwt5_FIND_QUIETLY TRUE)
ENDIF(Qwt5_Qt4_LIBRARY OR Qwt5_Qt3_LIBRARY AND Qwt5_INCLUDE_DIR)
IF(NOT QT4_FOUND)
IF(NOT QT5_FOUND AND NOT FORCE_QT4)
FIND_PACKAGE( Qt5Widgets REQUIRED QUIET )
ELSEIF(NOT QT5_FOUND AND NOT QT4_FOUND)
FIND_PACKAGE( Qt4 REQUIRED QUIET )
ENDIF(NOT QT4_FOUND)
ENDIF()
IF( QT4_FOUND )
IF( QT5_FOUND )
ELSEIF( QT4_FOUND )
if ( CMAKE_GENERATOR MATCHES "Visual Studio 9*" )
set( SEARCHPATH "./" )
endif()
if ( CMAKE_GENERATOR MATCHES "Visual Studio 10*" )
set( SEARCHPATH "VS2010" )
endif()
# Is Qwt5 installed? Look for header files
FIND_PATH( Qwt5_INCLUDE_DIR qwt.h
PATHS ${QT_INCLUDE_DIR}
/usr/local/qwt/include
/usr/local/include
FIND_PATH( Qwt5_INCLUDE_DIR qwt.h
PATHS ${QT_INCLUDE_DIR}
/usr/local/qwt/include
/usr/local/include
/opt/local/include
/opt/local/include/qwt
/usr/include
/usr/include
/usr/include
c:\\libs\\${SEARCHPATH}\\x32\\Qwt-6.0.2
c:\\libs\\Qwt-6.0.1
c:\\Program\ Files\\qwt\\qwt-5.2.0
c:\\qwt-5.2.0
c:\\Program\ Files\\qwt\\qwt-5.2.0
c:\\qwt-5.2.0
C:\\libs\\qwt-5.2.0
PATH_SUFFIXES qwt qwt5 qwt-qt4 qwt5-qt4 qwt-qt3 qwt5-qt3 include qwt/include qwt5/include qwt-qt4/include qwt5-qt4/include qwt-qt3/include qwt5-qt3/include ENV PATH)
......@@ -56,7 +64,7 @@ IF( QT4_FOUND )
IF( Qwt5_INCLUDE_DIR )
FILE( READ ${Qwt5_INCLUDE_DIR}/qwt_global.h QWT_GLOBAL_H )
STRING( REGEX MATCH "#define *QWT_VERSION *(0x05*)" QWT_IS_VERSION_5 ${QWT_GLOBAL_H})
IF( QWT_IS_VERSION_5 )
STRING(REGEX REPLACE ".*#define[\\t\\ ]+QWT_VERSION_STR[\\t\\ ]+\"([0-9]+\\.[0-9]+\\.[0-9]+)\".*" "\\1" Qwt_VERSION "${QWT_GLOBAL_H}")
......@@ -68,26 +76,26 @@ IF( QT4_FOUND )
get_filename_component(_Qwt5_Qt4_LIBRARY_DIR ${Qwt5_Qt4_TENTATIVE_LIBRARY_RELEASE} PATH)
set ( Qwt5_Qt4_LIBRARY_DIR ${_Qwt5_Qt4_LIBRARY_DIR} CACHE FILEPATH "Library dir of qwt" )
if ( Qwt5_Qt4_TENTATIVE_LIBRARY_RELEASE AND Qwt5_Qt4_TENTATIVE_LIBRARY_DEBUG )
set ( Qwt5_Qt4_TENTATIVE_LIBRARY "optimized;${Qwt5_Qt4_TENTATIVE_LIBRARY_RELEASE};debug;${Qwt5_Qt4_TENTATIVE_LIBRARY_DEBUG}")
else()
set ( Qwt5_Qt4_TENTATIVE_LIBRARY "${Qwt5_Qt4_TENTATIVE_LIBRARY_RELEASE}")
endif()
ELSEIF( WIN32 )
# Find Qwt5 library linked to Qt4 Release Version
FIND_LIBRARY( Qwt5_Qt4_TENTATIVE_LIBRARY_RELEASE NAMES qwt qwt5-qt4 qwt-qt4 qwt5 PATHS
FIND_LIBRARY( Qwt5_Qt4_TENTATIVE_LIBRARY_RELEASE NAMES qwt qwt5-qt4 qwt-qt4 qwt5 PATHS
"c:\\libs\\${SEARCHPATH}\\x32\\Qwt-6.0.2\\lib"
"c:\\libs\\Qwt-6.0.1\\lib"
"c:\\Program\ Files\\qwt\\qwt-5.2.0\\lib"
"c:\\Program\ Files\\qwt\\qwt-5.2.0\\lib"
"c:\\libs\\qwt-5.2.0\\lib"
)
# Find Qwt5 library linked to Qt4 Debug Version
FIND_LIBRARY( Qwt5_Qt4_TENTATIVE_LIBRARY_DEBUG NAMES qwtd qwt5d PATHS
FIND_LIBRARY( Qwt5_Qt4_TENTATIVE_LIBRARY_DEBUG NAMES qwtd qwt5d PATHS
"c:\\libs\\${SEARCHPATH}\\x32\\Qwt-6.0.2\\lib"
"c:\\libs\\Qwt-6.0.1\\lib"
"c:\\Program\ Files\\qwt\\qwt-5.2.0\\lib"
"c:\\Program\ Files\\qwt\\qwt-5.2.0\\lib"
"c:\\libs\\qwt-5.2.0\\lib")
set ( Qwt5_Qt4_TENTATIVE_LIBRARY "optimized;${Qwt5_Qt4_TENTATIVE_LIBRARY_RELEASE};debug;${Qwt5_Qt4_TENTATIVE_LIBRARY_DEBUG}")
......@@ -137,7 +145,7 @@ IF( QT4_FOUND )
ENDIF( UNIX AND NOT CYGWIN AND NOT APPLE)
IF ( NOT APPLE )
# Find Qwt5 library linked to Qt3
FIND_LIBRARY( Qwt5_Qt3_TENTATIVE_LIBRARY NAMES qwt-qt3 qwt qwt5-qt3 qwt5 qwt )
......@@ -162,13 +170,13 @@ IF( QT4_FOUND )
ENDIF (NOT Qwt5_FIND_QUIETLY)
ENDIF( UNIX AND NOT CYGWIN )
ENDIF( NOT APPLE )
ENDIF( QWT_IS_VERSION_5 )
IF( Qwt5_Qt4_FOUND OR Qwt5_Qt3_FOUND )
SET( Qwt5_FOUND TRUE )
ENDIF( Qwt5_Qt4_FOUND OR Qwt5_Qt3_FOUND )
MARK_AS_ADVANCED( Qwt5_INCLUDE_DIR Qwt5_Qt4_LIBRARY Qwt5_Qt3_LIBRARY )
ENDIF( Qwt5_INCLUDE_DIR )
......@@ -176,4 +184,4 @@ IF( QT4_FOUND )
MESSAGE(FATAL_ERROR "Could not find Qwt 5.x")
ENDIF (NOT Qwt5_FOUND AND Qwt5_FIND_REQUIRED)
ENDIF( QT4_FOUND )
ENDIF( )
if(BUILD_TESTING)
if ( NOT QT4_FOUND)
if ( NOT QT5_FOUND AND NOT FORCE_QT4)
find_package(Qt5Core)
elseif ( NOT QT5_FOUND AND NOT QT4_FOUND)
find_package (Qt4 COMPONENTS QtCore )
endif()
add_executable (compareTool compareTool.cc )
target_link_libraries (compareTool
${QT_LIBRARIES}
)
)
set_target_properties ( compareTool PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${OPENFLIPPER_TEST_BINARIES}"
LIBRARY_OUTPUT_DIRECTORY "${OPENFLIPPER_TEST_BINARIES}"
)
if (WIN32)
add_custom_command (TARGET compareTool POST_BUILD
COMMAND ${CMAKE_COMMAND} -E
copy_if_different
copy_if_different
${OPENFLIPPER_TEST_BINARIES}/${CMAKE_CFG_INTDIR}/compareTool.exe
${OPENFLIPPER_TEST_BINARIES}/compareTool.exe)
endif()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment