>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
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users