From: Peter Kümmel Date: Sun, 18 Jul 2010 06:47:01 +0000 (+0000) Subject: cmake: split out FindHunspell.cmake X-Git-Tag: 2.0.0~2940 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=9060f01aa8c9556004f08fcb091041f679464a0c;p=features.git cmake: split out FindHunspell.cmake git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34961 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/development/cmake/CMakeLists.txt b/development/cmake/CMakeLists.txt index 159e7b631c..7bd742d58f 100644 --- a/development/cmake/CMakeLists.txt +++ b/development/cmake/CMakeLists.txt @@ -38,6 +38,7 @@ LYX_OPTION(NLS "Use nls" OFF ALL) LYX_OPTION(ASPELL "Require aspell" OFF ALL) LYX_OPTION(AIKSAURUS "Require Aiksaurus" OFF ALL) LYX_OPTION(ENCHANT "Require Enchant" OFF ALL) +LYX_OPTION(HUNSPELL "Require Hunspell" OFF ALL) LYX_OPTION(DEBUG "Build debug version" OFF ALL) LYX_OPTION(RELEASE "Build release version" ON ALL) LYX_OPTION(PROFILE "Build profile version" OFF GCC) @@ -64,6 +65,9 @@ if(LYX_INSTALL) set(LYX_NLS ON CACHE BOOL "Nls option" FORCE) set(LYX_ASPELL ON CACHE BOOL "Aspell option" FORCE) set(LYX_AIKSAURUS ON CACHE BOOL "Aiksaurus option" FORCE) + if (WIN32) + set(LYX_HUNSPELL ON CACHE BOOL "Hunspell option" FORCE) + endif() set(LYX_NO_CONSOLE ON CACHE BOOL "No console option" FORCE) set(LYX_PACKAGE_SUFFIX ON CACHE BOOL "Package suffix option" FORCE) set(LYX_RELEASE ON CACHE BOOL "Release option" FORCE) @@ -261,6 +265,10 @@ if(LYX_ENCHANT) include_directories(${ENCHANT_INCLUDE_DIR}) endif() +if(LYX_HUNSPELL) + find_package(Hunspell REQUIRED) + include_directories(${HUNSPELL_INCLUDE_DIR}) +endif() if(LYX_USE_EXTERNAL_LIBINTL) find_package(Libintl REQUIRED) @@ -268,23 +276,6 @@ if(LYX_USE_EXTERNAL_LIBINTL) endif() -#TODO move to FindHunstall.cmake -if(WIN32) - find_library(HUNSPELL_LIBRARY "libhunspell") -else() - #find_library(HUNSPELL_LIBRARY NAME "hunspell" PATH "/usr/local/lib" "/usr/lib" NO_DEFAULT_PATH) - find_library(HUNSPELL_LIBRARY NAMES "hunspell" "hunspell-1.2" PATHS "/usr/local/lib" "/usr/lib" "/usr/lib64") -endif() -if (HUNSPELL_LIBRARY) - find_file(HUNSPELL_FOUND "hunspell/hunspell.hxx") -endif() -if (HUNSPELL_FOUND) - add_definitions(-DUSE_HUNSPELL=1) - message(STATUS "Building with USE_HUNSPELL") -else() - message(STATUS "Hunspell not found, building without hunspell support") -endif() - if(LYX_NLS) diff --git a/development/cmake/config.h.cmake b/development/cmake/config.h.cmake index f9ae04b39e..8e5768f12a 100644 --- a/development/cmake/config.h.cmake +++ b/development/cmake/config.h.cmake @@ -61,6 +61,10 @@ #define USE_ENCHANT 1 #endif +#cmakedefine HUNSPELL_FOUND 1 +#ifdef HUNSPELL_FOUND +#define USE_HUNSPELL 1 +#endif diff --git a/development/cmake/modules/FindASPELL.cmake b/development/cmake/modules/FindASPELL.cmake index c62a09a9c7..3df73f1afd 100644 --- a/development/cmake/modules/FindASPELL.cmake +++ b/development/cmake/modules/FindASPELL.cmake @@ -105,4 +105,4 @@ else() endif() endif() -MARK_AS_ADVANCED(ASPELL_INCLUDE_DIR ASPELL_LIBRARY) +MARK_AS_ADVANCED(ASPELL_INCLUDE_DIR ASPELL_LIBRARY ASPELL_LIBRARY_RELEASE ASPELL_LIBRARY_DEBUG) diff --git a/development/cmake/modules/FindHunspell.cmake b/development/cmake/modules/FindHunspell.cmake new file mode 100644 index 0000000000..452da83d99 --- /dev/null +++ b/development/cmake/modules/FindHunspell.cmake @@ -0,0 +1,21 @@ + +if(WIN32) + find_library(HUNSPELL_LIBRARY "libhunspell") +else() + #find_library(HUNSPELL_LIBRARY NAME "hunspell" PATH "/usr/local/lib" "/usr/lib" NO_DEFAULT_PATH) + find_library(HUNSPELL_LIBRARY NAMES "hunspell" "hunspell-1.2" PATHS "/usr/local/lib" "/usr/lib" "/usr/lib64") +endif() + +FIND_PATH(HUNSPELL_INCLUDE_DIR "hunspell/hunspell.hxx") + + +# handle the QUIETLY and REQUIRED arguments and +# set HUNSPELL_FOUND to TRUE if all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(HUNSPELL DEFAULT_MSG HUNSPELL_LIBRARY HUNSPELL_INCLUDE_DIR) + +if(HUNSPELL_FIND_REQUIRED AND NOT HUNSPELL_FOUND) + message(FATAL_ERROR "Could not find Hunspell library") +endif() + +mark_as_advanced(HUNSPELL_LIBRARY HUNSPELL_INCLUDE_DIR)