-project(lyx-${qt_postfix})
+# This file is part of LyX, the document processor.
+# Licence details can be found in the file COPYING.
+#
+# Copyright (c) 2006, Peter Kümmel, <syntheticpp@gmx.net>
+#
-include_directories(${TOP_SRC_DIR}/src)
-
-add_subdirectory(frontends)
-add_subdirectory(graphics)
-add_subdirectory(insets)
-add_subdirectory(mathed)
-add_subdirectory(support)
-#add_subdirectory(tex2lyx)
+set(_lyx ${PACKAGE_BASE}${PROGRAM_SUFFIX})
+project(${_lyx})
+include_directories(${TOP_SRC_DIR}/src)
-configure_file(version.C.cmake ${CMAKE_CURRENT_BINARY_DIR}/version.C)
-
-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)
-
-source_group("${CODE_GROUP_NAME}" FILES ${lyx_sources} ${lyx_headers})
-
+ ${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)