1 # This file is part of LyX, the document processor.
2 # Licence details can be found in the file COPYING.
4 # Copyright (c) 2006-2011 Peter Kümmel, <syntheticpp@gmx.net>
9 file(GLOB support_sources ${TOP_SRC_DIR}/src/support/${LYX_CPP_FILES})
10 file(GLOB moc_files ${TOP_SRC_DIR}/src/support/${LYX_MOC_FILES})
11 list(REMOVE_ITEM support_sources ${moc_files} .)
13 list(APPEND dont_merge ${TOP_SRC_DIR}/src/support/AppleSpeller.m)
14 list(APPEND dont_merge ${TOP_SRC_DIR}/src/support/AppleScript.m)
16 list(REMOVE_ITEM support_sources "${TOP_SRC_DIR}/src/support/AppleScriptProxy.cpp")
19 file(GLOB support_headers ${TOP_SRC_DIR}/src/support/${LYX_HPP_FILES})
21 file(GLOB support_mythes_sources ${TOP_SRC_DIR}/src/support/mythes/*.cxx)
22 file(GLOB support_mythes_headers ${TOP_SRC_DIR}/src/support/mythes/*.hxx)
24 file(GLOB support_linkback_sources ${TOP_SRC_DIR}/src/support/linkback/*.m*)
25 file(GLOB support_linkback_headers ${TOP_SRC_DIR}/src/support/linkback/*.h)
27 set_source_files_properties(${support_linkback_sources}
28 ${TOP_SRC_DIR}/src/support/AppleSpeller.m
29 ${TOP_SRC_DIR}/src/support/AppleScript.m
30 PROPERTIES COMPILE_FLAGS "-std=c99")
32 list(REMOVE_ITEM support_sources
33 ${TOP_SRC_DIR}/src/support/os_win32.cpp
34 ${TOP_SRC_DIR}/src/support/os_unix.cpp
35 ${TOP_SRC_DIR}/src/support/os_cygwin.cpp
36 ${TOP_SRC_DIR}/src/support/os_os2.C
37 ${TOP_SRC_DIR}/src/support/gettext.cpp)
38 if(NOT STD_STRING_USES_COW)
39 list(REMOVE_ITEM support_sources ${TOP_SRC_DIR}/src/support/trivstring.cpp)
43 message(STATUS "Mac LinkBack support")
45 set(support_linkback_sources "")
46 set(support_linkback_headers "")
49 add_subdirectory(tests)
51 # needed to compile tex2lyx in merged mode
52 set(dont_merge ${dont_merge} ${TOP_SRC_DIR}/src/support/gettext.cpp)
54 lyx_add_msvc_pch(support)
56 lyx_automoc(${support_sources})
59 ${TOP_SRC_DIR}/src/support
60 ${TOP_BINARY_DIR}/src/support
61 ${TOP_SRC_DIR}/src/support/mythes
67 if(NOT LYX_MERGE_FILES)
68 set(support_sources ${support_sources} ${support_mythes_sources} ${support_linkback_sources})
69 set(support_headers ${support_headers} ${support_mythes_headers} ${support_linkback_headers})
70 add_library(support ${library_type} ${support_sources} ${support_headers} ${dont_merge})
72 # GCC bug: gcc resolves ::bind as boost::bind
73 set(support_separate ${TOP_SRC_DIR}/src/support/socktools.cpp ${TOP_SRC_DIR}/src/support/Messages.cpp)
74 list(REMOVE_ITEM support_sources ${support_separate})
75 lyx_const_touched_files(_allinone support_sources)
76 set(depends_moc ${support_headers})
77 set_source_files_properties(_allinone_const.C
78 PROPERTIES OBJECT_DEPENDS "${depends_moc}")
79 set_source_files_properties(_allinone_touched.C
80 PROPERTIES OBJECT_DEPENDS "${depends_moc}")
81 add_library(support ${library_type} ${_allinone_files} ${support_separate}
82 ${support_mythes_sources} ${support_linkback_sources} ${support_headers} ${dont_merge})
84 set_target_properties(support PROPERTIES FOLDER "applications/LyX")
86 qt_use_modules(support Core Gui)
88 target_link_libraries(support ${Lyx_Boost_Libraries} ${QT_QTCORE_LIBRARY} ${ZLIB_LIBRARY})
90 lyx_add_gcc_pch(support)
93 target_link_libraries(support "objc" "-framework AppKit" "-framework CoreFoundation")
94 if(CMAKE_COMPILER_IS_GNUCXX)
95 set_source_files_properties(${support_sources} PROPERTIES COMPILE_FLAGS "-fobjc-exceptions")
98 target_link_libraries(support shlwapi psapi)
101 project_source_group("${GROUP_CODE}" support_sources support_headers)