diff --git a/cmake/xsdk.cmake b/cmake/xsdk.cmake index 8b73439ac..1bc427063 100644 --- a/cmake/xsdk.cmake +++ b/cmake/xsdk.cmake @@ -14,3 +14,21 @@ function(xsdk_begin_package) set(user_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) endif() endfunction(xsdk_begin_package) + +function(xsdk_add_tpl name) + if(USE_XSDK_DEFAULTS) + set(TPL_ENABLE_${name} "" CACHE STRING "XSDK option to enable ${name} [ON|OFF]") + set(TPL_${name}_INCLUDE_DIRS "" CACHE STRING "XSDK compatible flag to specify ${name} include dirs") + set(TPL_${name}_LIBRARIES "" CACHE STRING "XSDK compatible flag to specify ${name} libraries") + #set the non-xsdk enable flag + set(ENABLE_${name} ${TPL_ENABLE_${name}} PARENT_SCOPE) + #set the include path cmake searches + list(APPEND CMAKE_INCLUDE_PATH ${TPL_${name}_INCLUDE_DIRS}) + set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} PARENT_SCOPE) + #set the library path cmake searches + list(GET TPL_${name}_LIBRARIES 0 firstlib) + get_filename_component(libdir ${firstlib} DIRECTORY) + list(APPEND CMAKE_LIBRARY_PATH ${libdir}) + set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} PARENT_SCOPE) + endif() +endfunction(xsdk_add_tpl) diff --git a/pcu/CMakeLists.txt b/pcu/CMakeLists.txt index 7a4aa0b66..cb4431963 100644 --- a/pcu/CMakeLists.txt +++ b/pcu/CMakeLists.txt @@ -46,6 +46,7 @@ target_include_directories(pcu # Check for and enable compression support if(PCU_COMPRESS) + xsdk_add_tpl(BZIP2) find_package(BZip2 REQUIRED) target_include_directories(pcu PRIVATE ${BZIP2_INCLUDE_DIR}) target_link_libraries(pcu PRIVATE ${BZIP2_LIBRARIES}) diff --git a/zoltan/CMakeLists.txt b/zoltan/CMakeLists.txt index cf62db48d..5450ee52a 100644 --- a/zoltan/CMakeLists.txt +++ b/zoltan/CMakeLists.txt @@ -5,6 +5,8 @@ endif() # Package options option(ENABLE_ZOLTAN "Enable Zoltan interface [ON|OFF]" OFF) +xsdk_add_tpl(ZOLTAN) +xsdk_add_tpl(PARMETIS) message(STATUS "ENABLE_ZOLTAN: " ${ENABLE_ZOLTAN}) # Let CMake know where to find custom find package implementations