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()
......
......@@ -33,7 +33,7 @@
# LICENSEMANAGER = Compile plugin with license management
#
# Plugins can implement a acg_list_filter ("listname") macro to filter out
# unneeded headers, sources and ui files from the autogenerated
# unneeded headers, sources and ui files from the autogenerated
# build sources lists (see common.cmake drop_templates macro)
#
# Translations
......@@ -41,7 +41,7 @@
# The *.ts files there will be used for the translations
#
# Special DEPS:
# CUDA:
# CUDA:
# If your plugin requires cuda, add "CUDA" to the list of dependencies
# and create a subdir called Cuda in your plugin directory
# The files in this directory will be compiled by nvcc and linked
......@@ -104,23 +104,23 @@ macro (_check_plugin_deps _prefix _optional )
# This will contain the final list of all dependencies
list (APPEND FULL_DEPENDENCY_LIST "")
#======================================================================================
#======================================================================================
# Collect dependencies of dependencies
# Recursive dependencies will be added here.
# Recursive dependencies will be added here.
# The base package name will be used and the variables
# PACKAGE_DEPS : Mandatory recursive dependencies
# PACKAGE_OPT_DEPS : Optional recursive dependencies
#======================================================================================
foreach (_val ${ARGN})
string (TOUPPER ${_val} _VAL)
# First we try to find the dependencies directly
find_package(${_val})
# This will contain the list of all dependencies of the current base dependency ( including recursive dependencies for one level )
set (CURRENT_DEPENDENCY_LIST "")
# Flag if all dependencies were found (Only mandatory ones)
# Flag if all dependencies were found (Only mandatory ones)
set (ALL_REQUIRED_DEPENDENCIES_FOUND TRUE)
# Recursive dependencies which are not optional will also be added by default (Not optional, so error if not available!)
......@@ -131,7 +131,7 @@ macro (_check_plugin_deps _prefix _optional )
string (TOUPPER ${_rec_dep} _REC_DEP)
find_package(${_rec_dep})
if ( ${_REC_DEP}_FOUND )
list (APPEND CURRENT_DEPENDENCY_LIST ${_rec_dep} )
add_definitions( -DENABLE_${_REC_DEP} )
......@@ -140,7 +140,7 @@ macro (_check_plugin_deps _prefix _optional )
acg_set (_${_prefix}_MISSING_DEPS "${_${_prefix}_MISSING_DEPS} ${_VAL}_MISSING_MANDATORY_RECURSIVE_DEP_${_REC_DEP}")
endif()
endforeach()
endif()
......@@ -154,7 +154,7 @@ macro (_check_plugin_deps _prefix _optional )
find_package(${_rec_dep})
# Optional so add if we found the dependency or we skip it.
# Defines will be added due to the optional status
# Defines will be added due to the optional status
if ( ${_REC_DEP}_FOUND )
list (APPEND CURRENT_DEPENDENCY_LIST ${_rec_dep} )
add_definitions( -DENABLE_${_REC_DEP} )
......@@ -224,7 +224,7 @@ macro (_check_plugin_deps _prefix _optional )
# Remove it again, if it was a duplicate
list(REMOVE_DUPLICATES global_dependency_list)
# Store the list in the global property
set_property( GLOBAL PROPERTY GLOBAL_PLUGIN_DEPENDENCIES_LIST ${global_dependency_list} )
......@@ -258,7 +258,7 @@ macro (_check_plugin_deps _prefix _optional )
if (DEFINED ${_name}_LINKER_FLAGS)
# list (APPEND ${_prefix}_DEPS_LINKER_FLAGS "${${_name}_LINKER_FLAGS}")
# this variable is used as a string later on (not as a list!!!)
set( ${_prefix}_DEPS_LINKER_FLAGS "${${_prefix}_DEPS_LINKER_FLAGS} ${${_name}_LINKER_FLAGS}")
set( ${_prefix}_DEPS_LINKER_FLAGS "${${_prefix}_DEPS_LINKER_FLAGS} ${${_name}_LINKER_FLAGS}")
endif ()
if (DEFINED ${_name}_COMPILER_FLAGS)
# list (APPEND ${_prefix}_DEPS_COMPILER_FLAGS "${${_name}_COMPILER_FLAGS}")
......@@ -292,10 +292,15 @@ macro (_plugin_licensemanagement)
acg_append_files (keygen_hdr "*.hh" "${CMAKE_SOURCE_DIR}/OpenFlipper/LicenseManager/keyGen")
acg_append_files (keygen_src "*.cc" "${CMAKE_SOURCE_DIR}/OpenFlipper/LicenseManager/keyGen")
acg_append_files (keygen_ui "*.ui" "${CMAKE_SOURCE_DIR}/OpenFlipper/LicenseManager/keyGen")
# genereate uic and moc targets
acg_qt4_autouic (keygen_uic ${keygen_ui})
acg_qt4_automoc (keygen_moc ${keygen_hdr})
if (QT5_FOUND)
acg_qt5_autouic (keygen_uic ${keygen_ui})
acg_qt5_automoc (keygen_moc ${keygen_hdr})
else ()
acg_qt4_autouic (keygen_uic ${keygen_ui})
acg_qt4_automoc (keygen_moc ${keygen_hdr})
endif()
add_executable (Plugin-${plugin}-keygen ${keygen_uic} ${keygen_moc} ${keygen_hdr} ${keygen_src})
......@@ -340,7 +345,7 @@ function (_build_openflipper_plugin plugin)
#============================================================================================
# parse parameters
#============================================================================================
_get_plugin_parameters (${_PLUGIN} ${ARGN})
#============================================================================================
......@@ -400,7 +405,7 @@ function (_build_openflipper_plugin plugin)
"${CMAKE_SOURCE_DIR}/ObjectTypes/*/CMakeLists.txt"
)
# include all cmake files found for objecttypes here
foreach ( _buildInfo ${_plugin_buildinfos})
include ("${CMAKE_SOURCE_DIR}/${_buildInfo}")
......@@ -409,36 +414,36 @@ function (_build_openflipper_plugin plugin)
link_directories (
${${_PLUGIN}_DEPS_LIBDIRS}
${${_PLUGIN}_LIBDIRS}
${ADDITIONAL_PLUGINLIB_LINK_DIRS}
${ADDITIONAL_PLUGINLIB_LINK_DIRS}
)
else (APPLE)
link_directories (
${${_PLUGIN}_DEPS_LIBDIRS}
${${_PLUGIN}_LIBDIRS}
)
endif(APPLE)
set (directories
.
set (directories
.
${${_PLUGIN}_DIRS}
)
#============================================================================================
# User Documentation build
#============================================================================================
# Only build the documentation if a userdoc subdirectory exists for the plugin
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/userDoc)
set(plugin_html_doc_dir "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Doc/UserHTML/Plugin-${plugin}")
set(plugin_qt_help_dir "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Help")
find_package(Doxygen)
if ( DOXYGEN_FOUND )
# Create user documentation target with our template doxy file
# Create user documentation target with our template doxy file
acg_create_doc_target( doc-User-${plugin} "${CMAKE_SOURCE_DIR}/OpenFlipper/Documentation/PluginDoxyTemplate" )
# make doc builds this plugin's documentation as well
......@@ -452,7 +457,7 @@ function (_build_openflipper_plugin plugin)
# Create directories in order to avoid doxygen warnings
if(NOT (IS_DIRECTORY ${plugin_qt_help_dir}) )
file(MAKE_DIRECTORY ${plugin_qt_help_dir} )
endif()
endif()
endif()
......@@ -484,19 +489,25 @@ function (_build_openflipper_plugin plugin)
set(${_PLUGIN}_LICENSE_DEFS "")
if (${_PLUGIN}_LICENSEMANAGER )
_plugin_licensemanagement ()
if ( OPENFLIPPER_ENABLE_LICENSE_MANAGER )
set(${_PLUGIN}_LICENSE_DEFS "-DWITH_LICENSE_MANAGER")
endif()
endif ()