Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

CMake: use of the include() command with the result of the export() command is deprecated #474

Open
BaconPancakes opened this issue Aug 25, 2020 · 2 comments
Labels

Comments

@BaconPancakes
Copy link

BaconPancakes commented Aug 25, 2020

I am running Cmake 3.16 and trying to use the find_package way linking the json-fortran results in:

[cmake] CMake Error at build/json-fortran/jsonfortran-intel-config.cmake:19 (include):
[cmake]   The file
[cmake] 
[cmake]     my-project-dir/build/json-fortran/jsonfortran-intel-targets.cmake
[cmake] 
[cmake]   was generated by the export() command.  It may not be used as the argument
[cmake]   to the include() command.  Use ALIAS targets instead to refer to targets by
[cmake]   alternative names.

Here's what I'm doing:

add_subdirectory(json-fortran)
list(APPEND CMAKE_PREFIX_PATH  "${CMAKE_CURRENT_SOURCE_DIR}/build/json-fortran")
find_package ( jsonfortran-${CMAKE_Fortran_COMPILER_ID} REQUIRED 8.2.0)
include_directories ( "${jsonfortran_INCLUDE_DIRS}" )

The workaround is to add the following to the CMakeLists.txt

cmake_policy(SET CMP0024 OLD)

referencing https://cmake.org/cmake/help/v3.17/policy/CMP0024.html#policy:CMP0024

However, as it warns, this is a deprecated feature.

@jacobwilliams
Copy link
Owner

I'm not a CMake guru. Is there something we can do to avoid relying on depreciated features I wonder?

@daydream123
Copy link

daydream123 commented Feb 6, 2024

I also have this issue now, and I tried to add cmake_policy(SET CMP0024 OLD), but it still does not work

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants