X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Fcmake%2Fsrc%2FCMakeLists.txt;h=b19f21ab19f7fa690838577d6c54b1c09143afdc;hb=ef6de90bb5cba0dd1be05f1dec455166e92e6212;hp=cd3f4c5b7fc6a40db11966cabd63295154914a76;hpb=1fbce8c2b617bc62deed228781f163c0359e1c41;p=lyx.git diff --git a/development/cmake/src/CMakeLists.txt b/development/cmake/src/CMakeLists.txt index cd3f4c5b7f..b19f21ab19 100644 --- a/development/cmake/src/CMakeLists.txt +++ b/development/cmake/src/CMakeLists.txt @@ -1,60 +1,137 @@ -project(lyx-${qt_postfix}) - -include_directories(${TOP_SRC_DIR}/src) - -add_subdirectory(frontends) -add_subdirectory(graphics) -add_subdirectory(insets) -add_subdirectory(mathed) -add_subdirectory(support) -#add_subdirectory(tex2lyx) +# This file is part of LyX, the document processor. +# Licence details can be found in the file COPYING. +# +# Copyright (c) 2006, Peter Kümmel, +# +set(_lyx ${PACKAGE_BASE}${PROGRAM_SUFFIX}) +project(${_lyx}) -configure_file(version.C.cmake ${CMAKE_CURRENT_BINARY_DIR}/version.C) +include_directories(${TOP_SRC_DIR}/src) -file(GLOB lyx_sources ${TOP_SRC_DIR}/src/*.C) -file(GLOB lyx_headers ${TOP_SRC_DIR}/src/*.h) +add_subdirectory(frontends) +add_subdirectory(graphics) +add_subdirectory(insets) +add_subdirectory(mathed) +add_subdirectory(support) +add_subdirectory(tex2lyx) +if (UNIX) + add_subdirectory(client) +endif() + +file(GLOB lyx_sources ${TOP_SRC_DIR}/src/${LYX_CPP_FILES}) +file(GLOB moc_files ${TOP_SRC_DIR}/src/${LYX_MOC_FILES}) +list(REMOVE_ITEM lyx_sources ${moc_files} .) +file(GLOB lyx_headers ${TOP_SRC_DIR}/src/${LYX_HPP_FILES}) list(REMOVE_ITEM lyx_sources - ${TOP_SRC_DIR}/src/aspell.C - ${TOP_SRC_DIR}/src/pspell.C - ${TOP_SRC_DIR}/src/ispell.C - ${TOP_SRC_DIR}/src/Variables.C - ${TOP_SRC_DIR}/src/Sectioning.C) - -set( lyx_sources ${lyx_sources} ${CMAKE_CURRENT_BINARY_DIR}/version.C ) - -if(ASPELL_FOUND) + ${TOP_SRC_DIR}/src/EnchantChecker.cpp + ${TOP_SRC_DIR}/src/AspellChecker.cpp + ${TOP_SRC_DIR}/src/HunspellChecker.cpp + ${TOP_SRC_DIR}/src/Variables.cpp + ${TOP_SRC_DIR}/src/Section.cpp + ${TOP_SRC_DIR}/src/lyxcore.cpp) + +if(NOT APPLE) + list(REMOVE_ITEM lyx_sources + ${TOP_SRC_DIR}/src/AppleSpellChecker.cpp) + list(REMOVE_ITEM lyx_headers + ${TOP_SRC_DIR}/src/AppleSpellChecker.h) +endif() + +list(REMOVE_ITEM lyx_headers + ${TOP_SRC_DIR}/src/EnchantChecker.h + ${TOP_SRC_DIR}/src/AspellChecker.h + ${TOP_SRC_DIR}/src/HunspellChecker.h + ${TOP_SRC_DIR}/src/Variables.h + ${TOP_SRC_DIR}/src/Section.h) + +if (HUNSPELL_FOUND) + list(APPEND lyx_sources ${TOP_SRC_DIR}/src/HunspellChecker.cpp) + list(APPEND lyx_headers ${TOP_SRC_DIR}/src/HunspellChecker.h) +endif() + +if (ASPELL_FOUND) include_directories(${ASPELL_INCLUDE_DIR}) - set(lyx_sources ${lyx_sources} ${TOP_SRC_DIR}/src/aspell.C) -endif(ASPELL_FOUND) - - -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -add_executable(lyx-${qt_postfix} - ${lyx_sources} + list(APPEND lyx_sources ${TOP_SRC_DIR}/src/AspellChecker.cpp) + list(APPEND lyx_headers ${TOP_SRC_DIR}/src/AspellChecker.h) +endif() + +if (ENCHANT_FOUND) + include_directories("${ENCHANT_INCLUDE_DIR}") + list(APPEND lyx_sources ${TOP_SRC_DIR}/src/EnchantChecker.cpp) + list(APPEND lyx_headers ${TOP_SRC_DIR}/src/EnchantChecker.h) +endif() + +lyx_automoc(${TOP_SRC_DIR}/src/Compare.cpp) +if (WIN32) + lyx_automoc(${TOP_SRC_DIR}/src/Server.cpp) +endif() + +include_directories(${CMAKE_CURRENT_BINARY_DIR} + ${ZLIB_INCLUDE_DIR} ${QT_INCLUDES}) + +lyx_add_msvc_pch(lyx) + + +if (LYX_MERGE_FILES) + lyx_const_touched_files(_allinone lyx_sources) + set(lyx_sources ${_allinone_files}) +endif() + +if (LYX_VLD) + configure_file(${vld_path}/vld.ini ${CMAKE_CURRENT_BINARY_DIR}/vld.ini COPYONLY) + configure_file(${vld_path}/vld.ini ${CMAKE_CURRENT_BINARY_DIR}/memory_leak_report.txt COPYONLY) + set(vld_files ${CMAKE_CURRENT_BINARY_DIR}/vld.ini ${CMAKE_CURRENT_BINARY_DIR}/memory_leak_report.txt) +endif() + +if(WIN32) + set(FILE_RC ${CMAKE_SOURCE_DIR}/lyx.rc) + message(STATUS "Using icon defined in resource file: ${FILE_RC}") +endif() + +add_executable(${_lyx} + ${WIN32_CONSOLE} + ${lyx_sources} ${lyx_headers} - ${CMAKE_CURRENT_BINARY_DIR}/version.C - ) + ${vld_files} + ${FILE_RC} +) + +lyx_add_gcc_pch(${_lyx}) -target_link_libraries(lyx-${qt_postfix} +target_link_libraries(${_lyx} mathed insets frontends - frontend_${qt_postfix} + frontend_qt4 graphics support - intl + ${LIBINTL_LIBRARIES} + ${ICONV_LIBRARY} ${QT_QTMAIN_LIBRARY} - boost_iostreams -) - - -if(ASPELL_FOUND) - target_link_libraries(lyx-${qt_postfix} ${ASPELL_LIBRARY}) -endif(ASPELL_FOUND) + ${vld_dll}) + +if (HUNSPELL_FOUND) + target_link_libraries(${_lyx} ${HUNSPELL_LIBRARY}) +endif() +if (ASPELL_FOUND) + target_link_libraries(${_lyx} ${ASPELL_LIBRARY}) +endif() +if (ENCHANT_FOUND) + target_link_libraries(${_lyx} ${ENCHANT_LIBRARY}) +endif() + +if (APPLE) + target_link_libraries(${_lyx} "-bind_at_load") + target_link_libraries(${_lyx} "-framework Carbon") +endif() + +if (MINGW) + target_link_libraries(${_lyx} ole32) +endif() project_source_group("${GROUP_CODE}" lyx_sources lyx_headers) +install(TARGETS ${_lyx} DESTINATION bin)