Add FindWine module and use it in main CMakeLists.txt

Old CheckLibraryExists implementation didn't work on my system.
A find module should be better and also easier to maintain.
This commit is contained in:
Lukas W
2014-01-15 17:17:29 +01:00
parent 26665dde55
commit 22ca7acb81
2 changed files with 23 additions and 18 deletions

View File

@@ -282,27 +282,13 @@ ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE)
# check for WINE
IF(WANT_VST)
INCLUDE(CheckLibraryExists)
INCLUDE(CheckIncludeFileCXX)
SET(CMAKE_REQUIRED_FLAGS_ORIG ${CMAKE_REQUIRED_FLAGS})
SET(CMAKE_REQUIRED_INCLUDES_ORIG ${CMAKE_REQUIRED_INCLUDES})
SET(CMAKE_CXX_COMPILER_ORIG ${CMAKE_CXX_COMPILER})
IF(LMMS_HOST_X86_64)
SET(CMAKE_REQUIRED_FLAGS -m32 ${CMAKE_REQUIRED_FLAGS})
ENDIF(LMMS_HOST_X86_64)
CHECK_LIBRARY_EXISTS(wine wine_init "" HAVE_LIBWINE)
SET(CMAKE_CXX_COMPILER /usr/bin/wineg++)
SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${CMAKE_INSTALL_PREFIX}/include/wine/windows /usr/include/wine/windows)
CHECK_INCLUDE_FILE_CXX(windows.h HAVE_WINDOWS_H)
SET(CMAKE_CXX_COMPILER ${CMAKE_CXX_COMPILER_ORIG})
SET(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_ORIG})
SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_ORIG})
IF(HAVE_LIBWINE AND HAVE_WINDOWS_H)
FIND_PACKAGE(Wine)
IF(WINE_FOUND)
SET(LMMS_SUPPORT_VST TRUE)
SET(STATUS_VST "OK")
ELSE(HAVE_LIBWINE AND HAVE_WINDOWS_H)
ELSE(WINE_FOUND)
SET(STATUS_VST "not found, please install (lib)wine-dev (or similiar) - 64 bit systems additionally need gcc-multilib and g++-multilib")
ENDIF(HAVE_LIBWINE AND HAVE_WINDOWS_H)
ENDIF(WINE_FOUND)
ENDIF(WANT_VST)
IF(LMMS_BUILD_WIN32)
SET(LMMS_SUPPORT_VST TRUE)

View File

@@ -0,0 +1,19 @@
# - Try to find the wine libraries
# Once done this will define
#
# WINE_FOUND - System has wine
# WINE_INCLUDE_DIRS - The wine include directories
# WINE_LIBRARIES - The libraries needed to use wine
# WINE_DEFINITIONS - Compiler switches required for using wine
#
FIND_PATH(WINE_INCLUDE_DIR windows/windows.h PATH_SUFFIXES wine)
FIND_LIBRARY(WINE_LIBRARY NAMES wine)
set(WINE_INCLUDE_DIRS ${WINE_INCLUDE_DIR} )
set(WINE_LIBRARIES ${WINE_LIBRARY} )
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Wine DEFAULT_MSG WINE_LIBRARIES WINE_INCLUDE_DIRS)
mark_as_advanced(WINE_INCLUDE_DIR WINE_LIBRARY)