]> Creatis software - cpPlugins.git/blob - cmake/cpPlgInstallCommands.cmake
Moved to version 1.0
[cpPlugins.git] / cmake / cpPlgInstallCommands.cmake
1 ## =========================================================================
2 ## @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 ## =========================================================================
4
5 ## == Installation values
6 set(config_install_dir "lib/cmake/${PROJECT_NAME}")
7 set(include_install_dir "include")
8 set(generated_dir "${PROJECT_BINARY_DIR}/generated")
9 set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
10 set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
11 set(targets_export_name "${PROJECT_NAME}Targets")
12 set(namespace "${PROJECT_NAME}::")
13
14 ## == Global installation rules
15 include(CMakePackageConfigHelpers)
16 write_basic_package_version_file(
17   "${version_config}" COMPATIBILITY SameMajorVersion
18   )
19 configure_package_config_file(
20   "cmake/${PROJECT_NAME}Config.cmake.in"
21   "${project_config}"
22   INSTALL_DESTINATION "${config_install_dir}"
23   )
24 install(
25   FILES "${project_config}"
26   DESTINATION "${config_install_dir}"
27   )
28 if(${PROJECT_NAME}_BUILD)
29   install(
30     EXPORT "${targets_export_name}"
31     NAMESPACE "${namespace}"
32     DESTINATION "${config_install_dir}"
33     )
34 endif(${PROJECT_NAME}_BUILD)
35
36 ## == Uninstall target
37 configure_file(
38   "${PROJECT_SOURCE_DIR}/cmake/cpPlgUninstall.cmake.in"
39   "${PROJECT_BINARY_DIR}/cmake/cpPlgUninstall.cmake"
40   IMMEDIATE @ONLY
41   )
42 add_custom_target(
43   uninstall
44   COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/cmake/cpPlgUninstall.cmake
45   )
46
47 ## eof - $RCSfile$