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