[cmake] move ExternalProject_Add to subdir for consistency, and define proper GSL,FFTW,TBB targets#21904
[cmake] move ExternalProject_Add to subdir for consistency, and define proper GSL,FFTW,TBB targets#21904ferdymercury wants to merge 7 commits intoroot-project:masterfrom
Conversation
c5e599c to
cb03ce1
Compare
Test Results 15 files 15 suites 2d 2h 6m 13s ⏱️ For more details on these failures, see this check. Results for commit 070cca6. ♻️ This comment has been updated with latest results. |
1f27c07 to
283614a
Compare
|
@bellenot could you let me know what is the contents (filenames) inside:
Or alternatively, what targets are defined once you run find_package with the new FindFFTW.cmake script in this branch ? |
|
@ferdymercury here is the content of And I'll try your branch... |
|
@ferdymercury BTW, what is the problem with FFTW? |
|
Here are (some of) the errors on Windows: Hard to tell where they are coming from (i.e, which DLL is not found). I'll have to debug it locally |
The current FindFFTW.cmake did not define a proper target so I borrowed a more up-to-date one by @egpbos but it seems it had a bug for Win32. I just fixed it so that it now finds all variants of FFTW3 correctly on Windows. |
|
@ferdymercury FYI the issue is coming from TBB. I'm looking into it |
85f47df to
e9b6bcd
Compare
19375c8 to
63ee525
Compare
c64b541 to
113a3d3
Compare
[cmake] try define proper gsl builtin target canonical names by findgsl
113a3d3 to
070cca6
Compare
hageboeck
left a comment
There was a problem hiding this comment.
This is a good opportunity to make the builtins conform to what find modules would output. This means that we need to set the following variables (from here):
Xxx_INCLUDE_DIRS
Xxx_LIBRARIES
We also need to remember that:
- They must not be CACHE variables
- And they need to be set in the
PARENT_SCOPEnow that they are in subdirectories
I see that for some deps, this is done, for others it's not, so we have a chance now to unify this.
builtins/fftw3/CMakeLists.txt
Outdated
| @@ -0,0 +1,17 @@ | |||
| set(FFTW_VERSION 3.3.10) | |||
| message(STATUS "Downloading and building FFTW version ${FFTW_VERSION}") | |||
| set(FFTW_LIBRARIES ${CMAKE_BINARY_DIR}/lib/libfftw3.a) | |||
There was a problem hiding this comment.
This needs to be set also in the PARENT_SCOPE when it's moved into a subdirectory.
builtins/fftw3/CMakeLists.txt
Outdated
| BUILD_BYPRODUCTS ${FFTW_LIBRARIES} | ||
| TIMEOUT 600 | ||
| ) | ||
| set(FFTW_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include PARENT_SCOPE) |
There was a problem hiding this comment.
You need to set FFTW_INCLUDE_DIRS in the parent scope.
Co-authored-by: Bertrand Bellenot <bellenot@users.noreply.github.com>

Try unbloating the huge SearchInstalledSoftware
and use always subdirs for ExternalProject_Add for symmetry with other builtins