Когда я использую:
Код: Выделить всё
#include
Но он определенно присутствует в моей системе в /usr/lib/gcc/x86_64-pc-linux -gnu/14.2.1/include.
Я пытался написать свой собственный FindQuadmath.cmake со следующим содержимым:
Код: Выделить всё
include(FindPackageHandleStandardArgs)
include_directories("/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include")
find_path(Quadmath_INCLUDE_DIR NAMES quadmath.h
PATHS "/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include")
find_library(Quadmath_LIBRARY NAMES quadmath)
message("Quadmath_INCLUDE_DIR: ${Quadmath_INCLUDE_DIR}")
message("Quadmath_LIBRARY: ${Quadmath_LIBRARY}")
add_library(Quadmath SHARED IMPORTED ${Quadmath_LIBRARY})
target_include_directories(Quadmath INTERFACE ${Quadmath_INCLUDE_DIR})
set_property(TARGET Quadmath PROPERTY IMPORTED_LOCATION ${Quadmath_LIBRARY})
set_property(TARGET Quadmath PROPERTY INCLUDE_DIRECTORIES ${Quadmath_INCLUDE_DIR})
find_package_handle_standard_args(Quadmath DEFAULT_MSG Quadmath_LIBRARY Quadmath_INCLUDE_DIR)
Текущая структура проекта:
Код: Выделить всё
├── cmake
│ └── FindQuadmath.cmake
├── CMakeLists.txt
├── conanfile.txt
├── conan_profiles
│ └── phd
├── README.md
├── requirements.txt
├── solvers
│ ├── CMakeLists.txt
│ └── heat_transfer_explicit_scheme
│ ├── CMakeLists.txt
│ ├── include
│ │ └── heat_transfer_explicit_scheme.hpp
│ └── src
│ └── heat_transfer_explicit_scheme.cpp
└── tests
Код: Выделить всё
cmake_minimum_required(VERSION 3.30)
project(phd_project CXX)
include(cmake/FindQuadmath.cmake)
find_package(Boost REQUIRED)
add_subdirectory(solvers/)
Как мне это сделать? исправить это и связать Quadmath с CMake?
Подробнее здесь: https://stackoverflow.com/questions/790 ... with-cmake