4 set(LIBCOLORER_TREE "${CMAKE_CURRENT_SOURCE_DIR}/src/Colorer-library/src")
6 include(src/Colorer-library/cmake/utils.cmake)
8 colorer_extract_version()
9 message(STATUS "Build Colorer: ${COLORER_VERSION}")
12 src/pcolorer2/ChooseTypeMenu.h
13 src/pcolorer2/ConsoleAnnotation.h
14 src/pcolorer2/FarEditor.h
15 src/pcolorer2/FarEditorSet.h
16 src/pcolorer2/FarHrcSettings.h
17 src/pcolorer2/pcolorer.h
18 src/pcolorer2/resource.h
19 src/pcolorer2/StringBuffer.h
21 src/pcolorer2/ChooseTypeMenu.cpp
22 src/pcolorer2/FarEditor.cpp
23 src/pcolorer2/FarEditorSet.cpp
24 src/pcolorer2/FarHrcSettings.cpp
25 src/pcolorer2/pcolorer.cpp
26 src/pcolorer2/StringBuffer.cpp
27 src/pcolorer2/tools.cpp
32 FIND_PACKAGE(Spdlog REQUIRED)
35 SPDLOG_DISABLE_TID_CACHING
40 if (NOT EXISTS "${SPDLOG_INCLUDE_DIR}/spdlog/fmt/bundled")
44 SPDLOG_FMT_EXTERNAL=ON
46 message("SPDLOG: using with SPDLOG_FMT_EXTERNAL cuz FMT installed but ${SPDLOG_INCLUDE_DIR}/spdlog/fmt/bundled is missing")
48 message("SPDLOG: using without forced SPDLOG_FMT_EXTERNAL cuz FMT NOT installed")
51 message("SPDLOG: using without forced SPDLOG_FMT_EXTERNAL cuz ${SPDLOG_INCLUDE_DIR}/spdlog/fmt/bundled exists")
56 add_library(colorer MODULE ${SOURCES})
58 FIND_PACKAGE(XercesC REQUIRED)
60 # sometimes libstd requires linking to libfmt, sometimes not
61 # so, if libfmt there - lets link to it, if not - then dont care
64 # using fmt_LIBRARY directrly target_link_libraries fails build
65 # so have to copy it into intermediate var but only if fmt_FOUND
67 set(fmt_LIBRARY_OPTIONAL "${fmt_LIBRARY}")
68 # add libfmt package into far2l dependencies if needed
69 IF(PACKAGE_DEPENDENCIES)
70 SET(PACKAGE_DEPENDENCIES "${PACKAGE_DEPENDENCIES}, libfmt${fmt_VERSION_MAJOR}" PARENT_SCOPE)
71 ELSE(PACKAGE_DEPENDENCIES)
72 SET(PACKAGE_DEPENDENCIES "libfmt${fmt_VERSION_MAJOR}" PARENT_SCOPE)
73 ENDIF(PACKAGE_DEPENDENCIES)
75 set(fmt_LIBRARY_OPTIONAL "")
78 target_include_directories(colorer
79 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/Colorer-library/src
80 PUBLIC ${XERCESC_INCLUDE_DIR}
84 target_include_directories(colorer PUBLIC ${SPDLOG_INCLUDE_DIR})
87 target_link_libraries(colorer
89 ${fmt_LIBRARY_OPTIONAL}
95 target_compile_definitions(colorer PUBLIC
103 target_include_directories(colorer PRIVATE ${LIBCOLORER_TREE}/src)
104 target_include_directories(colorer PRIVATE src/pcolorer2)
105 target_include_directories(colorer PRIVATE src)
106 target_include_directories(colorer PRIVATE ../WinPort)
107 target_include_directories(colorer PRIVATE ../far2l/far2sdk)
109 set_target_properties(colorer
111 LIBRARY_OUTPUT_DIRECTORY "${INSTALL_DIR}/Plugins/colorer/plug"
113 SUFFIX ".far-plug-wide")
115 add_custom_command(TARGET colorer POST_BUILD
116 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/configs
117 COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/configs "${INSTALL_DIR}/Plugins/colorer"
120 add_subdirectory("${LIBCOLORER_TREE}" "${CMAKE_BINARY_DIR}/Colorer-library/src")