diff --git a/cmake/modules/FindGLIB2.cmake b/cmake/modules/FindGLIB2.cmake index 0da4ca4..0fcb68d 100644 --- a/cmake/modules/FindGLIB2.cmake +++ b/cmake/modules/FindGLIB2.cmake @@ -21,18 +21,24 @@ if (NOT WIN32) pkg_check_modules(PKG_GLIB REQUIRED glib-2.0) endif(NOT WIN32) +if (CMAKE_SIZEOF_VOID_P MATCHES "8") + set(GSTREAMER_ROOT $ENV{GSTREAMER_1_0_ROOT_X86_64}) +else () + set(GSTREAMER_ROOT $ENV{GSTREAMER_1_0_ROOT_X86}) +endif () + find_path(GLIB2_MAIN_INCLUDE_DIR glib.h PATH_SUFFIXES glib-2.0 - HINTS ${PKG_GLIB_INCLUDE_DIRS} ${PKG_GLIB_INCLUDEDIR} $ENV{GSTREAMER_1_0_ROOT_X86}/include) + HINTS ${PKG_GLIB_INCLUDE_DIRS} ${PKG_GLIB_INCLUDEDIR} ${GSTREAMER_ROOT}/include) # search the glibconfig.h include dir under the same root where the library is found find_library(GLIB2_LIBRARIES NAMES glib-2.0 - HINTS ${PKG_GLIB_LIBRARY_DIRS} ${PKG_GLIB_LIBDIR} $ENV{GSTREAMER_1_0_ROOT_X86}/lib) + HINTS ${PKG_GLIB_LIBRARY_DIRS} ${PKG_GLIB_LIBDIR} ${GSTREAMER_ROOT}/lib) find_path(GLIB2_INTERNAL_INCLUDE_DIR glibconfig.h PATH_SUFFIXES glib-2.0/include ../lib/glib-2.0/include - HINTS ${PKG_GLIB_INCLUDE_DIRS} ${PKG_GLIB_LIBRARIES} ${CMAKE_SYSTEM_LIBRARY_PATH} $ENV{GSTREAMER_1_0_ROOT_X86}/lib) + HINTS ${PKG_GLIB_INCLUDE_DIRS} ${PKG_GLIB_LIBRARIES} ${CMAKE_SYSTEM_LIBRARY_PATH} ${GSTREAMER_ROOT}/lib) set(GLIB2_INCLUDE_DIR ${GLIB2_MAIN_INCLUDE_DIR}) diff --git a/cmake/modules/FindGObject.cmake b/cmake/modules/FindGObject.cmake index bf402dc..54ede64 100644 --- a/cmake/modules/FindGObject.cmake +++ b/cmake/modules/FindGObject.cmake @@ -28,9 +28,15 @@ IF (NOT WIN32) SET(GOBJECT_DEFINITIONS ${PKG_GOBJECT2_CFLAGS}) ENDIF (NOT WIN32) +if (CMAKE_SIZEOF_VOID_P MATCHES "8") + set(GSTREAMER_ROOT $ENV{GSTREAMER_1_0_ROOT_X86_64}) +else () + set(GSTREAMER_ROOT $ENV{GSTREAMER_1_0_ROOT_X86}) +endif () + FIND_PATH(GOBJECT_INCLUDE_DIR gobject/gobject.h HINTS ${PKG_GOBJECT2_INCLUDE_DIRS} ${PKG_GOBJECT2_INCLUDEDIR} - PATHS /usr/include/glib-2.0/ $ENV{GSTREAMER_1_0_ROOT_X86}/include + PATHS /usr/include/glib-2.0/ ${GSTREAMER_ROOT}/include PATH_SUFFIXES glib-2.0 ) @@ -38,25 +44,25 @@ FIND_LIBRARY(_GObjectLibs NAMES gobject-2.0 HINTS ${PKG_GOBJECT2_LIBRARY_DIRS} ${PKG_GOBJECT2_LIBDIR} - $ENV{GSTREAMER_1_0_ROOT_X86}/lib + ${GSTREAMER_ROOT}/lib ) FIND_LIBRARY(_GModuleLibs NAMES gmodule-2.0 HINTS ${PKG_GOBJECT2_LIBRARY_DIRS} ${PKG_GOBJECT2_LIBDIR} - $ENV{GSTREAMER_1_0_ROOT_X86}/lib + ${GSTREAMER_ROOT}/lib ) FIND_LIBRARY(_GThreadLibs NAMES gthread-2.0 HINTS ${PKG_GOBJECT2_LIBRARY_DIRS} ${PKG_GOBJECT2_LIBDIR} - $ENV{GSTREAMER_1_0_ROOT_X86}/lib + ${GSTREAMER_ROOT}/lib ) FIND_LIBRARY(_GLibs NAMES glib-2.0 HINTS ${PKG_GOBJECT2_LIBRARY_DIRS} ${PKG_GOBJECT2_LIBDIR} - $ENV{GSTREAMER_1_0_ROOT_X86}/lib + ${GSTREAMER_ROOT}/lib ) SET (GOBJECT_LIBRARIES ${_GObjectLibs} ${_GModuleLibs} ${_GThreadLibs} ${_GLibs}) diff --git a/cmake/modules/FindGStreamer.cmake b/cmake/modules/FindGStreamer.cmake index 16ede32..a6486e0 100644 --- a/cmake/modules/FindGStreamer.cmake +++ b/cmake/modules/FindGStreamer.cmake @@ -38,13 +38,19 @@ if (PKG_CONFIG_FOUND) OUTPUT_VARIABLE PKG_GSTREAMER_PLUGIN_DIR) endif() +if (CMAKE_SIZEOF_VOID_P MATCHES "8") + set(GSTREAMER_ROOT $ENV{GSTREAMER_1_0_ROOT_X86_64}) +else () + set(GSTREAMER_ROOT $ENV{GSTREAMER_1_0_ROOT_X86}) +endif () + find_library(GSTREAMER_LIBRARY NAMES gstreamer-${GSTREAMER_ABI_VERSION} - HINTS ${PKG_GSTREAMER_LIBRARY_DIRS} ${PKG_GSTREAMER_LIBDIR} $ENV{GSTREAMER_1_0_ROOT_X86}/lib) + HINTS ${PKG_GSTREAMER_LIBRARY_DIRS} ${PKG_GSTREAMER_LIBDIR} ${GSTREAMER_ROOT}/lib) find_path(GSTREAMER_INCLUDE_DIR gst/gst.h - HINTS ${PKG_GSTREAMER_INCLUDE_DIRS} ${PKG_GSTREAMER_INCLUDEDIR} $ENV{GSTREAMER_1_0_ROOT_X86}/include + HINTS ${PKG_GSTREAMER_INCLUDE_DIRS} ${PKG_GSTREAMER_INCLUDEDIR} ${GSTREAMER_ROOT}/include PATH_SUFFIXES gstreamer-${GSTREAMER_ABI_VERSION}) if (PKG_GSTREAMER_PLUGIN_DIR) diff --git a/cmake/modules/FindNIIMAQ.cmake b/cmake/modules/FindNIIMAQ.cmake index 2fbe979..685c9dc 100644 --- a/cmake/modules/FindNIIMAQ.cmake +++ b/cmake/modules/FindNIIMAQ.cmake @@ -6,45 +6,47 @@ # NIIMAQ_LIBRARIES - the libraries needed to use NI-IMAQ # Copyright (c) 2006, Tim Beaulen -# Copyright (c) 2010, United States Government, Joshua M. Doe +# Copyright (c) 2014, United States Government, Joshua M. Doe # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. -IF (NIIMAQ_INCLUDE_DIR AND NIIMAQ_LIBRARIES) - # in cache already - SET(NIIMAQ_FIND_QUIETLY TRUE) -ELSE (NIIMAQ_INCLUDE_DIR AND NIIMAQ_LIBRARIES) - SET(NIIMAQ_FIND_QUIETLY FALSE) -ENDIF (NIIMAQ_INCLUDE_DIR AND NIIMAQ_LIBRARIES) +if (NOT NIIMAQ_DIR) + # 32-bit dir on win32 + file(TO_CMAKE_PATH "$ENV{ProgramFiles}" _PROG_FILES) + # 32-bit dir on win64 + file(TO_CMAKE_PATH "$ENV{ProgramFiles(x86)}" _PROG_FILES_X86) + # 64-bit dir on win64 + file(TO_CMAKE_PATH "$ENV{ProgramW6432}" _PROG_FILES_W6432) + + # NI puts 64-bit lib in 32-bit Program Files directory + if (_PROG_FILES_X86) + set(_PROGFILESDIR "${_PROG_FILES_X86}") + else () + set(_PROGFILESDIR "${_PROG_FILES}") + endif () -IF (NOT NIIMAQ_DIR) - SET (NIIMAQ_DIR "C:/Program Files/National Instruments" CACHE PATH "Directory containing NI includes and libraries") -ENDIF (NOT NIIMAQ_DIR) + set(NIIMAQ_DIR "${_PROGFILESDIR}/National Instruments" CACHE PATH "Top level National Instruments directory") +endif (NOT NIIMAQ_DIR) -FIND_PATH (NIIMAQ_INCLUDE_DIR niimaq.h +find_path(NIIMAQ_INCLUDE_DIR niimaq.h PATHS "${NIIMAQ_DIR}/Shared/ExternalCompilerSupport/C/Include" DOC "Directory containing niimaq.h include file") -FIND_LIBRARY (NIIMAQ_LIBRARIES NAMES imaq - PATHS - "${NIIMAQ_DIR}/Shared/ExternalCompilerSupport/C/Lib32/MSVC" - DOC "niimaq library to link with") +if (CMAKE_SIZEOF_VOID_P MATCHES "8") + find_library(NIIMAQ_LIBRARIES NAMES imaq + PATHS + "${NIIMAQ_DIR}/Shared/ExternalCompilerSupport/C/Lib64/MSVC" + DOC "niimaq library to link with") +else () + find_library(NIIMAQ_LIBRARIES NAMES imaq + PATHS + "${NIIMAQ_DIR}/Shared/ExternalCompilerSupport/C/Lib32/MSVC" + DOC "niimaq library to link with") +endif () -IF (NIIMAQ_INCLUDE_DIR) - #MESSAGE(STATUS "DEBUG: Found NI-IMAQ include dir: ${NIIMAQ_INCLUDE_DIR}") -ELSE (NIIMAQ_INCLUDE_DIR) - MESSAGE(STATUS "NI-IMAQ: WARNING: include dir not found") -ENDIF (NIIMAQ_INCLUDE_DIR) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(NIIMAQ DEFAULT_MSG NIIMAQ_INCLUDE_DIR NIIMAQ_LIBRARIES) -IF (NIIMAQ_LIBRARIES) - #MESSAGE(STATUS "DEBUG: Found NI-IMAQ library: ${NIIMAQ_LIBRARIES}") -ELSE (NIIMAQ_LIBRARIES) - MESSAGE(STATUS "NI-IMAQ: WARNING: library not found") -ENDIF (NIIMAQ_LIBRARIES) - -INCLUDE (FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS (NIIMAQ DEFAULT_MSG NIIMAQ_INCLUDE_DIR NIIMAQ_LIBRARIES) - -MARK_AS_ADVANCED(NIIMAQ_INCLUDE_DIR NIIMAQ_LIBRARIES) \ No newline at end of file +mark_as_advanced(NIIMAQ_INCLUDE_DIR NIIMAQ_LIBRARIES) \ No newline at end of file diff --git a/cmake/modules/FindXCLIB.cmake b/cmake/modules/FindXCLIB.cmake index b30b1b3..daa309f 100644 --- a/cmake/modules/FindXCLIB.cmake +++ b/cmake/modules/FindXCLIB.cmake @@ -8,50 +8,59 @@ # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. -# TODO: properly handle 32-/64-bit differences, and Linux +# TODO: properly handle Linux -IF (XCLIB_INCLUDE_DIR AND XCLIB_LIBRARIES) - # in cache already - SET(XCLIB_FIND_QUIETLY TRUE) -ELSE (XCLIB_INCLUDE_DIR AND XCLIB_LIBRARIES) - SET(XCLIB_FIND_QUIETLY FALSE) -ENDIF (XCLIB_INCLUDE_DIR AND XCLIB_LIBRARIES) - -IF (NOT XCLIB_DIR) +if (NOT XCLIB_DIR) + # 32-bit dir on win32 file(TO_CMAKE_PATH "$ENV{ProgramFiles}" _PROG_FILES) + # 32-bit dir on win64 file(TO_CMAKE_PATH "$ENV{ProgramFiles(x86)}" _PROG_FILES_X86) - if (_PROG_FILES_X86) - set(_PROGFILESDIR "${_PROG_FILES_X86}") + # 64-bit dir on win64 + file(TO_CMAKE_PATH "$ENV{ProgramW6432}" _PROG_FILES_W6432) + + if (CMAKE_SIZEOF_VOID_P MATCHES "8") + set(_PROGFILESDIR "${_PROG_FILES_W6432}") else () - set(_PROGFILESDIR "${_PROG_FILES}") + if (_PROG_FILES_X86) + set(_PROGFILESDIR "${_PROG_FILES_X86}") + else () + set(_PROGFILESDIR "${_PROG_FILES}") + endif () endif () set (XCLIB_DIR "${_PROGFILESDIR}/EPIX/XCLIB" CACHE PATH "Directory containing EPIX PIXCI XCLIB includes and libraries") -ENDIF (NOT XCLIB_DIR) +endif (NOT XCLIB_DIR) -FIND_PATH (XCLIB_INCLUDE_DIR xcliball.h +find_path (XCLIB_INCLUDE_DIR xcliball.h PATHS "${XCLIB_DIR}" DOC "Directory containing xcliball.h include file") -FIND_LIBRARY (XCLIB_LIBRARIES NAMES XCLIBWNT - PATHS - "${XCLIB_DIR}" - DOC "XCLIB library to link with") +if (CMAKE_SIZEOF_VOID_P MATCHES "8") + find_library (XCLIB_LIBRARIES NAMES XCLIBW64 + PATHS + "${XCLIB_DIR}" + DOC "XCLIB 64-bit library to link with") +else () + find_library (XCLIB_LIBRARIES NAMES XCLIBWNT + PATHS + "${XCLIB_DIR}" + DOC "XCLIB 32-bit library to link with") +endif () -IF (XCLIB_INCLUDE_DIR) - #MESSAGE(STATUS "DEBUG: Found EPIX XCLIB include dir: ${XCLIB_INCLUDE_DIR}") -ELSE (XCLIB_INCLUDE_DIR) - MESSAGE(STATUS "XCLIB: WARNING: include dir not found") -ENDIF (XCLIB_INCLUDE_DIR) +if (XCLIB_INCLUDE_DIR) + #message(STATUS "DEBUG: Found EPIX XCLIB include dir: ${XCLIB_INCLUDE_DIR}") +else (XCLIB_INCLUDE_DIR) + message(STATUS "XCLIB: WARNING: include dir not found") +endif (XCLIB_INCLUDE_DIR) -IF (XCLIB_LIBRARIES) - #MESSAGE(STATUS "DEBUG: Found EPIX XCLIB library: ${XCLIB_LIBRARIES}") -ELSE (XCLIB_LIBRARIES) - MESSAGE(STATUS "XCLIB: WARNING: library not found") -ENDIF (XCLIB_LIBRARIES) +if (XCLIB_LIBRARIES) + #message(STATUS "DEBUG: Found EPIX XCLIB library: ${XCLIB_LIBRARIES}") +else (XCLIB_LIBRARIES) + message(STATUS "XCLIB: WARNING: library not found") +endif (XCLIB_LIBRARIES) -INCLUDE (FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS (XCLIB DEFAULT_MSG XCLIB_INCLUDE_DIR XCLIB_LIBRARIES) +include (FindPackageHandleStandardArgs) +find_package_handle_standard_args (XCLIB DEFAULT_MSG XCLIB_INCLUDE_DIR XCLIB_LIBRARIES) -MARK_AS_ADVANCED(XCLIB_INCLUDE_DIR XCLIB_LIBRARIES) +mark_as_advanced(XCLIB_INCLUDE_DIR XCLIB_LIBRARIES) diff --git a/cmake/modules/MacroFindGStreamerLibrary.cmake b/cmake/modules/MacroFindGStreamerLibrary.cmake index 13b405d..76bc3e1 100644 --- a/cmake/modules/MacroFindGStreamerLibrary.cmake +++ b/cmake/modules/MacroFindGStreamerLibrary.cmake @@ -20,18 +20,24 @@ macro(find_gstreamer_library _name _header _abi_version) pkg_check_modules(PKG_GSTREAMER_${_upper_name} gstreamer-${_lower_name}-${_abi_version}) endif() + if (CMAKE_SIZEOF_VOID_P MATCHES "8") + set(GSTREAMER_ROOT $ENV{GSTREAMER_1_0_ROOT_X86_64}) + else () + set(GSTREAMER_ROOT $ENV{GSTREAMER_1_0_ROOT_X86}) + endif () + find_library(GSTREAMER_${_upper_name}_LIBRARY NAMES gst${_lower_name}-${_abi_version} HINTS ${PKG_GSTREAMER_${_upper_name}_LIBRARY_DIRS} ${PKG_GSTREAMER_${_upper_name}_LIBDIR} - $ENV{GSTREAMER_1_0_ROOT_X86}/lib + ${GSTREAMER_ROOT}/lib ) find_path(GSTREAMER_${_upper_name}_INCLUDE_DIR gst/${_lower_name}/${_header} HINTS ${PKG_GSTREAMER_${_upper_name}_INCLUDE_DIRS} ${PKG_GSTREAMER_${_upper_name}_INCLUDEDIR} - $ENV{GSTREAMER_1_0_ROOT_X86}/include + ${GSTREAMER_ROOT}/include PATH_SUFFIXES gstreamer-${_abi_version} )