From d877dfa465274d9f24eeaa5b23bd2294f716bee9 Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Fri, 10 Oct 2014 08:06:24 +0200 Subject: [PATCH] Introduced CMake macro Add_Catalyst_Dependecy to set up a target. If you use VTK / ParaView classes in your target set everything up with this macro. Usage: INCLUDE(AddCatalystDependency) ADD_CATALYST_DEPENDENCY(Target) --- Applications/DataExplorer/DataExplorer.cmake | 2 ++ Applications/DataExplorer/DataView/CMakeLists.txt | 5 ++--- Applications/DataExplorer/VtkAct/CMakeLists.txt | 5 ++--- Applications/DataExplorer/VtkVis/CMakeLists.txt | 5 ++--- FileIO/CMakeLists.txt | 5 ++--- InSituLib/CMakeLists.txt | 5 ++--- MeshLib/CMakeLists.txt | 5 ++--- Tests/CMakeLists.txt | 2 ++ scripts/cmake/AddCatalystDependency.cmake | 12 ++++++++++++ scripts/cmake/ExternalProjectCatalyst.cmake | 4 ---- 10 files changed, 28 insertions(+), 22 deletions(-) create mode 100644 scripts/cmake/AddCatalystDependency.cmake diff --git a/Applications/DataExplorer/DataExplorer.cmake b/Applications/DataExplorer/DataExplorer.cmake index 8a17e46f3e4..815b4acc2b0 100644 --- a/Applications/DataExplorer/DataExplorer.cmake +++ b/Applications/DataExplorer/DataExplorer.cmake @@ -122,6 +122,8 @@ IF(VTKFBXCONVERTER_FOUND) TARGET_LINK_LIBRARIES(DataExplorer ${VTKFBXCONVERTER_LIBRARIES}) ENDIF() +INCLUDE(AddCatalystDependency) +ADD_CATALYST_DEPENDENCY(DataExplorer) SET_PROPERTY(TARGET DataExplorer PROPERTY FOLDER "DataExplorer") diff --git a/Applications/DataExplorer/DataView/CMakeLists.txt b/Applications/DataExplorer/DataView/CMakeLists.txt index 748d2425b7e..76880d4e23b 100644 --- a/Applications/DataExplorer/DataView/CMakeLists.txt +++ b/Applications/DataExplorer/DataView/CMakeLists.txt @@ -184,9 +184,8 @@ target_link_libraries( QtDataView shp ) -IF(TARGET VtkRescan) - ADD_DEPENDENCIES(QtDataView VtkRescan) -ENDIF() +INCLUDE(AddCatalystDependency) +ADD_CATALYST_DEPENDENCY(QtDataView) IF (GEOTIFF_FOUND) TARGET_LINK_LIBRARIES( QtDataView ${GEOTIFF_LIBRARIES} ) diff --git a/Applications/DataExplorer/VtkAct/CMakeLists.txt b/Applications/DataExplorer/VtkAct/CMakeLists.txt index db6a28d37d2..5003be038ee 100644 --- a/Applications/DataExplorer/VtkAct/CMakeLists.txt +++ b/Applications/DataExplorer/VtkAct/CMakeLists.txt @@ -50,9 +50,8 @@ add_library( VtkAct STATIC ${UIS} ) -IF(TARGET VtkRescan) - ADD_DEPENDENCIES(VtkAct VtkRescan) -ENDIF() +INCLUDE(AddCatalystDependency) +ADD_CATALYST_DEPENDENCY(VtkAct) target_link_libraries( VtkAct ${QT_LIBRARIES} ) diff --git a/Applications/DataExplorer/VtkVis/CMakeLists.txt b/Applications/DataExplorer/VtkVis/CMakeLists.txt index 8553c052f48..8290ee58c9a 100644 --- a/Applications/DataExplorer/VtkVis/CMakeLists.txt +++ b/Applications/DataExplorer/VtkVis/CMakeLists.txt @@ -148,9 +148,8 @@ ADD_LIBRARY( VtkVis STATIC ${UIS} ) -IF(TARGET VtkRescan) - ADD_DEPENDENCIES(VtkVis VtkRescan) -ENDIF() +INCLUDE(AddCatalystDependency) +ADD_CATALYST_DEPENDENCY(VtkVis) IF (GEOTIFF_FOUND) INCLUDE_DIRECTORIES( ${GEOTIFF_INCLUDE_DIRS} ) diff --git a/FileIO/CMakeLists.txt b/FileIO/CMakeLists.txt index 662ff066008..0b313f5de2a 100644 --- a/FileIO/CMakeLists.txt +++ b/FileIO/CMakeLists.txt @@ -56,9 +56,8 @@ TARGET_LINK_LIBRARIES (FileIO shp ) -IF(TARGET VtkRescan) - ADD_DEPENDENCIES(FileIO VtkRescan) -ENDIF() +INCLUDE(AddCatalystDependency) +ADD_CATALYST_DEPENDENCY(FileIO) FILE(GLOB XSD_FILES . *.xsd) IF(APPLE) diff --git a/InSituLib/CMakeLists.txt b/InSituLib/CMakeLists.txt index f7603344bba..e1a6a7231e6 100644 --- a/InSituLib/CMakeLists.txt +++ b/InSituLib/CMakeLists.txt @@ -12,6 +12,5 @@ ADD_LIBRARY(InSituLib VtkMappedMeshSource.cpp ) -IF(TARGET VtkRescan) - ADD_DEPENDENCIES(InSituLib VtkRescan) -ENDIF() +INCLUDE(AddCatalystDependency) +ADD_CATALYST_DEPENDENCY(InSituLib) diff --git a/MeshLib/CMakeLists.txt b/MeshLib/CMakeLists.txt index ea4430e4f58..3ea1ccadec3 100644 --- a/MeshLib/CMakeLists.txt +++ b/MeshLib/CMakeLists.txt @@ -16,6 +16,5 @@ target_link_libraries (MeshLib logog ) -IF(TARGET VtkRescan) - ADD_DEPENDENCIES(MeshLib VtkRescan) -ENDIF() +INCLUDE(AddCatalystDependency) +ADD_CATALYST_DEPENDENCY(MeshLib) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 72be7851cb5..ca996e29a7e 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -72,6 +72,8 @@ IF (QT4_FOUND) TARGET_LINK_LIBRARIES(testrunner ${QT_LIBRARIES}) ENDIF() +INCLUDE(AddCatalystDependency) +ADD_CATALYST_DEPENDENCY(testrunner) # Add make-target test which runs the testrunner # This should override CTest's predefined test-target but it does not diff --git a/scripts/cmake/AddCatalystDependency.cmake b/scripts/cmake/AddCatalystDependency.cmake new file mode 100644 index 00000000000..bf18e31d9d8 --- /dev/null +++ b/scripts/cmake/AddCatalystDependency.cmake @@ -0,0 +1,12 @@ +MACRO(ADD_CATALYST_DEPENDENCY target) + IF(ParaView_FOUND) + INCLUDE("${PARAVIEW_USE_FILE}") + + # see http://stackoverflow.com/questions/18642155 + SET_PROPERTY(TARGET ${target} APPEND PROPERTY COMPILE_DEFINITIONS ${VTK_DEFINITIONS}) + ENDIF() + + IF(TARGET VtkRescan) + ADD_DEPENDENCIES(${target} VtkRescan) + ENDIF() +ENDMACRO() diff --git a/scripts/cmake/ExternalProjectCatalyst.cmake b/scripts/cmake/ExternalProjectCatalyst.cmake index 4d1898aaad2..5acd4a896e0 100644 --- a/scripts/cmake/ExternalProjectCatalyst.cmake +++ b/scripts/cmake/ExternalProjectCatalyst.cmake @@ -42,10 +42,6 @@ FIND_PACKAGE(ParaView 4.2 COMPONENTS ${PARAVIEW_MODULES} NO_MODULE) FIND_LIBRARY(VTKIO_LIB_FOUND vtkIOXML-pv4.2 HINTS ${ParaView_DIR}/lib PATH_SUFFIXES Release Debug) IF(ParaView_FOUND AND VTKIO_LIB_FOUND) - INCLUDE("${PARAVIEW_USE_FILE}") - - # see http://stackoverflow.com/questions/18642155 - SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS ${VTK_DEFINITIONS}) RETURN() ELSEIF(NOT ParaView_DIR) SET(ParaView_DIR ${CMAKE_BINARY_DIR}/External/catalyst/src/Catalyst-build CACHE PATH "" FORCE) -- GitLab