Commit 9e13abfd authored by Jan Möbius's avatar Jan Möbius

Switch PluginLib from searching to fixed source settings

parent 741b2296
include (ACGCommon)
set ( ADDITIONAL_PLUGINLIB_LIBS "")
set ( ADDITIONAL_PLUGINLIB_INCS "")
set ( ADDITIONAL_PLUGINLIB_COMPILER_FLAGS "")
set ( ADDITIONAL_PLUGINLIB_LINK_DIRS "")
# search all ObjectTypes in the ObjectType directory for additional build information
file (
GLOB _plugin_buildinfos
RELATIVE "${CMAKE_SOURCE_DIR}"
"${CMAKE_SOURCE_DIR}/ObjectTypes/*/CMakeLists.txt"
"${CMAKE_SOURCE_DIR}/Package*/ObjectTypes/*/CMakeLists.txt"
)
# include all cmake files found for objecttypes here
foreach ( _buildInfo ${_plugin_buildinfos})
include ("${CMAKE_SOURCE_DIR}/${_buildInfo}")
endforeach ()
# Find all packages and include their Paths here like the toplevel would be
file(GLOB OF_PACKAGES RELATIVE "${CMAKE_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/Package*" )
foreach ( OF_PACKAGE ${OF_PACKAGES})
list(APPEND PACKAGE_INCLUDES "${CMAKE_SOURCE_DIR}/${OF_PACKAGES}")
endforeach ()
# search all lib directories in packages for OpenFlipper
file (
GLOB PACKAGE_DIRS
"${CMAKE_SOURCE_DIR}/Package-*"
)
include_directories (
..
${PACKAGE_DIRS}
${ACG_INCLUDE_DIR}
${OPENMESH_INCLUDE_DIRS}
${CMAKE_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${OPENGL_INCLUDE_DIR}
${GLEW_INCLUDE_DIR}
${GLUT_INCLUDE_DIR}
${ADDITIONAL_PLUGINLIB_INCS}
${PACKAGE_INCLUDES}
)
link_directories (
${GLEW_LIBRARY_DIR}
${ADDITIONAL_PLUGINLIB_LINK_DIRS}
)
#=======================================================
# General defines
#=======================================================
# generate dllexport macros on windows
if (WIN32)
add_definitions (
-DPLUGINLIBDLL
-DACGDLL
-DUSEACG
-DFREEGLUT_LIB_PRAGMAS=0
)
endif ()
# define core version
add_definitions (
-DCORE_VERSION="${OPENFLIPPER_VERSION}"
)
# Mark this build part as building OpenFLippers Core
add_definitions(-DOPENFLIPPERPLUGINLIB )
#=======================================================
# Add possibility to debug OpenFlipperSettings
#=======================================================
if ( NOT DEFINED OPENFLIPPER_SETTINGS_DEBUG )
set( OPENFLIPPER_SETTINGS_DEBUG false CACHE BOOL "Enable or disable debugging of OpenFlipperSettings" )
mark_as_advanced(OPENFLIPPER_SETTINGS_DEBUG)
endif()
if ( OPENFLIPPER_SETTINGS_DEBUG )
add_definitions(-DOPENFLIPPER_SETTINGS_DEBUG )
endif()
#=======================================================
# Collect files to compile
#=======================================================
# source code directories
set (directories
../BasePlugin
../ACGHelper
../common
../threads
../common/bsp
../INIFile
../widgets/glWidget
../publicWidgets/objectSelectionWidget
../widgets/filePicker
../Utils/FileIO
../Utils/Memory
)
# collect all header,source and ui files
acg_append_files (headers "*.hh" ${directories})
acg_append_files (sources "*.cc" ${directories})
#=======================================================
# Cleanup
#=======================================================
# remove template cc files from source file list
acg_drop_templates (sources)
#=======================================================
# Create library
#=======================================================
RECURSE_GROUPS( ${CMAKE_CURRENT_SOURCE_DIR}/../../ )
if (QT5_FOUND)
acg_add_library (OpenFlipperPluginLib SHARED ${sources} ${headers} )
endif ()
if( ADDITIONAL_PLUGINLIB_COMPILER_FLAGS )
set_target_properties (
OpenFlipperPluginLib PROPERTIES
COMPILE_FLAGS ${ADDITIONAL_PLUGINLIB_COMPILER_FLAGS}
)
endif()
target_link_libraries (OpenFlipperPluginLib
${OPENMESH_LIBRARIES}
ACG
${QT_LIBRARIES}
${OPENGL_LIBRARIES}
${GLEW_LIBRARY}
${GLUT_LIBRARIES}
${FTGL_LIBS}
${ADDITIONAL_PLUGINLIB_LIBS}
)
#=======================================================
# Setup translation files for OpenFlipperPluginLib
#=======================================================
set (trans_files ${sources})
list (APPEND trans_files ${ui})
list (APPEND trans_files ${headers})
acg_add_translations (OpenFlipperPluginLib "de_DE" "${trans_files}")
include (ACGCommon)
set ( ADDITIONAL_PLUGINLIB_LIBS "")
set ( ADDITIONAL_PLUGINLIB_INCS "")
set ( ADDITIONAL_PLUGINLIB_COMPILER_FLAGS "")
set ( ADDITIONAL_PLUGINLIB_LINK_DIRS "")
# search all ObjectTypes in the ObjectType directory for additional build information
file (
GLOB _plugin_buildinfos
RELATIVE "${CMAKE_SOURCE_DIR}"
"${CMAKE_SOURCE_DIR}/ObjectTypes/*/CMakeLists.txt"
"${CMAKE_SOURCE_DIR}/Package*/ObjectTypes/*/CMakeLists.txt"
)
# include all cmake files found for objecttypes here
foreach ( _buildInfo ${_plugin_buildinfos})
include ("${CMAKE_SOURCE_DIR}/${_buildInfo}")
endforeach ()
# Find all packages and include their Paths here like the toplevel would be
file(GLOB OF_PACKAGES RELATIVE "${CMAKE_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/Package*" )
foreach ( OF_PACKAGE ${OF_PACKAGES})
list(APPEND PACKAGE_INCLUDES "${CMAKE_SOURCE_DIR}/${OF_PACKAGES}")
endforeach ()
# search all lib directories in packages for OpenFlipper
file (
GLOB PACKAGE_DIRS
"${CMAKE_SOURCE_DIR}/Package-*"
)
include_directories (
..
${PACKAGE_DIRS}
${ACG_INCLUDE_DIR}
${OPENMESH_INCLUDE_DIRS}
${CMAKE_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${OPENGL_INCLUDE_DIR}
${GLEW_INCLUDE_DIR}
${GLUT_INCLUDE_DIR}
${ADDITIONAL_PLUGINLIB_INCS}
${PACKAGE_INCLUDES}
)
link_directories (
${GLEW_LIBRARY_DIR}
${ADDITIONAL_PLUGINLIB_LINK_DIRS}
)
#=======================================================
# General defines
#=======================================================
# generate dllexport macros on windows
if (WIN32)
add_definitions (
-DPLUGINLIBDLL
-DACGDLL
-DUSEACG
-DFREEGLUT_LIB_PRAGMAS=0
)
endif ()
# define core version
add_definitions (
-DCORE_VERSION="${OPENFLIPPER_VERSION}"
)
# Mark this build part as building OpenFLippers Core
add_definitions(-DOPENFLIPPERPLUGINLIB )
#=======================================================
# Add possibility to debug OpenFlipperSettings
#=======================================================
if ( NOT DEFINED OPENFLIPPER_SETTINGS_DEBUG )
set( OPENFLIPPER_SETTINGS_DEBUG false CACHE BOOL "Enable or disable debugging of OpenFlipperSettings" )
mark_as_advanced(OPENFLIPPER_SETTINGS_DEBUG)
endif()
if ( OPENFLIPPER_SETTINGS_DEBUG )
add_definitions(-DOPENFLIPPER_SETTINGS_DEBUG )
endif()
#=======================================================
# Collect files to compile
#=======================================================
set( headers
../INIFile/INIFile.hh
../BasePlugin/InformationInterface.hh
../BasePlugin/BackupInterface.hh
../BasePlugin/RenderInterface.hh
../BasePlugin/OptionsInterface.hh
../BasePlugin/MouseInterface.hh
../BasePlugin/RPCInterface.hh
../BasePlugin/MenuInterface.hh
../BasePlugin/RPCWrappers.hh
../BasePlugin/ProcessInterface.hh
../BasePlugin/TextureInterface.hh
../BasePlugin/KeyInterface.hh
../BasePlugin/FileInterface.hh
../BasePlugin/PostProcessorInterface.hh
../BasePlugin/LoadSaveInterface.hh
../BasePlugin/PluginFunctions.hh
../BasePlugin/INIInterface.hh
../BasePlugin/StatusbarInterface.hh
../BasePlugin/PluginFunctionsCore.hh
../BasePlugin/PluginFunctionsViewControls.hh
../BasePlugin/PickingInterface.hh
../BasePlugin/AboutInfoInterface.hh
../BasePlugin/SelectionInterface.hh
../BasePlugin/ViewInterface.hh
../BasePlugin/ScriptInterface.hh
../BasePlugin/ToolbarInterface.hh
../BasePlugin/ViewModeInterface.hh
../BasePlugin/ContextMenuInterface.hh
../BasePlugin/WhatsThisGenerator.hh
../BasePlugin/RPCWrappersHelper.hh
../BasePlugin/PluginConnectionInterface.hh
../BasePlugin/SecurityInterface.hh
../BasePlugin/LoggingInterface.hh
../BasePlugin/ToolboxInterface.hh
../BasePlugin/MetadataInterface.hh
../BasePlugin/TypeInterface.hh
../BasePlugin/PluginFunctionsSceneGraphWidget.hh
../BasePlugin/BaseInterface.hh
../LicenseManager/LicenseManagerDisabled.hh
../LicenseManager/LicenseManager.hh
../LicenseManager/LicenseManagerActive.hh
../ACGHelper/DrawModeConverter.hh
../publicWidgets/objectSelectionWidget/SelectionObjectMarker.hh
../publicWidgets/objectSelectionWidget/TreeItemObjectSelection.hh
../publicWidgets/objectSelectionWidget/TreeModelObjectSelection.hh
../publicWidgets/objectSelectionWidget/objectPickDialog.hh
../publicWidgets/objectSelectionWidget/objectSelectionWidget.hh
../threads/JobInfo.hh
../threads/OpenFlipperThread.hh
../widgets/glWidget/PostProcessing.hh
../widgets/glWidget/QtBaseViewer.hh
../widgets/glWidget/simpleViewer.hh
../widgets/glWidget/CursorPainter.hh
../widgets/glWidget/QtGLGraphicsView.hh
../widgets/glWidget/QtMultiViewLayout.hh
../widgets/glWidget/QtGLViewerLayout.hh
../widgets/glWidget/QtSlideWindow.hh
../widgets/glWidget/simpleGLGraphicsScene.hh
../widgets/glWidget/QtGLGraphicsScene.hh
../widgets/glWidget/QtGraphicsButton.hh
../widgets/filePicker/FilePicker.hh
../common/BaseBackup.hh
../common/RendererInfo.hh
../common/BaseObject.hh
../common/GlobalDefines.hh
../common/ViewerProperties.hh
../common/BaseObjectData.hh
../common/BaseObjectCore.hh
../common/InformationPlugins.hh
../common/RecentFiles.hh
../common/BackupData.hh
../common/GroupObject.hh
../common/ObjectTypeDLLDefines.hh
../common/FileTypes.hh
../common/GlobalOptions.hh
../common/PluginStorage.hh
../common/TypesInternal.hh
../common/DataTypes.hh
../common/glew_wrappers.hh
../common/ObjectIDPointerManagerT.hh
../common/OpenFlipperQSettings.hh
../common/Types.hh
../common/ViewObjectMarker.hh
../common/OFGLWidget.hh
../common/perObjectData.hh
../common/UpdateType.hh
../Utils/Memory/RAMInfo.hh
../Utils/FileIO/NumberParsing.hh
)
set ( sources
../BasePlugin/PluginFunctions.cc
../BasePlugin/PluginFunctionsBaseIterator.cc
../BasePlugin/PluginFunctionsIterator.cc
../BasePlugin/PostProcessorInterface.cc
../BasePlugin/RPCWrappers.cc
../BasePlugin/RPCWrappersHelper.cc
../BasePlugin/WhatsThisGenerator.cc
../ACGHelper/DrawModeConverter.cc
../common/BackupData.cc
../common/BaseBackup.cc
../common/BaseObject.cc
../common/BaseObjectCore.cc
../common/BaseObjectData.cc
../common/FileTypes.cc
../common/GlobalOptions.cc
../common/GroupObject.cc
../common/InformationPlugins.cc
../common/OpenFlipperQSettings.cc
../common/PluginStorage.cc
../common/RecentFiles.cc
../common/RendererInfo.cc
../common/Types.cc
../common/UpdateType.cc
../common/ViewerProperties.cc
../common/glew_wrappers.cc
../common/perObjectData.cc
../threads/JobInfo.cc
../threads/OpenFlipperThread.cc
../INIFile/INIFile.cc
../widgets/glWidget/CursorPainter.cc
../widgets/glWidget/PostProcessing.cc
../widgets/glWidget/QtBaseViewer.cc
../widgets/glWidget/QtBaseViewerFlyAnimation.cc
../widgets/glWidget/QtBaseViewerPicking.cc
../widgets/glWidget/QtBaseViewer_qt.cc
../widgets/glWidget/QtGLGraphicsScene.cc
../widgets/glWidget/QtGLGraphicsView.cc
../widgets/glWidget/QtGLViewerLayout.cc
../widgets/glWidget/QtGraphicsButton.cc
../widgets/glWidget/QtMultiViewLayout.cc
../widgets/glWidget/QtSlideWindow.cc
../widgets/glWidget/simpleGLGraphicsScene.cc
../widgets/glWidget/simpleViewer.cc
../publicWidgets/objectSelectionWidget/SelectionObjectMarker.cc
../publicWidgets/objectSelectionWidget/TreeItemObjectSelection.cc
../publicWidgets/objectSelectionWidget/TreeModelObjectSelection.cc
../publicWidgets/objectSelectionWidget/objectPickDialog.cc
../publicWidgets/objectSelectionWidget/objectSelectionWidget.cc
../widgets/filePicker/FilePicker.cc
../Utils/FileIO/NumberParsing.cc
../Utils/Memory/RAMInfo.cc
)
# Group the sources in VS to get a tree structure like in the file system instead of all files in one folder
source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${sources} ${headers} )
#=======================================================
# Create library
#=======================================================
if (QT5_FOUND)
acg_add_library (OpenFlipperPluginLib SHARED ${sources} ${headers} )
endif ()
if( ADDITIONAL_PLUGINLIB_COMPILER_FLAGS )
set_target_properties (
OpenFlipperPluginLib PROPERTIES
COMPILE_FLAGS ${ADDITIONAL_PLUGINLIB_COMPILER_FLAGS}
)
endif()
target_link_libraries (OpenFlipperPluginLib
${OPENMESH_LIBRARIES}
ACG
${QT_LIBRARIES}
${OPENGL_LIBRARIES}
${GLEW_LIBRARY}
${GLUT_LIBRARIES}
${FTGL_LIBS}
${ADDITIONAL_PLUGINLIB_LIBS}
)
#=======================================================
# Setup translation files for OpenFlipperPluginLib
#=======================================================
set (trans_files ${sources})
list (APPEND trans_files ${ui})
list (APPEND trans_files ${headers})
acg_add_translations (OpenFlipperPluginLib "de_DE" "${trans_files}")
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