json-fortran
json-fortran copied to clipboard
CMake: use of the include() command with the result of the export() command is deprecated
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.
I'm not a CMake guru. Is there something we can do to avoid relying on depreciated features I wonder?
I also have this issue now, and I tried to add cmake_policy(SET CMP0024 OLD)
, but it still does not work