on nixos (zycore.nix)
both PACKAGE_PREFIX_DIR and CMAKE_INSTALL_INCLUDEDIR are absolute paths
so the resulting zycore-config.cmake looks something like
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
# ...
set_and_check(zycore_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}//nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/include")
set_and_check(zycore_LIB_DIR "${PACKAGE_PREFIX_DIR}//nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/lib")
zycore_INCLUDE_DIR evals to something like
/nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0//nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/include
example: zydis build fails with
CMake Error at /nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/lib/cmake/zycore/zycore-config.cmake:13 (message):
File or directory
/nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0//nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/include
referenced by variable zycore_INCLUDE_DIR does not exist !
Call Stack (most recent call first):
/nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/lib/cmake/zycore/zycore-config.cmake:38 (set_and_check)
CMakeLists.txt:109 (find_package)
CMakeLists.txt:141 (locate_zycore)
|
set_and_check(zycore_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@") |
|
set_and_check(zycore_LIB_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@") |
|
configure_package_config_file(cmake/zycore-config.cmake.in |
|
"${CMAKE_CURRENT_BINARY_DIR}/zycore-config.cmake" |
|
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/zycore" |
|
) |
possible solutions:
remove ${PACKAGE_PREFIX_DIR}/
use cmake_path(APPEND ...) to join paths
on nixos (zycore.nix)
both
PACKAGE_PREFIX_DIRandCMAKE_INSTALL_INCLUDEDIRare absolute pathsso the resulting
zycore-config.cmakelooks something likezycore_INCLUDE_DIRevals to something like/nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0//nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/includeexample:
zydisbuild fails withzycore-c/cmake/zycore-config.cmake.in
Lines 14 to 15 in 419cde9
zycore-c/CMakeLists.txt
Lines 200 to 203 in 419cde9
possible solutions:
remove
${PACKAGE_PREFIX_DIR}/use cmake_path(APPEND ...) to join paths