]> git.lyx.org Git - lyx.git/blobdiff - src/CMakeLists.txt
Account for old versions of Pygments
[lyx.git] / src / CMakeLists.txt
index 6b1b5049b25f9008bd5544d3df435b3104f13150..696b0ead2cf000a5622a68fad2d4eae48adefdde 100644 (file)
@@ -11,15 +11,11 @@ include_directories(${TOP_SRC_DIR}/src)
 set_property(GLOBAL PROPERTY USE_FOLDERS ON)
 set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMakeTargets")
 
-# support is the only directory containing objective-c files...
-add_subdirectory(support)
-# ...so we can add all the c++ specific flags after
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LYX_CXX_SPECIFIC_FLAGS}")
-
 add_subdirectory(frontends)
 add_subdirectory(graphics)
 add_subdirectory(insets)
 add_subdirectory(mathed)
+add_subdirectory(support)
 add_subdirectory(tex2lyx)
 if (UNIX)
        add_subdirectory(client)
@@ -29,8 +25,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
@@ -74,7 +72,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)
 
@@ -93,7 +91,7 @@ if (LYX_VLD)
        lyx_add_info_files(VLD ${vld_files})
 endif()
 
-if(WIN32)
+if(WIN32 AND NOT MINGW)
        set(FILE_RC ${TOP_CMAKE_PATH}/lyx.rc)
        message(STATUS "Using icon defined in resource file: ${FILE_RC}")
 endif()
@@ -123,34 +121,36 @@ 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
+       ${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)
@@ -164,11 +164,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} 
     BUNDLE DESTINATION . COMPONENT Runtime
-    RUNTIME DESTINATION bin COMPONENT Runtime)
+    RUNTIME DESTINATION ${LYX_UTILITIES_INSTALL_PATH} COMPONENT Runtime)
 
 if(LYX_BUNDLE)
        if(APPLE)
@@ -188,4 +192,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)