|
1 | | -cmake_minimum_required(VERSION 3.12) |
| 1 | +cmake_minimum_required(VERSION 3.12...4.0) |
2 | 2 |
|
3 | 3 | project( |
4 | 4 | s2let |
5 | | - VERSION "2.2.2" |
| 5 | + VERSION "2.2.3" |
6 | 6 | DESCRIPTION "Fast wavelets on the sphere" |
7 | 7 | HOMEPAGE_URL "http://astro-informatics.github.io/s2let/" |
8 | 8 | LANGUAGES C) |
9 | 9 |
|
10 | | -option(tests "Enable testing" ON) |
11 | 10 | option(cfitsio "Links to cfitsio" OFF) |
12 | | -option(fPIC "Compile with fPIC" ON) |
13 | 11 | option(conan_deps "Download dependencies using conan" OFF) |
14 | 12 |
|
15 | | -if(WIN32) |
16 | | - set(fpic OFF) |
| 13 | +if(conan_deps AND NOT cfitsio) |
| 14 | + message( |
| 15 | + WARNING "cfitsio is always included when managing dependencies via conan") |
17 | 16 | endif() |
| 17 | + |
18 | 18 | if(NOT CMAKE_BUILD_TYPE) |
19 | 19 | set(CMAKE_BUILD_TYPE "Debug") |
20 | 20 | endif() |
21 | 21 |
|
22 | | -list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) |
23 | | -include("sanitizers") |
| 22 | +include(CTest) |
24 | 23 | if(conan_deps OR CONAN_EDITABLE_MODE) |
25 | | - include("conan_dependencies") |
26 | | - if(NOT CONAN_EDITABLE_MODE) |
27 | | - set(SO3_TARGET CONAN_PKG::so3) |
28 | | - endif() |
29 | | - if(cfitsio) |
30 | | - set(CFITSIO_TARGET CONAN_PKG::cfitsio) |
31 | | - endif() |
| 24 | + include("${PROJECT_SOURCE_DIR}/cmake/conan_dependencies.cmake") |
32 | 25 | endif() |
33 | | -if(NOT conan_deps) |
34 | | - find_package(So3 REQUIRED) |
35 | | - set(SO3_TARGET so3) |
36 | | - if(cfitsio AND NOT CONAN_EDITABLE_MODE) |
37 | | - find_package(CFITSIO REQUIRED) |
38 | | - set(CFITSIO_TARGET cfitsio::cfitsio) |
39 | | - endif() |
| 26 | +if(EXISTS "${PROJECT_BINARY_DIR}/conan_paths.cmake") |
| 27 | + include("${PROJECT_BINARY_DIR}/conan_paths.cmake") |
| 28 | +elseif(EXISTS "${PROJECT_BINARY_DIR}/FindFFTW3.cmake") |
| 29 | + list(APPEND CMAKE_MODULE_PATH "${PROJECT_BINARY_DIR}") |
| 30 | +else() |
| 31 | + list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") |
| 32 | +endif() |
| 33 | + |
| 34 | +find_package(astro-informatics-so3 REQUIRED) |
| 35 | +find_library(MATH_LIBRARY m) |
| 36 | +if(cfitsio) |
| 37 | + find_package(cfitsio REQUIRED) |
40 | 38 | endif() |
41 | 39 |
|
42 | 40 | add_subdirectory(src/main/c) |
43 | 41 |
|
44 | | -if(tests) |
45 | | - enable_testing() |
46 | | - include("fetch_cmocka") |
| 42 | +include(CTest) |
| 43 | +if(BUILD_TESTING) |
| 44 | + include("${PROJECT_SOURCE_DIR}/cmake/fetch_cmocka.cmake") |
47 | 45 | add_subdirectory(src/test/c) |
48 | 46 | endif() |
49 | 47 |
|
50 | | -if(NOT SKBUILD) |
51 | | - include("exporting") |
52 | | -else() |
| 48 | +if(SKBUILD) |
53 | 49 | find_package(PythonExtensions REQUIRED) |
54 | 50 | find_package(Cython REQUIRED) |
55 | 51 | find_package(NumPy REQUIRED) |
56 | 52 | add_subdirectory(src/main/pys2let) |
| 53 | +elseif(NOT CONAN_EXPORTED) |
| 54 | + include("${PROJECT_SOURCE_DIR}/cmake/exporting.cmake") |
57 | 55 | endif() |
58 | 56 |
|
59 | 57 | # only run documentation if this is not a sub-project |
|
0 commit comments