X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FCMakeLists.txt;h=4debde6c16c65e0ab228825de4542834e06426e5;hb=26ba2a65838731ce639a09539f617cb0f0be3b22;hp=fdd33e790d55ddbdf0384bc9734a98faa4c064cf;hpb=3b14de740df6b5733e65c5d0fe850cb24b1a8cd1;p=lyx.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fdd33e790d..4debde6c16 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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, +# Copyright (c) 2006-2011 Peter K�mmel, # 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,23 +124,38 @@ add_executable(${_lyx} add_dependencies(${_lyx} lyx_version) -set_target_properties(${_lyx} PROPERTIES FOLDER "applications/LyX") - -qt_use_modules(${_lyx} Core Gui) - +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} mathed insets frontends - frontend_qt4 + frontend_qt graphics support + ${MYTHESLIB_LIBRARY} ${ICONV_LIBRARY} - ${QT_QTMAIN_LIBRARY} + ${LYX_QTMAIN_LIBRARY} ${vld_dll}) +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) if(APPLE) @@ -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)