From 22ca7acb81ef495c5b4fefb4536aa147544fff38 Mon Sep 17 00:00:00 2001 From: Lukas W Date: Wed, 15 Jan 2014 17:17:29 +0100 Subject: [PATCH] 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. --- CMakeLists.txt | 22 ++++------------------ cmake/modules/FindWine.cmake | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 18 deletions(-) create mode 100644 cmake/modules/FindWine.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index dba9a52b7..8cf175850 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/cmake/modules/FindWine.cmake b/cmake/modules/FindWine.cmake new file mode 100644 index 000000000..0a349cb25 --- /dev/null +++ b/cmake/modules/FindWine.cmake @@ -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)