1 cmake_minimum_required(VERSION 3.0)
3 ## ========================
4 ## == Project definition ==
5 ## ========================
10 set(prj_VERSION "${prj_MAJ_VERSION}.${prj_MIN_VERSION}.${prj_REL_VERSION}")
11 set(prj_SHORT_VERSION "${prj_MAJ_VERSION}")
12 project(fpa VERSION ${prj_VERSION})
14 ## ==========================
15 ## == Some useful policies ==
16 ## ==========================
18 set(_policies CMP0015 CMP0020 CMP0042 CMP0053)
19 foreach(_p ${_policies})
21 cmake_policy(SET ${_p} NEW)
25 ## ===============================
26 ## == Some basic configurations ==
27 ## ===============================
29 include(cmake/fpaBaseConfig.cmake)
35 find_package(ITK CONFIG REQUIRED)
36 include(${ITK_USE_FILE})
38 ## =========================
39 ## == Installation values ==
40 ## =========================
42 set(config_install_dir "lib/cmake/${PROJECT_NAME}")
43 set(include_install_dir "include")
44 set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
45 set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
46 set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
47 set(targets_export_name "${PROJECT_NAME}Targets")
48 set(namespace "${PROJECT_NAME}::")
50 ## ===========================
51 ## == Build different parts ==
52 ## ===========================
56 ## ===============================
57 ## == Global installation rules ==
58 ## ===============================
60 include(CMakePackageConfigHelpers)
61 write_basic_package_version_file(
62 "${version_config}" COMPATIBILITY SameMajorVersion
64 configure_package_config_file(
65 "cmake/${PROJECT_NAME}Config.cmake.in"
67 INSTALL_DESTINATION "${config_install_dir}"
73 "${CMAKE_CURRENT_SOURCE_DIR}/cmake/fpaBaseConfig.cmake"
74 DESTINATION "${config_install_dir}"
77 # EXPORT "${targets_export_name}"
78 # NAMESPACE "${namespace}"
79 # DESTINATION "${config_install_dir}"