Fix Nodes detection
This commit is contained in:
parent
1ea42b7d8f
commit
b54f9d3176
@ -11,40 +11,51 @@
|
|||||||
# rule to add the compile and link time flags.
|
# rule to add the compile and link time flags.
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
include(FeatureSummary)
|
||||||
|
|
||||||
if(DEFINED ENV{NODES_HOME})
|
set(NODES_FLAG "-fompss-2=libnodes")
|
||||||
set(NODES_HOME "$ENV{NODES_HOME}")
|
|
||||||
else()
|
set(can_search_nodes TRUE)
|
||||||
message(STATUS "NODES_HOME not set, refusing to search")
|
|
||||||
|
if(NOT DEFINED ENV{NODES_HOME})
|
||||||
|
message(STATUS "NODES_HOME not set, refusing to search Nodes")
|
||||||
|
set(can_search_nodes FALSE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_library(NODES_LIBRARY NAMES nodes PATHS "${NODES_HOME}/lib" NO_DEFAULT_PATH)
|
if(NOT DEFINED ENV{NOSV_HOME})
|
||||||
find_path(NODES_INCLUDE_DIR nodes.h PATHS "${NODES_HOME}/include" NO_DEFAULT_PATH)
|
message(STATUS "NOSV_HOME not set, refusing to search Nodes")
|
||||||
|
set(can_search_nodes FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(can_search_nodes)
|
||||||
|
set(NODES_HOME "$ENV{NODES_HOME}")
|
||||||
|
|
||||||
|
# Ensure the compiler supports libnodes
|
||||||
|
include(CheckCCompilerFlag)
|
||||||
|
|
||||||
|
# Also set the linker flags, as otherwise the check will fail due to undefined
|
||||||
|
# symbols in the final program.
|
||||||
|
set(CMAKE_REQUIRED_LINK_OPTIONS "${NODES_FLAG}")
|
||||||
|
check_c_compiler_flag("${NODES_FLAG}" NODES_FLAG_SUPPORTED)
|
||||||
|
|
||||||
|
if(NOT NODES_FLAG_SUPPORTED)
|
||||||
|
message(STATUS "Compiler doesn't support ${NODES_FLAG} flag")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_library(NODES_LIBRARY NAMES nodes PATHS "${NODES_HOME}/lib" NO_DEFAULT_PATH)
|
||||||
|
find_path(NODES_INCLUDE_DIR nodes.h PATHS "${NODES_HOME}/include" NO_DEFAULT_PATH)
|
||||||
|
endif()
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
find_package_handle_standard_args(Nodes DEFAULT_MSG
|
find_package_handle_standard_args(Nodes DEFAULT_MSG
|
||||||
NODES_LIBRARY NODES_INCLUDE_DIR)
|
NODES_HOME NODES_LIBRARY NODES_INCLUDE_DIR NODES_FLAG_SUPPORTED)
|
||||||
|
|
||||||
if(NOT NODES_FOUND)
|
if(NOT NODES_FOUND)
|
||||||
message(STATUS "Cannot find NODES library")
|
message(STATUS "Cannot find NODES library")
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Also ensure the compiler supports libnodes
|
|
||||||
include(CheckCCompilerFlag)
|
|
||||||
|
|
||||||
set(NODES_FLAG "-fompss-2=libnodes")
|
|
||||||
# Also set the linker flags, as otherwise the check will fail due to undefined
|
|
||||||
# symbols in the final program.
|
|
||||||
set(CMAKE_REQUIRED_LINK_OPTIONS "${NODES_FLAG}")
|
|
||||||
check_c_compiler_flag("${NODES_FLAG}" NODES_FLAG_SUPPORTED)
|
|
||||||
|
|
||||||
if(NOT NODES_FLAG_SUPPORTED)
|
|
||||||
message(STATUS "Compiler doesn't support ${NODES_FLAG} flag")
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT TARGET Nodes::nodes)
|
if(NOT TARGET Nodes::nodes)
|
||||||
add_library(Nodes::nodes SHARED IMPORTED)
|
add_library(Nodes::nodes SHARED IMPORTED)
|
||||||
set_target_properties(Nodes::nodes PROPERTIES
|
set_target_properties(Nodes::nodes PROPERTIES
|
||||||
|
Loading…
Reference in New Issue
Block a user