Hi Sutou, I think this is a problem with my IDE. When I am running inside a terminal, it seems to be working fine. :-/
On Wed, Sep 8, 2021 at 5:17 PM Sutou Kouhei <k...@clear-code.com> wrote: > Hi, > > Could you remove CONFIG from find_package(Arrow)? > > Thanks, > -- > kou > > In <CANCoaU6N7207bQBLKa8Ut4BL-nQiUa8VnH_QkqvKFM4J=4r...@mail.gmail.com> > "Cmake FindArrow variables not set properly" on Wed, 8 Sep 2021 16:31:51 > -0400, > Niranda Perera <niranda.per...@gmail.com> wrote: > > > Hi all, > > > > I am trying to use cmake find_package in my project (inside a conda > env). I > > have the following in the cmake file. > > > > message("Finding Arrow from SYSTEM") > > find_package(Arrow ${CYLON_ARROW_VERSION} CONFIG REQUIRED) > > message(STATUS "Arrow found: ${ARROW_FOUND}") > > message(STATUS "Arrow ver: ${ARROW_FULL_SO_VERSION}") > > message(STATUS "Arrow include dir: ${ARROW_INCLUDE_DIR}") > > message(STATUS "Arrow lib dir: ${ARROW_LIB_DIR}") > > > > find_library(ARROW_SO arrow ${CYLON_ARROW_VERSION}) > > message(STATUS "Arrow lib: ${ARROW_SO}") > > > > find_library(ARROW_PY_SO arrow_python ${CYLON_ARROW_VERSION}) > > message(STATUS "Arrow py lib: ${ARROW_PY_SO}") > > > > Following is my output. > > > > Finding Arrow from SYSTEM > > -- Arrow found: > > -- Arrow ver: 400.1.0 > > -- Arrow include dir: > > -- Arrow lib dir: > > -- Arrow lib: /aux/miniconda/envs/cylon_dev/lib/libarrow.so > > -- Arrow py lib: /aux/miniconda/envs/cylon_dev/lib/libarrow_python.so > > > > It seems to be that the CMake variables like, ARROW_FOUND, > > ARROW_INCLUDE_DIR, etc are not set properly. But cmake can still locate > the > > .so files without a problem. > > > > When I explicitly call the FindArrow.cmake file in the > > ${CONDA_PREFIX}/lib/cmake/arrow dir, > > find_package(Arrow CONFIG REQUIRED CONFIGS FindArrow.cmake HINTS > > ${CONDA_PREFIX}/lib/cmake/arrow) > > > > I get the following cmake warning, but then all variables are set > properly. > > Finding Arrow from SYSTEM > > CMake Warning (dev) at > > > /aux/miniconda/envs/cylon_dev/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 > > (message): > > The package name passed to `find_package_handle_standard_args` > (PkgConfig) > > does not match the name of the calling package (Arrow). This can lead > to > > problems in calling code that expects `find_package` result variables > > (e.g., `_FOUND`) to follow a certain pattern. > > Call Stack (most recent call first): > > > > > /aux/miniconda/envs/cylon_dev/share/cmake-3.21/Modules/FindPkgConfig.cmake:70 > > (find_package_handle_standard_args) > > /aux/miniconda/envs/cylon_dev/lib/cmake/arrow/FindArrow.cmake:39 > (include) > > CMakeLists.txt:243 (find_package) > > This warning is for project developers. Use -Wno-dev to suppress it. > > > > -- Arrow version: 4.0.1 (CMake package configuration: Arrow) > > -- Arrow SO and ABI version: 400 > > -- Arrow full SO version: 400.1.0 > > -- Found the Arrow core shared library: > > /aux/miniconda/envs/cylon_dev/lib/libarrow.so > > -- Found the Arrow core import library: > > -- Found the Arrow core static library: > > -- Arrow found: TRUE > > -- Arrow ver: 400.1.0 > > -- Arrow include dir: /aux/miniconda/envs/cylon_dev/include > > -- Arrow lib dir: /aux/miniconda/envs/cylon_dev/lib > > -- Arrow lib: /aux/miniconda/envs/cylon_dev/lib/libarrow.so > > -- Arrow py lib: /aux/miniconda/envs/cylon_dev/lib/libarrow_python.so > > > > When we are using Arrow in an external project, should I copy the > > FindArrow.cmake file to that project explicitly, and then use it? > > > > > https://github.com/apache/arrow/blob/master/cpp/cmake_modules/FindArrow.cmake > > -- > > Niranda Perera > > https://niranda.dev/ > > @n1r44 <https://twitter.com/N1R44> > -- Niranda Perera https://niranda.dev/ @n1r44 <https://twitter.com/N1R44>