Amend 8774ad5, Adapt to new hunspell C++ ABI for cmake

Replace CHECK_CXX_SOURCE_COMPILES() with TRY_COMPILE()
Discarding the link-stage mimics the behaviour used by automake.
Now the testsource is compiled regardless if hunspell
is external or not.
This commit is contained in:
Kornel Benko 2018-03-30 14:10:45 +02:00
parent 8774ad51c0
commit 4cfc5bb75d

View File

@ -73,24 +73,30 @@ check_type_size(wchar_t HAVE_WCHAR_T)
check_type_size(wint_t HAVE_WINT_T) check_type_size(wint_t HAVE_WINT_T)
# check whether hunspell C++ (rather than C) ABI is provided # check whether hunspell C++ (rather than C) ABI is provided
if(LYX_EXTERNAL_HUNSPELL) set(HunspellTestFile "${CMAKE_BINARY_DIR}/hunspelltest.cpp")
set(CMAKE_REQUIRED_INCLUDES ${HUNSPELL_INCLUDE_DIR}) file(WRITE "${HunspellTestFile}"
set(CMAKE_REQUIRED_LIBRARIES ${HUNSPELL_LIBRARY}) "
check_cxx_source_compiles( #include <hunspell/hunspell.hxx>
"
#include <hunspell/hunspell.hxx> int main()
int main() {
{ Hunspell sp(\"foo\", \"bar\");
Hunspell sp(\"foo\", \"bar\"); int i = sp.stem(\"test\").size();
int i = sp.stem(\"test\").size(); return(0);
return(0); }
} "
" )
HAVE_HUNSPELL_CXXABI)
else() try_compile(HAVE_HUNSPELL_CXXABI
# Not compiling the 3rdparty source, because ${HUNSPELL_LIBRARY} does not exists yet to link with "${CMAKE_BINARY_DIR}"
set(HAVE_HUNSPELL_CXXABI 1 CACHE BOOL "whether hunspell C++ (rather than C) ABI is provided") "${HunspellTestFile}"
endif() CMAKE_FLAGS
"-DINCLUDE_DIRECTORIES:STRING=${HUNSPELL_INCLUDE_DIR}"
"-DCMAKE_CXX_LINK_EXECUTABLE='${CMAKE_COMMAD} echo not linking now...'"
OUTPUT_VARIABLE LOG2)
message(STATUS "HAVE_HUNSPELL_CXXABI = ${HAVE_HUNSPELL_CXXABI}")
#message(STATUS "LOG2 = ${LOG2}")
#check_cxx_source_compiles( #check_cxx_source_compiles(
# " # "