>I use the FetchContent module to integrate HPX into my project, which means my 
>project is the main project. I think some paths in APEX' CMakeLists.hpx need 
>to be adjusted, which I have done locally. Once I have the whole build working 
>I can provide a patch or pull request with my edits.

Please do submit a PR (to the APEX repo though if it needs fixes) - I thought I 
had fixed all those ages ago, but I guess some new ones have crept in.

>>>
Second, my build of HPX with support for APEX almost succeeds, but not 
completely (repro-case at bottom of this message):
<<<

My local projects that build using HPX are also failing with the similar 
problems related to hpx_cache and also hpx/config.hpp include directory 
problems.
Can you confirm if you are using master branch, or a 1.3 release - the cache 
stuff was not present in the 1.3 release.

Thanks

JB

/usr/bin/ld: cannot find -lhpx_cache
collect2: error: ld returned 1 exit status
_deps/hpx-build/src/CMakeFiles/hpx.dir/build.make:2769: recipe for target 
'lib/libhpx.so.1.3.0' failed
make[2]: *** [lib/libhpx.so.1.3.0] Error 1
CMakeFiles/Makefile2:1112: recipe for target 
'_deps/hpx-build/src/CMakeFiles/hpx.dir/all' failed Building with 
HPX_WITH_APEX=OFF succeeds, building with HPX_WITH_APEX=ON fails for lack of 
hpx_cache. I cannot find any reference to the hpx_cache library in the HPX and 
APEX sources. It is mentioned in three files in HPX' build directory, though:
./CMakeFiles/Export/lib/cmake/HPX/HPXTargets.cmake
./lib/cmake/HPX/HPXTargets.cmake
./src/CMakeFiles/hpx.dir/link.txt

The CMake scripts contain this snippet:
set_target_properties(apex PROPERTIES 

   INTERFACE_COMPILE_OPTIONS "-std=c++17" 

   INTERFACE_LINK_LIBRARIES "hpx_cache" 

)

Does anyone know how I can make my build succeed?

Thanks!

Kor



The simplest CMakeLists.txt with which I can recreate the issue is this one:

# dummy/CMakeLists.txt
cmake_minimum_required(VERSION 3.12)
project(dummy LANGUAGES CXX)

include(FetchContent)

set(HPX_WITH_EXAMPLES OFF CACHE BOOL "") set(HPX_WITH_TESTS OFF CACHE BOOL "") 
set(HPX_WITH_APEX ON CACHE BOOL "")

FetchContent_Declare(hpx
     GIT_REPOSITORY https://github.com/STEllAR-GROUP/hpx
     GIT_TAG 1.3.0
)

FetchContent_GetProperties(hpx)

if(NOT hpx_POPULATED)

     FetchContent_Populate(hpx)

     if(HPX_WITH_APEX)
         # I think something like this should be done in
         # APEX' CMakeLists.hpx
         include_directories(
             ${hpx_SOURCE_DIR}/libs/preprocessor/include
             ${hpx_SOURCE_DIR}/apex/src/apex
             ${hpx_SOURCE_DIR}/apex/src/contrib) 

     endif()

     add_subdirectory(${hpx_SOURCE_DIR} ${hpx_BINARY_DIR})

endif()
# / dummy/CMakeLists.txt

The project can be built (until the above link error) like this:

mkdir dummy/build
cd dummy/build
cmake ..
make
_______________________________________________
hpx-users mailing list
hpx-users@stellar.cct.lsu.edu
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
_______________________________________________
hpx-users mailing list
hpx-users@stellar.cct.lsu.edu
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to