Hi all, I am trying to build HPX with support for APEX and run into two issues.
First, the APEX CMake script for integrating APEX with HPX assumes that HPX is the main project (CMAKE_SOURCE_DIR is assumed to point to the HPX source dir, but in my case points to my project's source dir). 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. Second, my build of HPX with support for APEX almost succeeds, but not completely (repro-case at bottom of this message): /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