# VTK install directory control reduced in new build system

**URL:** https://discourse.vtk.org/t/vtk-install-directory-control-reduced-in-new-build-system/811
**Category:** Development
**Created:** [April 22, 2019, 2:58pm UTC](https://discourse.vtk.org/t/vtk-install-directory-control-reduced-in-new-build-system/811 "2019-04-22T14:58:07Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![cryos](https://discourse.vtk.org/user_avatar/discourse.vtk.org/cryos/32/35_2.png) [@cryos](https://discourse.vtk.org/u/cryos)
#### Post date: [April 22, 2019, 2:58pm UTC](https://discourse.vtk.org/t/vtk-install-directory-control-reduced-in-new-build-system/811/1 "2019-04-22T14:58:08Z")

</div>

We have been using `VTK_INSTALL_LIBRARY_DIR`, `VTK_INSTALL_ARCHIVE_DIR` etc to control where VTK (and ParaView) install their files. We did this to simplify packaging by removing version information from install directories, and make our package simpler (it obviously won’t contain more than one VTK/ParaView). All of these variables seem to have been removed in the new build system, any replacements @ben.boeckel that can be used in VTK/ParaView master?

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [April 22, 2019, 3:25pm UTC](https://discourse.vtk.org/t/vtk-install-directory-control-reduced-in-new-build-system/811/2 "2019-04-22T15:25:50Z")

</div>

The `GNUInstallDirs` module is now used, so `CMAKE_INSTALL_LIBDIR`, `CMAKE_INSTALL_BINDIR` and friends are the variables that control the install tree layout now.

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [April 22, 2019, 3:28pm UTC](https://discourse.vtk.org/t/vtk-install-directory-control-reduced-in-new-build-system/811/3 "2019-04-22T15:28:02Z")

</div>

Oh, reading the end goal, there are no more versioned subdirectories other than the CMake install dir and possibly the include directory. These shouldn’t matter though if you’re using CMake targets though since the include dirs come in via usage requirements anyways. As for library names, `VTK_CUSTOM_LIBRARY_SUFFIX` works in VTK. Seems ParaView is hard-coded yet, but that can be made to offer `PARAVIEW_CUSTOM_LIBRARY_SUFFIX` as well.

---

<div class="post-metadata">

### Author: ![cryos](https://discourse.vtk.org/user_avatar/discourse.vtk.org/cryos/32/35_2.png) [@cryos](https://discourse.vtk.org/u/cryos)
#### Post date: [April 22, 2019, 4:23pm UTC](https://discourse.vtk.org/t/vtk-install-directory-control-reduced-in-new-build-system/811/4 "2019-04-22T16:23:52Z")

</div>

It looks like the include directory and the plugins remain versioned for ParaView at least. It sounds like you are open to adding a control to remove versions from there, I opened up [https://gitlab.kitware.com/paraview/paraview/issues/18955](https://gitlab.kitware.com/paraview/paraview/issues/18955) to request this. I think having a method of turning off versioning and using GNU install dirs sounds great.
