cmake_minimum_required(VERSION 3.0) ## ======================== ## == Project definition == ## ======================== set(prj_MAJ_VERSION 0) set(prj_MIN_VERSION 1) set(prj_REL_VERSION 0) set(prj_VERSION "${prj_MAJ_VERSION}.${prj_MIN_VERSION}.${prj_REL_VERSION}") set(prj_SHORT_VERSION "${prj_MAJ_VERSION}") project(fpa VERSION ${prj_VERSION}) ## ========================== ## == Some useful policies == ## ========================== set(_policies CMP0015 CMP0020 CMP0042 CMP0053) foreach(_p ${_policies}) if(POLICY ${_p}) cmake_policy(SET ${_p} NEW) endif(POLICY ${_p}) endforeach(_p) ## =============================== ## == Some basic configurations == ## =============================== include(cmake/fpaBaseConfig.cmake) ## ========================== ## == Find needed packages == ## ========================== find_package(ivq CONFIG QUIET) if(NOT ivq_FOUND) find_package(ITK CONFIG REQUIRED) include(${ITK_USE_FILE}) endif(NOT ivq_FOUND) ## ========================= ## == Installation values == ## ========================= set(config_install_dir "lib/cmake/${PROJECT_NAME}") set(include_install_dir "include") set(generated_dir "${CMAKE_CURRENT_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}::") ## =========================== ## == Build different parts == ## =========================== subdirs(lib tests) ## =============================== ## == 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}" "${version_config}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/${PROJECT_NAME}BaseConfig.cmake" DESTINATION "${config_install_dir}" ) install( EXPORT "${targets_export_name}" NAMESPACE "${namespace}" DESTINATION "${config_install_dir}" ) ## eof - $RCSfile$