25 lines
905 B
CMake
25 lines
905 B
CMake
INCLUDE (CheckCXXSourceCompiles)
|
|
unset(STXXL_WORKS CACHE)
|
|
set (STXXL_CHECK_SRC "#include <stxxl/vector>\n int main() { stxxl::vector<int> vec; return 0;}")
|
|
set (CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE})
|
|
set (CMAKE_REQUIRED_INCLUDES "${STXXL_INCLUDE_DIR}")
|
|
set (CMAKE_REQUIRED_LIBRARIES "${STXXL_LIBRARY}")
|
|
|
|
CHECK_CXX_SOURCE_COMPILES("${STXXL_CHECK_SRC}" STXXL_WORKS)
|
|
|
|
if(STXXL_WORKS)
|
|
message(STATUS "STXXL can be used without linking against libgomp")
|
|
else()
|
|
message(STATUS "Linking STXXL failed without libgomp, retrying ..")
|
|
find_package(OpenMP)
|
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${OpenMP_CXX_FLAGS}")
|
|
CHECK_CXX_SOURCE_COMPILES("${STXXL_CHECK_SRC}" STXXL_LINKS)
|
|
|
|
if (STXXL_LINKS)
|
|
message(STATUS "STXXL needs to link against OpenMP")
|
|
target_link_libraries(osrm-extract gomp)
|
|
else()
|
|
message(FATAL_ERROR "STXXL failed failed, libgomp missing?")
|
|
endif()
|
|
endif()
|