]> git.lyx.org Git - lyx.git/blobdiff - src/CMakeLists.txt
Provide proper fallback if a bibliography processor is not found
[lyx.git] / src / CMakeLists.txt
index 526f37a556daad3b757160629cb0db558e2ca845..7ec9c83c1861ba3347d9ae23e3fa2a2328bd8a54 100644 (file)
@@ -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,13 @@ if (LYX_VLD)
 endif()
 
 if(WIN32)
-       set(FILE_RC ${TOP_CMAKE_PATH}/lyx.rc)
-       message(STATUS "Using icon defined in resource file: ${FILE_RC}")
+    if (MINGW)
+        set(FILE_RC_COMPILED ${TOP_CMAKE_PATH}/lyx.coff)
+        message(STATUS "Using icon defined in resource file: ${FILE_RC_COMPILED}")
+    else()
+        set(FILE_RC ${TOP_CMAKE_PATH}/lyx.rc)
+        message(STATUS "Using icon defined in resource file: ${FILE_RC}")
+    endif()
 endif()
 
 lyx_find_info_files(LyXInfoFiles ${TOP_SRC_DIR}/*)
@@ -119,34 +129,37 @@ add_dependencies(${_lyx} lyx_version)
 
 set_target_properties(${_lyx} PROPERTIES FOLDER "applications/LyX")
 
-qt_use_modules(${_lyx} Core Gui)
-
 lyx_add_gcc_pch(${_lyx})
 
 target_link_libraries(${_lyx}
        mathed
        insets
        frontends
-       frontend_qt4
+       frontend_qt
        graphics
        support
+       ${FILE_RC_COMPILED}
+       ${MYTHESLIB_LIBRARY}
        ${ICONV_LIBRARY}
-       ${QT_QTMAIN_LIBRARY}
+       ${LYX_QTMAIN_LIBRARY}
        ${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(Magic_FOUND)
-       target_link_libraries(${_lyx} ${Magic_LIBRARY})
+qt_use_modules(${_lyx} Core Gui)
+
+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)
+
 if(APPLE)
        target_link_libraries(${_lyx} "-bind_at_load")
        if(LYX_COCOA)
@@ -160,11 +173,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)
@@ -184,4 +201,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)