Files
qt6-migration-pipeline/cmake/FindTMSIF.cmake
T
2026-07-14 12:07:36 +02:00

105 lines
2.8 KiB
CMake
Executable File

IF(NOT TMSIF_DIR)
SET(_arch "unknown")
SET(_TMSIF_DIR $ENV{TMSIF_PATH})
IF(NOT _TMSIF_DIR)
SET(_TMSIF_DIR "/opt/tmsif")
ENDIF()
IF(NOT EXISTS "${_TMSIF_DIR}" OR NOT IS_DIRECTORY "${_TMSIF_DIR}")
MESSAGE(FATAL_ERROR "Umgebungsvariable TMSIF_PATH nicht gesetzt!")
ENDIF()
SET(TMSIF_DIR "${_TMSIF_DIR}" CACHE STRING "TMSIF base path" FORCE)
MESSAGE(STATUS "Trying to use TMSIF_DIR from ${TMSIF_DIR}")
ENDIF()
SET(_tmsif_include_hint "${TMSIF_DIR}/include/")
SET(_tmsif_library_hint "${TMSIF_DIR}/lib/")
IF(NOT TMSIF_INCLUDE_DIR)
FIND_PATH(TMSIF_INCLUDE_DIR Common.h HINTS ${_tmsif_include_hint})
IF(TMSIF_INCLUDE_DIR)
SET(TMSIF_INCLUDE_DIRS "${TMSIF_INCLUDE_DIR}" "${TMSIF_INCLUDE_DIR}/ddscxx" CACHE STRING "TMSIF include directories" FORCE)
MARK_AS_ADVANCED(TMSIF_INCLUDE_DIRS)
ELSE()
MESSAGE(FATAL "Could not find TMSIF include directory at ${_tmsif_include_hint}")
ENDIF()
ENDIF()
SET(_TMSIF_LIBS tmsif-cyclone ddscxx ddkit-cyclone )
SET(_libs "")
SET(_lib_vars "")
FOREACH(_lib ${_TMSIF_LIBS})
SET(_libname "TMSIF_${_lib}_LIBRARY")
IF (NOT ${_libname})
FIND_LIBRARY_WITH_DEBUG("${_libname}"
WIN32_DEBUG_POSTFIX d
NAMES ${_lib}
HINTS ${_tmsif_library_hint} ${TMSIF_DIR}/lib )
ENDIF()
SET(_tgt_name TMSIF::${_lib})
IF(NOT TARGET ${_tgt_name})
ADD_LIBRARY(${_tgt_name} UNKNOWN IMPORTED)
SET_PROPERTY(TARGET ${_tgt_name} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${TMSIF_INCLUDE_DIRS}")
SET_PROPERTY(TARGET ${_tgt_name} PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${TMSIF_INCLUDE_DIRS}")
IF(UNIX)
SET_PROPERTY(TARGET ${_tgt_name} PROPERTY INTERFACE_COMPILE_DEFINITIONS "TMSIF_UNIX;TMSIF_LINUX;TMSIF_64BIT" )
ENDIF()
IF(${_libname}_RELEASE)
SET_PROPERTY(TARGET ${_tgt_name} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
SET_PROPERTY(TARGET ${_tgt_name} PROPERTY IMPORTED_LOCATION_RELEASE "${${_libname}_RELEASE}")
ENDIF()
IF(${_libname}_DEBUG)
SET_PROPERTY(TARGET ${_tgt_name} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
SET_PROPERTY(TARGET ${_tgt_name} PROPERTY IMPORTED_LOCATION_DEBUG "${${_libname}_DEBUG}")
ENDIF()
IF(NOT ${_libname}_RELEASE AND NOT ${_libname}_DEBUG)
SET_PROPERTY(TARGET ${_tgt_name} PROPERTY IMPORTED_LOCATION "${${_libname}}")
ENDIF()
ENDIF()
LIST(APPEND _libs "${${_libname}}")
LIST(APPEND _lib_vars "${_libname}")
ENDFOREACH()
SET(TMSIF_LIBRARIES ${_libs} CACHE STRING "All TMSIF libraries" FORCE)
MARK_AS_ADVANCED(TMSIF_LIBRARIES)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TMSIF DEFAULT_MSG TMSIF_DIR TMSIF_INCLUDE_DIR ${_lib_vars})