Files
geant4/cmake/Modules/G4X11Shim.cmake
T
2019-12-06 15:12:28 +01:00

68 lines
2.4 KiB
CMake

# - G4X11Shim
#
# Geant4's Geant4Config.cmake file aims to support CMake 3.8 and newer
# The X11 dependency is located through CMake's builtin FindX11
# module and linked through the X11:: imported targets.
# These targets are however only available from CMake 3.14, so recreate
# those we need if they do not exist.
if(X11_FOUND)
if (NOT TARGET X11::X11)
add_library(X11::X11 UNKNOWN IMPORTED)
set_target_properties(X11::X11 PROPERTIES
IMPORTED_LOCATION "${X11_X11_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${X11_X11_INCLUDE_PATH}")
endif ()
if (X11_ICE_FOUND AND NOT TARGET X11::ICE)
add_library(X11::ICE UNKNOWN IMPORTED)
set_target_properties(X11::ICE PROPERTIES
IMPORTED_LOCATION "${X11_ICE_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${X11_ICE_INCLUDE_PATH}")
endif ()
if (X11_SM_FOUND AND NOT TARGET X11::SM)
add_library(X11::SM UNKNOWN IMPORTED)
set_target_properties(X11::SM PROPERTIES
IMPORTED_LOCATION "${X11_SM_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${X11_SM_INCLUDE_PATH}")
endif ()
if (X11_Xext_FOUND AND NOT TARGET X11::Xext)
# CMake < 3.14 won't search for Xext headers
if(NOT X11_Xext_INCLUDE_PATH)
find_path(X11_Xext_INCLUDE_PATH X11/extensions/Xext.h ${X11_INC_SEARCH_PATH})
mark_as_advanced(X11_Xext_INCLUDE_PATH)
endif()
add_library(X11::Xext UNKNOWN IMPORTED)
set_target_properties(X11::Xext PROPERTIES
IMPORTED_LOCATION "${X11_Xext_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${X11_Xext_INCLUDE_PATH}"
INTERFACE_LINK_LIBRARIES "X11::X11")
endif ()
if (X11_Xmu_FOUND AND NOT TARGET X11::Xmu)
add_library(X11::Xmu UNKNOWN IMPORTED)
set_target_properties(X11::Xmu PROPERTIES
IMPORTED_LOCATION "${X11_Xmu_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${X11_Xmu_INCLUDE_PATH}"
INTERFACE_LINK_LIBRARIES "X11::Xt;X11::Xext;X11::X11")
endif ()
if (X11_Xpm_FOUND AND NOT TARGET X11::Xpm)
add_library(X11::Xpm UNKNOWN IMPORTED)
set_target_properties(X11::Xpm PROPERTIES
IMPORTED_LOCATION "${X11_Xpm_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${X11_Xpm_INCLUDE_PATH}"
INTERFACE_LINK_LIBRARIES "X11::X11")
endif ()
if (X11_Xt_FOUND AND NOT TARGET X11::Xt)
add_library(X11::Xt UNKNOWN IMPORTED)
set_target_properties(X11::Xt PROPERTIES
IMPORTED_LOCATION "${X11_Xt_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${X11_Xt_INCLUDE_PATH}"
INTERFACE_LINK_LIBRARIES "X11::ICE;X11::SM;X11::X11")
endif ()
endif()