Skip to content

Commit e67cef9

Browse files
ferdymercurydpiparo
authored andcommitted
[fftw3] use proper CMake target and move builtin-build to subdir
1 parent 1cfb21f commit e67cef9

6 files changed

Lines changed: 482 additions & 68 deletions

File tree

.github/workflows/root-ci-config/buildconfig/alma10-clang_ninja.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
CMAKE_C_COMPILER=clang
22
CMAKE_CXX_COMPILER=clang++
33
CMAKE_GENERATOR=Ninja
4+
builtin_fftw3=ON
45
builtin_freetype=ON
56
builtin_ftgl=ON
67
builtin_gif=ON

builtins/fftw3/CMakeLists.txt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
set(ROOT_FFTW_VERSION 3.3.10)
2+
message(STATUS "Downloading and building FFTW version ${ROOT_FFTW_VERSION}")
3+
set(ROOT_FFTW_PREFIX ${CMAKE_BINARY_DIR}/builtins/FFTW3-prefix)
4+
set(ROOT_FFTW_LIBRARY ${ROOT_FFTW_PREFIX}/lib/libfftw3.a)
5+
ExternalProject_Add(
6+
BUILTIN_FFTW3
7+
PREFIX ${ROOT_FFTW_PREFIX}
8+
URL ${lcgpackages}/fftw-${ROOT_FFTW_VERSION}.tar.gz
9+
URL_HASH SHA256=56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467
10+
CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR>
11+
BUILD_COMMAND make CFLAGS=-fPIC
12+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
13+
BUILD_IN_SOURCE 1
14+
BUILD_BYPRODUCTS ${ROOT_FFTW_LIBRARY}
15+
TIMEOUT 600
16+
)
17+
18+
set(ROOT_FFTW_INCLUDE_DIR ${ROOT_FFTW_PREFIX}/include)
19+
20+
file(MAKE_DIRECTORY ${ROOT_FFTW_INCLUDE_DIR})
21+
add_library(FFTW::Double IMPORTED STATIC GLOBAL)
22+
add_dependencies(FFTW::Double BUILTIN_FFTW3)
23+
set_target_properties(FFTW::Double PROPERTIES
24+
IMPORTED_LOCATION ${ROOT_FFTW_LIBRARY}
25+
INTERFACE_INCLUDE_DIRECTORIES ${ROOT_FFTW_INCLUDE_DIR})
26+
27+
set(FFTW_INCLUDE_DIRS ${ROOT_FFTW_INCLUDE_DIR} PARENT_SCOPE)
28+
set(FFTW_FOUND ON PARENT_SCOPE)
29+
set(FFTW_VERSION ${ROOT_FFTW_VERSION} PARENT_SCOPE)
30+
set(FFTW_LIBRARIES ${ROOT_FFTW_LIBRARY} PARENT_SCOPE)

0 commit comments

Comments
 (0)