From 28619821bc90ed4c15844b2e6b6a5a2971ef5f2e Mon Sep 17 00:00:00 2001 From: Matthias Vogelgesang Date: Mon, 21 Feb 2011 15:06:42 +0100 Subject: Initial commit --- cmake/FindClSerMe4.cmake | 44 +++++++++++++++++++ cmake/FindFgLib5.cmake | 43 +++++++++++++++++++ cmake/FindPCO.cmake | 19 +++++++++ cmake/SisoLibDir.cmake | 108 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 214 insertions(+) create mode 100644 cmake/FindClSerMe4.cmake create mode 100644 cmake/FindFgLib5.cmake create mode 100644 cmake/FindPCO.cmake create mode 100644 cmake/SisoLibDir.cmake (limited to 'cmake') diff --git a/cmake/FindClSerMe4.cmake b/cmake/FindClSerMe4.cmake new file mode 100644 index 0000000..2251c9a --- /dev/null +++ b/cmake/FindClSerMe4.cmake @@ -0,0 +1,44 @@ +FILE(TO_CMAKE_PATH "$ENV{SISODIR5}" SISODIR5) +FILE(TO_CMAKE_PATH "$ENV{SISODIR4}" SISODIR4) +FILE(TO_CMAKE_PATH "$ENV{SISODIR}" SISODIRME4) + +IF (CLSERME4_INCLUDE_DIR AND CLSERME4_LIBRARY) + SET(CLSERME4_FIND_QUIETLY TRUE) +ENDIF (CLSERME4_INCLUDE_DIR AND CLSERME4_LIBRARY) + +FIND_PATH(CLSERME4_INCLUDE_DIR clser.h + PATHS + $ENV{CLSERME4}/include + ${SISODIR5}/include + ${SISODIR4}/include + ${SISODIRME4}/include + ${CMAKE_INSTALL_PREFIX}/include +) + +INCLUDE(SisoLibDir) +SISO_LIB_DIR("${SISODIR5}/lib" LIB_DIRS COMPILER_LIB_DIR) +SISO_LIB_DIR("${SISODIR4}/lib" LIB_DIRS) +SISO_LIB_DIR("${SISODIRME4}/lib" LIB_DIRS) + +FIND_LIBRARY(CLSERME4_LIBRARY NAMES clserme4 clsersisome4 + PATHS + $ENV{CLSERME4}/lib + $ENV{CLSERME4} + ${LIB_DIRS} + ${CMAKE_INSTALL_PREFIX}/lib +) + +IF(CLSERME4_INCLUDE_DIR AND CLSERME4_LIBRARY) + SET(CLSERME4_FOUND TRUE) +ENDIF(CLSERME4_INCLUDE_DIR AND CLSERME4_LIBRARY) + +IF(CLSERME4_FOUND) + IF(NOT CLSERME4_FIND_QUIETLY) + MESSAGE(STATUS "Found clser library for meIV: ${CLSERME4_LIBRARY}") + ENDIF(NOT CLSERME4_FIND_QUIETLY) + SET(CLSERME4_LIBRARIES ${CLSERME4_LIBRARY}) +ELSE(CLSERME4_FOUND) + IF(CLSERME4_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "clser library not found") + ENDIF(CLSERME4_FIND_REQUIRED) +ENDIF(CLSERME4_FOUND) diff --git a/cmake/FindFgLib5.cmake b/cmake/FindFgLib5.cmake new file mode 100644 index 0000000..cba0002 --- /dev/null +++ b/cmake/FindFgLib5.cmake @@ -0,0 +1,43 @@ +FILE(TO_CMAKE_PATH "$ENV{SISODIR5}" SISODIR5) + +IF (FGLIB5_INCLUDE_DIR AND FGLIB5_LIBRARY) + SET(FGLIB5_FIND_QUIETLY TRUE) +ENDIF (FGLIB5_INCLUDE_DIR AND FGLIB5_LIBRARY) + +FIND_PATH(FGLIB5_INCLUDE_DIR fgrab_define.h + PATHS + "$ENV{FGLIB5}/include" + "${CMAKE_INSTALL_PREFIX}/include" + "${SISODIR5}/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Silicon Software GmbH\\Runtime5;Info]/include" +) + +INCLUDE(SisoLibDir) +SISO_LIB_DIR("${SISODIR5}/lib" LIB_DIRS COMPILER_LIB_DIR) + +FIND_LIBRARY(FGLIB5_LIBRARY NAMES fglib5 + PATHS + "$ENV{FGLIB5}/lib" + "$ENV{FGLIB5}" + "${CMAKE_INSTALL_PREFIX}/lib" + ${LIB_DIRS} + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Silicon Software GmbH\\Runtime5;Info]/lib/${COMPILER_LIB_DIR}" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Silicon Software GmbH\\Runtime5;Info]/lib" +) + +IF(FGLIB5_INCLUDE_DIR AND FGLIB5_LIBRARY) + SET(FGLIB5_FOUND TRUE) +ENDIF(FGLIB5_INCLUDE_DIR AND FGLIB5_LIBRARY) + +IF(FGLIB5_FOUND) + IF(NOT FGLIB5_FIND_QUIETLY) + MESSAGE(STATUS "Found Framegrabber library version 5: ${FGLIB5_LIBRARY}") + ENDIF(NOT FGLIB5_FIND_QUIETLY) + SET(FGLIB5_LIBRARIES ${FGLIB5_LIBRARY}) +ELSE(FGLIB5_FOUND) + IF(FGLIB5_FIND_REQUIRED) + IF(NOT FGLIB5_LIBRARY) + MESSAGE(FATAL_ERROR "Framegrabber library version 5 not found") + ENDIF(NOT FGLIB5_LIBRARY) + ENDIF(FGLIB5_FIND_REQUIRED) +ENDIF(FGLIB5_FOUND) diff --git a/cmake/FindPCO.cmake b/cmake/FindPCO.cmake new file mode 100644 index 0000000..86bbe9a --- /dev/null +++ b/cmake/FindPCO.cmake @@ -0,0 +1,19 @@ +# Try to find libpco.so +# +# Defines +# +# PCO_FOUND - system has libpco +# PCO_INCLUDE_DIRS - libpco include directory +# PCO_LIBRARIES - pco library + +find_package(PackageHandleStandardArgs) + +find_path(PCO_INCLUDE_DIRS libpco/libpco.h) +find_library(PCO_LIBRARIES pco) + +find_package_handle_standard_args(PCO DEFAULT_MSG PCO_LIBRARIES PCO_INCLUDE_DIRS) + +mark_as_advanced( + PCO_INCLUDE_DIRS + PCO_LIBRARIES +) diff --git a/cmake/SisoLibDir.cmake b/cmake/SisoLibDir.cmake new file mode 100644 index 0000000..371735e --- /dev/null +++ b/cmake/SisoLibDir.cmake @@ -0,0 +1,108 @@ +# This makro sets up additional library directories depending on the compiler. +# The reason behind this are the binary incompatible libraries generated by +# different compilers on Windows (e.g. Microsoft Visual Studio vs. Borland). +# +# Although newer versions of MSVC can operate with older libraries there may +# be libs compiled for a more recent version as MSVC6. Scan through all the +# possible directories for the matching lib. +# +# This makro expects the /lib directory (usually $ENV{SISODIRsomething}) as +# argument BASEDIR and will append a list of all valid library paths to +# variable LIB_DIRS. This may or may not include BASE_DIR depending on the +# platform. If BASEDIR is empty or is just "/lib" nothing will happen to +# LIB_DIRS. +# +# An optional variable name may be passed as third argument. If that argument +# is given the best matching suffix will be stored in that variable (e.g. +# "visualc2008" if you are using MSVC9). This will even work if LIB_DIRS would +# not be touched. + +MACRO (SISO_LIB_DIR BASE_DIR LIB_DIRS) + IF (WIN32) + IF (CMAKE_GENERATOR STREQUAL "Borland Makefiles") + IF ("${BASE_DIR}" AND NOT "${BASE_DIR}" STREQUAL "/lib") + LIST(APPEND ${LIB_DIRS} "borland") + ENDIF ("${BASE_DIR}" AND NOT "${BASE_DIR}" STREQUAL "/lib") + IF (${ARGC} EQUAL 3) + set(${ARGV2} "borland") + ENDIF (${ARGC} EQUAL 3) + ELSE (CMAKE_GENERATOR STREQUAL "Borland Makefiles") + # assume MSVC + SET(TMP_MSVC 0) + SET(TMP_MSVC_64 0) + + IF (CMAKE_GENERATOR STREQUAL "Visual Studio 6") + SET(TMP_MSVC 6) + SET(TMP_MSVC_64 0) + ELSEIF (CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005") + SET(TMP_MSVC 8) + SET(TMP_MSVC_64 0) + ELSEIF (CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005 Win64") + SET(TMP_MSVC 8) + SET(TMP_MSVC_64 1) + ELSEIF (CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") + SET(TMP_MSVC 9) + SET(TMP_MSVC_64 0) + ELSEIF (CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008 Win64") + SET(TMP_MSVC 9) + SET(TMP_MSVC_64 1) + ELSEIF (CMAKE_GENERATOR STREQUAL "NMake Makefiles" OR CMAKE_GENERATOR STREQUAL "MinGW Makefiles") + SET(TMP_MSVC_64 ${CMAKE_CL_64}) + IF (MSVC_VERSION EQUAL 1400) + SET(TMP_MSVC 8) + ELSEIF (MSVC_VERSION GREATER 1599) + SET(TMP_MSVC 10) + ELSEIF (MSVC_VERSION GREATER 1499) + SET(TMP_MSVC 9) + ELSEIF (CMAKE_COMPILER_2005) + SET(TMP_MSVC 8) + ELSE (MSVC_VERSION EQUAL 1400) + SET(TMP_MSVC 6) + ENDIF (MSVC_VERSION EQUAL 1400) + ENDIF (CMAKE_GENERATOR STREQUAL "Visual Studio 6") + + SET(TMP_DIRS "") + + IF (TMP_MSVC GREATER 9) + LIST(APPEND TMP_DIRS "visualc2010") + ENDIF (TMP_MSVC GREATER 9) + IF (TMP_MSVC GREATER 8) + LIST(APPEND TMP_DIRS "visualc2008") + ENDIF (TMP_MSVC GREATER 8) + IF (TMP_MSVC GREATER 7) + LIST(APPEND TMP_DIRS "visualc2005") + ENDIF (TMP_MSVC GREATER 7) + IF (TMP_MSVC GREATER 5 AND NOT TMP_MSVC_64) + LIST(APPEND TMP_DIRS "visualc") + ENDIF (TMP_MSVC GREATER 5 AND NOT TMP_MSVC_64) + + IF (${ARGC} EQUAL 3) + LIST(GET TMP_DIRS 0 TMPSTR) + IF (TMP_MSVC_64) + SET(TMPSTR "${TMPSTR}_amd64") + ENDIF (TMP_MSVC_64) + set(${ARGV2} ${TMPSTR}) + ENDIF (${ARGC} EQUAL 3) + + IF (NOT BASE_DIR STREQUAL "" AND NOT BASE_DIR STREQUAL "/lib") + FOREACH (TMP_ITEM ${TMP_DIRS}) + IF (TMP_MSVC_64) + LIST(APPEND ${LIB_DIRS} "${BASE_DIR}/${TMP_ITEM}_amd64") + ELSE (TMP_MSVC_64) + LIST(APPEND ${LIB_DIRS} "${BASE_DIR}/${TMP_ITEM}") + ENDIF (TMP_MSVC_64) + ENDFOREACH (TMP_ITEM ${TMP_DIRS}) + ENDIF (NOT BASE_DIR STREQUAL "" AND NOT BASE_DIR STREQUAL "/lib") + ENDIF (CMAKE_GENERATOR STREQUAL "Borland Makefiles") + ELSE (WIN32) + IF (NOT BASE_DIR STREQUAL "" AND NOT BASE_DIR STREQUAL "/lib") + LIST(APPEND ${LIB_DIRS} ${BASE_DIR}) + ENDIF (NOT BASE_DIR STREQUAL "" AND NOT BASE_DIR STREQUAL "/lib") + IF (${ARGC} EQUAL 3) + set(${ARGV2} "") + ENDIF (${ARGC} EQUAL 3) + ENDIF (WIN32) + IF (${LIB_DIRS}) + LIST(REMOVE_ITEM ${LIB_DIRS} "/lib") + ENDIF (${LIB_DIRS}) +ENDMACRO (SISO_LIB_DIR BASE_DIR LIB_DIRS) -- cgit v1.2.3