Warning, /education/labplot/src/3rdparty/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 IF (APPLE AND ENABLE_TOUCHBAR)
0002 add_subdirectory(kdmactouchbar)
0003 ENDIF ()
0004
0005 IF (ENABLE_LIBORIGIN AND NOT LIBORIGIN_FOUND)
0006 add_subdirectory(liborigin)
0007 ENDIF ()
0008
0009 IF (BUILD_READSTAT)
0010 include(ExternalProject)
0011
0012 set(build_dir ${CMAKE_BINARY_DIR}/src/3rdparty)
0013 set(install_dir ${build_dir}/install)
0014 file(MAKE_DIRECTORY ${install_dir}/lib)
0015 file(MAKE_DIRECTORY ${install_dir}/include)
0016
0017 set(ext_src ${build_dir}/readstat/src/readstat)
0018 # TODO: find easy (and portable) way to get latest version
0019 # curl -s https://api.github.com/repos/WizardMac/ReadStat/releases/latest | grep 'browser_download_url.*.tar.gz' | cut -d\" -f4
0020 # curl -s https://api.github.com/repos/WizardMac/ReadStat/releases/latest | jq --raw-output '.assets[0] | .browser_download_url'
0021 # execute_process(COMMAND "curl -s https://api.github.com/repos/WizardMac/ReadStat/releases/latest | jq --raw-output '.assets[0] | .browser_download_url'" OUTPUT_VARIABLE ext_url)
0022 set(ext_version "1.1.9")
0023 set(ext_url https://github.com/WizardMac/ReadStat/releases/download/v${ext_version}/readstat-${ext_version}.tar.gz)
0024 #if(WIN32) # not used (own version on Windows)
0025 # set(ext_url http://sourceforge.net/projects/kst/files/3rdparty/zlib-develop-mingw-fixed.zip)
0026 # set(ext_configure cmake ${ext_src} ${generator} -DBUILD_SHARED_LIBS=0 ${rc_compiler} ${install_prefix} ${build_type})
0027 # set(ext_install ${install_target})
0028 # set(ext_insource OFF )
0029 # set(zlib_library libzlibstatic.a)
0030 # set(ext_make ${kst_make_program})
0031 #else()
0032
0033 # --prefix=${install_dir} does not work with spaces
0034 set(ext_configure ${ext_src}/configure --enable-static --disable-shared)
0035 set(ext_insource ON)
0036 #set(ext_make ${CMAKE_MAKE_PROGRAM} CXXFLAGS=-fPIC CFLAGS=-fPIC)
0037
0038 set(readstat_library libreadstat.a)
0039 #endif()
0040 ExternalProject_Add(3rdparty_readstat
0041 PREFIX ${build_dir}/readstat
0042 URL ${ext_url}
0043 SOURCE_DIR ${ext_src}
0044 CONFIGURE_COMMAND ${ext_configure}
0045 BUILD_IN_SOURCE ${ext_insource}
0046 #BUILD_COMMAND ${ext_make}
0047 # libtool install does not work with spaces
0048 #INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
0049 INSTALL_COMMAND cp -av .libs/${readstat_library} ${install_dir}/lib/ && cp -av src/readstat.h ${install_dir}/include/
0050 BUILD_BYPRODUCTS ${install_dir}/lib/${readstat_library}
0051 )
0052 ENDIF ()
0053
0054 IF (BUILD_QXLSX)
0055 set(BUILD_SHARED_LIBS OFF)
0056 add_subdirectory(QXlsx)
0057 ENDIF ()
0058
0059 # preview.sty
0060 install(FILES preview.sty DESTINATION ${KDE_INSTALL_DATADIR}/${PROJECT_NAME}/latex)
0061
0062 Include(FetchContent)
0063
0064 ### Vector BLF ###############################
0065 FIND_PACKAGE(PkgConfig REQUIRED)
0066 # git download is not allowed on all system (set to ON if needed)
0067 option(LOCAL_DBC_PARSER "Use local build of dbc parser" OFF)
0068 option(LOCAL_VECTOR_BLF "Use local build of Vector BLF" OFF)
0069 if (ENABLE_VECTOR_BLF)
0070 set(OPTION_RUN_DOXYGEN OFF CACHE BOOL "" FORCE) # disable running doxygen
0071 if (${LOCAL_DBC_PARSER})
0072 FetchContent_Declare(
0073 dbc_parser_cpp
0074 GIT_REPOSITORY https://github.com/LinuxDevon/dbc_parser_cpp.git
0075 GIT_TAG 0f3b22b3fe124976a86a85fcd1bfdd55c20ca428 # At least this version is needed!
0076 )
0077 # fix missing variable and keyword for fast_float
0078 IF (NOT MSVC_FOUND)
0079 add_definitions (-DFASTFLOAT_VISUAL_STUDIO=0)
0080 add_definitions (-D__forceinline=inline)
0081 ENDIF ()
0082 # dbc is the root project name
0083 # https://gitlab.kitware.com/cmake/cmake/-/issues/19854
0084 set(CMAKE_PROJECT_dbc_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/dbc_database_parser_disableTests.cmake")
0085 FetchContent_MakeAvailable(dbc_parser_cpp)
0086 # headerfiles of the projects are referring to <libdbc/someheader.h> and therefore
0087 # the path must be added
0088 target_include_directories(labplot2backendlib PUBLIC ${dbc_parser_cpp_SOURCE_DIR}/include)
0089 target_link_libraries(labplot2backendlib dbc)
0090 target_compile_definitions(labplot2backendlib PRIVATE HAVE_DBC_PARSER)
0091 target_compile_definitions(labplot2lib PUBLIC HAVE_DBC_PARSER)
0092 else ()
0093 pkg_check_modules(dbc IMPORTED_TARGET GLOBAL dbc)
0094 if (dbc_FOUND)
0095 target_link_libraries(labplot2backendlib PkgConfig::dbc)
0096 target_compile_definitions(labplot2backendlib PRIVATE HAVE_DBC_PARSER)
0097 target_compile_definitions(labplot2lib PUBLIC HAVE_DBC_PARSER)
0098 endif()
0099 endif()
0100
0101 if (${LOCAL_VECTOR_BLF})
0102 FetchContent_Declare(
0103 vector_blf
0104 #GIT_REPOSITORY https://github.com/Technica-Engineering/vector_blf.git
0105 #GIT_TAG 02f0a2fe1f7915da1e24025869b98f6d15de937b
0106 GIT_REPOSITORY https://github.com/Murmele/vector_blf.git
0107 GIT_TAG 2c1a8e649328f2e06ce4d45c6223628bc39fd178
0108 )
0109 set(CMAKE_PROJECT_Vector_BLF_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/vector_blf_config.cmake")
0110 FetchContent_MakeAvailable(vector_blf)
0111 # headerfiles of the projects are referring to <Vector/BLF/someheader.h> and therefore
0112 # the path must be added
0113 set(CMAKE_SYSTEM_INCLUDE_PATH ${CMAKE_SYSTEM_INCLUDE_PATH}
0114 ${vector_blf_SOURCE_DIR}/src
0115 ${vector_blf_BINARY_DIR}/src) # config.h is in there
0116 target_include_directories(Vector_BLF PUBLIC ${vector_blf_SOURCE_DIR}/src
0117 ${vector_blf_BINARY_DIR}/src) # config.h is in there
0118 target_link_libraries(labplot2backendlib Vector_BLF)
0119 target_compile_definitions(labplot2backendlib PRIVATE HAVE_VECTOR_BLF)
0120 target_compile_definitions(labplot2lib PUBLIC HAVE_VECTOR_BLF)
0121 add_definitions (-DHAVE_VECTOR_BLF)
0122 else()
0123 pkg_check_modules(Vector_BLF IMPORTED_TARGET GLOBAL Vector_BLF)
0124 if (Vector_BLF_FOUND)
0125 target_link_libraries(labplot2backendlib PkgConfig::Vector_BLF)
0126 target_compile_definitions(labplot2backendlib PRIVATE HAVE_VECTOR_BLF)
0127 target_compile_definitions(labplot2lib PUBLIC HAVE_VECTOR_BLF)
0128 add_definitions (-DHAVE_VECTOR_BLF)
0129 endif()
0130 endif()
0131 else()
0132 add_definitions (-DVECTOR_BLF_DISABLED)
0133 endif()
0134
0135 if (LOCAL_QT_ADVANCED_DOCK_DOWNLOAD)
0136 FetchContent_Declare(
0137 qt_advanced_dock
0138 GIT_REPOSITORY https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git
0139 GIT_TAG a940fc29c6d1fbcb5ee1e2fecf86f20bb86a7fb6
0140 )
0141 FetchContent_MakeAvailable(qt_advanced_dock)
0142 elseif(LOCAL_QT_ADVANCED_DOCK_COPY)
0143 # https://cmake.org/cmake/help/latest/variable/CMAKE_PROJECT_INCLUDE.html
0144 set(CMAKE_PROJECT_QtADS_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/QtADS_config.cmake")
0145 set(ADS_VERSION ${LABPLOT_VERSION})
0146 add_subdirectory(Qt-Advanced-Docking-System)
0147 endif()
0148