X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=c15f09852ba082f3cd65c5a3e53491664c1456dc;hb=0eb9477be7998f8d66b4fe5c8948de5a22261e1e;hp=fbf714702ddc4b3e7db552bc37005997e56d559f;hpb=ea7102624c3fabc466d97f1b7ac68fa7543eadd9;p=lyx.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fbf714702d..c15f09852b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,11 +4,13 @@ # Copyright (c) 2006-2011 Peter Kümmel, # -set(_lyx ${PACKAGE_BASE}${PROGRAM_SUFFIX}) project(${_lyx}) include_directories(${TOP_SRC_DIR}/src) +set_property(GLOBAL PROPERTY USE_FOLDERS ON) +set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMakeTargets") + add_subdirectory(frontends) add_subdirectory(graphics) add_subdirectory(insets) @@ -72,11 +74,6 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR} lyx_add_msvc_pch(lyx) -if (LYX_DEVEL_VERSION) - add_definitions(-DDEVEL_VERSION) -endif() - - if (LYX_MERGE_FILES) if(dont_merge) list(REMOVE_ITEM lyx_sources ${dont_merge}) @@ -92,20 +89,20 @@ if (LYX_VLD) lyx_add_info_files(VLD ${vld_files}) endif() -if(WIN32) - set(FILE_RC ${TOP_SRC_DIR}/development/cmake/lyx.rc) +if(WIN32 AND NOT MINGW) + set(FILE_RC ${TOP_CMAKE_PATH}/lyx.rc) message(STATUS "Using icon defined in resource file: ${FILE_RC}") endif() lyx_find_info_files(LyXInfoFiles ${TOP_SRC_DIR}/*) -lyx_find_info_files(LyXCMakeFiles ${TOP_SRC_DIR}/development/cmake/*.txt) -lyx_find_info_files(LyXCMakeFiles ${TOP_SRC_DIR}/development/cmake/*.cmake) -lyx_find_info_files(LyXCMakeFiles ${TOP_SRC_DIR}/development/cmake/*.h) -lyx_find_info_files(LyXCMakeFiles ${TOP_SRC_DIR}/development/cmake/*.msvc) -lyx_find_info_files(LyXCMakeFiles ${TOP_SRC_DIR}/development/cmake/modules/*) +lyx_find_info_files(LyXCMakeFiles ${TOP_CMAKE_PATH}/*.txt) +lyx_find_info_files(LyXCMakeFiles ${TOP_CMAKE_PATH}/*.cmake) +lyx_find_info_files(LyXCMakeFiles ${TOP_CMAKE_PATH}/*.h) +lyx_find_info_files(LyXCMakeFiles ${TOP_CMAKE_PATH}/*.msvc) +lyx_find_info_files(LyXCMakeFiles ${TOP_MODULE_PATH}/*) +lyx_find_info_files(LyXCMakeFiles ${TOP_SCRIPT_PATH}/*) lyx_find_info_files(LyXUiFiles ${TOP_SRC_DIR}/lib/ui/*) - add_executable(${_lyx} ${WIN32_CONSOLE} ${LYX_BUILD_BUNDLE} @@ -115,8 +112,12 @@ add_executable(${_lyx} ${FILE_RC} ${lyx_info_files} ${lyx_cmake_files} + ${OSX_BUNDLE_FILES} ) +add_dependencies(${_lyx} lyx_version) + +set_target_properties(${_lyx} PROPERTIES FOLDER "applications/LyX") lyx_add_gcc_pch(${_lyx}) @@ -124,31 +125,23 @@ target_link_libraries(${_lyx} mathed insets frontends - frontend_qt4 + frontend_qt graphics support - ${LIBINTL_LIBRARIES} ${ICONV_LIBRARY} ${QT_QTMAIN_LIBRARY} ${vld_dll}) +qt_use_modules(${_lyx} Core Gui) -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() +lyx_target_link_libraries(${_lyx} HUNSPELL ASPELL ENCHANT Magic) if(APPLE) target_link_libraries(${_lyx} "-bind_at_load") if(LYX_COCOA) target_link_libraries(${_lyx} "-framework Cocoa") else() - target_link_libraries(${_lyx} "-framework Carbon") + target_link_libraries(${_lyx} "-framework AppKit") endif() endif() @@ -156,20 +149,32 @@ if(MINGW) target_link_libraries(${_lyx} ole32) endif() -project_source_group("${GROUP_CODE}" lyx_sources lyx_headers) +if(CYGWIN) + target_link_libraries(${_lyx} gdi32 shlwapi ole32) +endif() +project_source_group("${GROUP_CODE}" lyx_sources lyx_headers) -install(TARGETS ${_lyx} - RUNTIME DESTINATION bin - BUNDLE DESTINATION .) +install(TARGETS ${_lyx} + BUNDLE DESTINATION . COMPONENT Runtime + RUNTIME DESTINATION bin COMPONENT Runtime) if(LYX_BUNDLE) - if(NOT APPLE) - set(installed_lyx ${CMAKE_INSTALL_PREFIX}/bin/${_lyx}${CMAKE_EXECUTABLE_SUFFIX}) - else() - set(installed_lyx ${CMAKE_INSTALL_PREFIX}/${_lyx}.app) + if(APPLE) + # Now that lyx executable is defined, we can the files that should be included + # directly in the bundle. Note that resources are not copied with this mechanism: + # only the files necessary to run the executable are processed here (LyX.sdef, LyX.icns, etc.) + list(LENGTH OSX_BUNDLE_FILES OSX_BUNDLE_LAST_INDEX) + math(EXPR OSX_BUNDLE_LAST_INDEX "${OSX_BUNDLE_LAST_INDEX} - 1") + foreach(_i RANGE ${OSX_BUNDLE_LAST_INDEX}) + list(GET OSX_BUNDLE_FILES ${_i} _file) + list(GET OSX_BUNDLE_DIRS ${_i} _directory) + # Sets the location of the file into the OS X bundle + set_source_files_properties("${_file}" PROPERTIES MACOSX_PACKAGE_LOCATION "${_directory}") + endforeach() + + set_target_properties(${_lyx} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/../Info.plist") endif() - install(CODE "include(BundleUtilities) - fixup_bundle(\"${installed_lyx}\" \"\" \"\") " COMPONENT RUNTIME) endif() +add_subdirectory(tests)