CMake/CPack/BundleUtilities/Examples/Linux/VTK: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(Created page with "==VTKIncludeTest.cpp== <source lang="cmake"> #include <vtkMath.h> int main(int, char *[]) { double p0[3] = {0.0, 0.0, 0.0}; double p1[3] = {1.0, 1.0, 1.0}; double squar...")
 
No edit summary
Line 1: Line 1:
==VTKIncludeTest.cpp==
==VTKIncludeTest.cpp==
<source lang="cmake">
<source lang="cpp">
#include <vtkMath.h>
#include <vtkMath.h>
   
   
Line 38: Line 38:
     )
     )


# Use BundleUtilities to get all other dependencies for the application to work.
INSTALL(CODE "\"\${VTK_DIR}/bin/libvtkHybrid.a")
# It takes a bundle or executable along with possible plugins and inspects it
# for dependencies.  If they are not system dependencies, they are copied.
 
# directories to look for dependencies
SET(DIRS ${VTK_LIBRARY_DIRS})
#./bin/libvtkHybrid.a
 
# Now the work of copying dependencies into the bundle/package
# The quotes are escaped and variables to use at install time have their $ escaped
INSTALL(CODE "
    file(GLOB_RECURSE QTPLUGINS
      \"\${CMAKE_INSTALL_PREFIX}/${plugin_dest_dir}/plugins/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
    include(BundleUtilities)
    fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${DIRS}\")
    " COMPONENT Runtime)
 


SET(CPACK_GENERATOR "DEB")
SET(CPACK_GENERATOR "DEB")

Revision as of 03:12, 17 November 2010

VTKIncludeTest.cpp

<source lang="cpp">

  1. include <vtkMath.h>

int main(int, char *[]) {

 double p0[3] = {0.0, 0.0, 0.0};
 double p1[3] = {1.0, 1.0, 1.0};

 double squaredDistance = vtkMath::Distance2BetweenPoints(p0, p1);

 std::cout << "SquaredDistance = " << squaredDistance << std::endl;

 return EXIT_SUCCESS;

} </source>

CMakeLists.txt

<source lang="cmake"> PROJECT (VTKIncludeTest) cmake_minimum_required(VERSION 2.8)

FIND_PACKAGE(VTK REQUIRED) INCLUDE(${VTK_USE_FILE})

ADD_EXECUTABLE(VTKIncludeTest VTKIncludeTest.cpp) TARGET_LINK_LIBRARIES(VTKIncludeTest vtkHybrid)

  1. The installation commands start here

SET(plugin_dest_dir bin) SET(qtconf_dest_dir bin) SET(APPS "\${CMAKE_INSTALL_PREFIX}/bin/VTKIncludeTest")

  1. Install the application

INSTALL(TARGETS VTKIncludeTest

   BUNDLE DESTINATION . COMPONENT Runtime
   RUNTIME DESTINATION bin COMPONENT Runtime
   )

INSTALL(CODE "\"\${VTK_DIR}/bin/libvtkHybrid.a")

SET(CPACK_GENERATOR "DEB") SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "David Doria") #required

include(CPack) </source>