]> git.lyx.org Git - lyx.git/blobdiff - src/CMakeLists.txt
Update Win installer for new dictionary links. Untested.
[lyx.git] / src / CMakeLists.txt
index 31b5bfd32f68a6ee24fdaadaf2c97eff389c481c..4debde6c16c65e0ab228825de4542834e06426e5 100644 (file)
@@ -1,7 +1,7 @@
 # This file is part of LyX, the document processor.
 # Licence details can be found in the file COPYING.
 #
-# Copyright (c) 2006-2011 Peter Kümmel, <syntheticpp@gmx.net>
+# Copyright (c) 2006-2011 Peter Kmmel, <syntheticpp@gmx.net>
 #
 
 project(${_lyx})
@@ -17,6 +17,9 @@ add_subdirectory(insets)
 add_subdirectory(mathed)
 add_subdirectory(support)
 add_subdirectory(tex2lyx)
+if (APPLE)
+  add_subdirectory(convert)
+endif()
 if (UNIX)
        add_subdirectory(client)
 endif()
@@ -25,8 +28,10 @@ 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})
+set(lyxwrap_sources ${TOP_SRC_DIR}/src/lyxwrap.cpp)
 
 list(REMOVE_ITEM lyx_sources
+       ${TOP_SRC_DIR}/src/lyxwrap.cpp
        ${TOP_SRC_DIR}/src/Variables.cpp
        ${TOP_SRC_DIR}/src/Section.cpp
        ${TOP_SRC_DIR}/src/lyxcore.cpp
@@ -70,7 +75,7 @@ if(WIN32)
 endif()
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR}
-       ${ZLIB_INCLUDE_DIR} ${QT_INCLUDES})
+       ${ZLIB_INCLUDE_DIR} ${ICONV_INCLUDE_DIR} ${QT_INCLUDES})
 
 lyx_add_msvc_pch(lyx)
 
@@ -90,8 +95,10 @@ if (LYX_VLD)
 endif()
 
 if(WIN32 AND NOT MINGW)
-       set(FILE_RC ${TOP_CMAKE_PATH}/lyx.rc)
-       message(STATUS "Using icon defined in resource file: ${FILE_RC}")
+  set(FILE_RC ${TOP_SRC_DIR}/src/lyxwinres.rc)
+  file(COPY ${TOP_SRC_DIR}/development/Win32/packaging/icons/lyx.ico DESTINATION ${CMAKE_BINARY_DIR})
+  file(COPY ${TOP_SRC_DIR}/development/Win32/packaging/icons/lyx_doc.ico DESTINATION ${CMAKE_BINARY_DIR})
+  message(STATUS "Using icon defined in resource file: ${FILE_RC}")
 endif()
 
 lyx_find_info_files(LyXInfoFiles ${TOP_SRC_DIR}/*)
@@ -117,8 +124,10 @@ add_executable(${_lyx}
 
 add_dependencies(${_lyx} lyx_version)
 
-set_target_properties(${_lyx} PROPERTIES FOLDER "applications/LyX")
-
+set_target_properties(${_lyx} PROPERTIES
+  QT_NO_UNICODE_DEFINES TRUE
+       FOLDER "applications/LyX"
+       INTERPROCEDURAL_OPTIMIZATION ${LYX_IPO_SUPPORTED})
 lyx_add_gcc_pch(${_lyx})
 
 target_link_libraries(${_lyx}
@@ -128,11 +137,24 @@ target_link_libraries(${_lyx}
        frontend_qt
        graphics
        support
+       ${MYTHESLIB_LIBRARY}
        ${ICONV_LIBRARY}
-       ${QT_QTMAIN_LIBRARY}
+       ${LYX_QTMAIN_LIBRARY}
        ${vld_dll})
 
-qt_use_modules(${_lyx} Core Gui)
+qt_use_modules(${_lyx} Core Gui ${QtCore5CompatModule})
+
+if(QT_USES_X11)
+  find_package(X11 REQUIRED)
+  target_link_libraries(${_lyx} ${X11_X11_LIB}) # we need it because we use XSendEvent
+  if(HAVE_QT5_X11_EXTRAS)
+    find_library(XCB_LIBRARY NAMES xcb)
+    if (XCB_LIBRARY MATCHES "NOTFOUND")
+      message(FATAL_ERROR "Need xcb library to use with QT5_X11_EXTRAS")
+    endif()
+    target_link_libraries(${_lyx} ${LYX_QT5_X11_EXTRAS_LIBRARY} ${XCB_LIBRARY})
+  endif()
+endif()
 
 lyx_target_link_libraries(${_lyx} HUNSPELL ASPELL ENCHANT Magic)
 
@@ -149,11 +171,15 @@ if(MINGW)
        target_link_libraries(${_lyx} ole32)
 endif()
 
+if(CYGWIN)
+       target_link_libraries(${_lyx} gdi32 shlwapi ole32)
+endif()
+
 project_source_group("${GROUP_CODE}" lyx_sources lyx_headers)
 
-install(TARGETS ${_lyx} 
+install(TARGETS ${_lyx}
     BUNDLE DESTINATION . COMPONENT Runtime
-    RUNTIME DESTINATION bin COMPONENT Runtime)
+    RUNTIME DESTINATION ${LYX_UTILITIES_INSTALL_PATH} COMPONENT Runtime)
 
 if(LYX_BUNDLE)
        if(APPLE)
@@ -173,4 +199,15 @@ if(LYX_BUNDLE)
        endif()
 endif()
 
+set(dowrapper ON) # create and install wrapper for external commands
+foreach(_f ${lyxwrap_sources})
+  if(NOT EXISTS "${_f}")
+    set(dowrapper OFF)
+  endif()
+endforeach()
+if(dowrapper AND USE_POSIX_PACKAGING)
+  add_executable(lyxwrap${PROGRAM_SUFFIX} ${lyxwrap_sources})
+  install(TARGETS lyxwrap${PROGRAM_SUFFIX} DESTINATION ${LYX_UTILITIES_INSTALL_PATH})
+endif()
+
 add_subdirectory(tests)