X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Fcmake%2Fsrc%2FCMakeLists.txt;h=b19f21ab19f7fa690838577d6c54b1c09143afdc;hb=ef6de90bb5cba0dd1be05f1dec455166e92e6212;hp=a88331af4864a54a628494cdaa6c26e66e321f8a;hpb=5e1404b1f7c705c01251562db9aee3bb90bfdb74;p=lyx.git diff --git a/development/cmake/src/CMakeLists.txt b/development/cmake/src/CMakeLists.txt index a88331af48..b19f21ab19 100644 --- a/development/cmake/src/CMakeLists.txt +++ b/development/cmake/src/CMakeLists.txt @@ -4,76 +4,134 @@ # Copyright (c) 2006, Peter Kümmel, # -project(lyx-${qt_postfix}) +set(_lyx ${PACKAGE_BASE}${PROGRAM_SUFFIX}) +project(${_lyx}) include_directories(${TOP_SRC_DIR}/src) -add_subdirectory(frontends) -add_subdirectory(graphics) -add_subdirectory(insets) -add_subdirectory(mathed) -add_subdirectory(support) -if(NOT MERGE_FILES) - add_subdirectory(tex2lyx) -endif(NOT MERGE_FILES) - - -configure_file(${TOP_SRC_DIR}/src/version.C.in ${CMAKE_CURRENT_BINARY_DIR}/version.C) +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) - -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) + 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() -include_directories(${CMAKE_CURRENT_BINARY_DIR}) +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(NOT MERGE_FILES) - set(lyx_sources ${lyx_sources} ${CMAKE_CURRENT_BINARY_DIR}/version.C) -else(NOT MERGE_FILES) +if (LYX_MERGE_FILES) lyx_const_touched_files(_allinone lyx_sources) - set(lyx_sources ${_allinone_files} ${CMAKE_CURRENT_BINARY_DIR}/version.C - ) -endif(NOT MERGE_FILES) + 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-${qt_postfix} +add_executable(${_lyx} ${WIN32_CONSOLE} - ${lyx_sources} + ${lyx_sources} ${lyx_headers} - ) + ${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) - -if(APPLE) - target_link_libraries(lyx-${qt_postfix} "-bind_at_load" ) - target_link_libraries(lyx-${qt_postfix} "-framework Carbon" ) -endif(APPLE) + ${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) +