]> Creatis software - cpPlugins.git/blobdiff - cmake/cpPlgInstallCommands.cmake
Moved to version 1.0
[cpPlugins.git] / cmake / cpPlgInstallCommands.cmake
diff --git a/cmake/cpPlgInstallCommands.cmake b/cmake/cpPlgInstallCommands.cmake
new file mode 100644 (file)
index 0000000..6c12393
--- /dev/null
@@ -0,0 +1,47 @@
+## =========================================================================
+## @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
+## =========================================================================
+
+## == Installation values
+set(config_install_dir "lib/cmake/${PROJECT_NAME}")
+set(include_install_dir "include")
+set(generated_dir "${PROJECT_BINARY_DIR}/generated")
+set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
+set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
+set(targets_export_name "${PROJECT_NAME}Targets")
+set(namespace "${PROJECT_NAME}::")
+
+## == Global installation rules
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file(
+  "${version_config}" COMPATIBILITY SameMajorVersion
+  )
+configure_package_config_file(
+  "cmake/${PROJECT_NAME}Config.cmake.in"
+  "${project_config}"
+  INSTALL_DESTINATION "${config_install_dir}"
+  )
+install(
+  FILES "${project_config}"
+  DESTINATION "${config_install_dir}"
+  )
+if(${PROJECT_NAME}_BUILD)
+  install(
+    EXPORT "${targets_export_name}"
+    NAMESPACE "${namespace}"
+    DESTINATION "${config_install_dir}"
+    )
+endif(${PROJECT_NAME}_BUILD)
+
+## == Uninstall target
+configure_file(
+  "${PROJECT_SOURCE_DIR}/cmake/cpPlgUninstall.cmake.in"
+  "${PROJECT_BINARY_DIR}/cmake/cpPlgUninstall.cmake"
+  IMMEDIATE @ONLY
+  )
+add_custom_target(
+  uninstall
+  COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/cmake/cpPlgUninstall.cmake
+  )
+
+## eof - $RCSfile$