X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FCMakeLists.txt;h=ac0ca1a70fb0cda54d3a79fc1491fb0284b96337;hb=3d4076b598deb18660e50ec9c327efc3b15f15d0;hp=f538d0f6363b04bf8c13241b4b1aaad854ae7f2a;hpb=4e922727e63ed65a5665a7a2f3f5c6bb2df7c72f;p=lyx.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f538d0f636..ac0ca1a70f 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}) @@ -87,37 +84,46 @@ endif() if (LYX_VLD) configure_file(${vld_path}/vld.ini ${CMAKE_CURRENT_BINARY_DIR}/vld.ini COPYONLY) - configure_file(${vld_path}/vld.ini ${CMAKE_CURRENT_BINARY_DIR}/memory_leak_report.txt COPYONLY) + set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/memory_leak_report.txt PROPERTIES GENERATED TRUE) set(vld_files ${CMAKE_CURRENT_BINARY_DIR}/vld.ini ${CMAKE_CURRENT_BINARY_DIR}/memory_leak_report.txt) + lyx_add_info_files(VLD ${vld_files}) endif() if(WIN32) - set(FILE_RC ${TOP_SRC_DIR}/development/cmake/lyx.rc) + 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/*) +if (APPLE AND LYX_BUNDLE) + include(../Install) +endif() + add_executable(${_lyx} ${WIN32_CONSOLE} - ${LYX_BUNDLE} + ${LYX_BUILD_BUNDLE} ${lyx_sources} ${lyx_headers} ${vld_files} ${FILE_RC} ${lyx_info_files} ${lyx_cmake_files} + ${OSX_BUNDLE_FILES} ) -if(LYX_BUNDLE) - set(MACOSX_BUNDLE_STARTUP_COMMAND ${_lyx}) -endif() +add_dependencies(${_lyx} lyx_version) + +set_target_properties(${_lyx} PROPERTIES FOLDER "applications/LyX") + +qt_use_modules(${_lyx} Core Gui) lyx_add_gcc_pch(${_lyx}) @@ -128,12 +134,11 @@ target_link_libraries(${_lyx} frontend_qt4 graphics support - ${LIBINTL_LIBRARIES} + ${intl_link} ${ICONV_LIBRARY} ${QT_QTMAIN_LIBRARY} ${vld_dll}) - if(HUNSPELL_FOUND) target_link_libraries(${_lyx} ${HUNSPELL_LIBRARY}) endif() @@ -143,13 +148,16 @@ endif() if(ENCHANT_FOUND) target_link_libraries(${_lyx} ${ENCHANT_LIBRARY}) endif() +if(Magic_FOUND) + target_link_libraries(${_lyx} ${Magic_LIBRARY}) +endif() 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() @@ -159,10 +167,21 @@ endif() project_source_group("${GROUP_CODE}" lyx_sources lyx_headers) + +install(TARGETS ${_lyx} + RUNTIME DESTINATION bin + BUNDLE DESTINATION .) + if(LYX_BUNDLE) - install(TARGETS ${_lyx} - RUNTIME DESTINATION bin - BUNDLE DESTINATION .) -else() - install(TARGETS ${_lyx} DESTINATION bin) + if(NOT APPLE) + set(installed_lyx ${CMAKE_INSTALL_PREFIX}/bin/${_lyx}${CMAKE_EXECUTABLE_SUFFIX}) + else() + set_target_properties(${_lyx} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/../Info.plist") + set(installed_lyx ${CMAKE_INSTALL_PREFIX}/${_lyx}.app) + set(LYX_BUNDLE_PROPERTY_MODE "ON") + include("../Install") + endif() + install(CODE "include(BundleUtilities) + fixup_bundle(\"${installed_lyx}\" \"\" \"\") " COMPONENT RUNTIME) endif() +