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,12 +73,11 @@ check_type_size(wchar_t HAVE_WCHAR_T)
check_type_size(wint_t HAVE_WINT_T)
# check whether hunspell C++ (rather than C) ABI is provided
if(LYX_EXTERNAL_HUNSPELL)
set(CMAKE_REQUIRED_INCLUDES ${HUNSPELL_INCLUDE_DIR})
set(CMAKE_REQUIRED_LIBRARIES ${HUNSPELL_LIBRARY})
check_cxx_source_compiles(
set(HunspellTestFile "${CMAKE_BINARY_DIR}/hunspelltest.cpp")
file(WRITE "${HunspellTestFile}"
"
#include <hunspell/hunspell.hxx>
int main()
{
Hunspell sp(\"foo\", \"bar\");
@ -86,11 +85,18 @@ if(LYX_EXTERNAL_HUNSPELL)
return(0);
}
"
HAVE_HUNSPELL_CXXABI)
else()
# Not compiling the 3rdparty source, because ${HUNSPELL_LIBRARY} does not exists yet to link with
set(HAVE_HUNSPELL_CXXABI 1 CACHE BOOL "whether hunspell C++ (rather than C) ABI is provided")
endif()
)
try_compile(HAVE_HUNSPELL_CXXABI
"${CMAKE_BINARY_DIR}"
"${HunspellTestFile}"
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(
# "