-
Notifications
You must be signed in to change notification settings - Fork 191
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deploying to gh-pages from @ f7cbb1d 🚀
- Loading branch information
Showing
1,259 changed files
with
12,628 additions
and
12,261 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,198 @@ | ||
<!-- HTML header for doxygen 1.9.3--> | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
<html xmlns="http://www.w3.org/1999/xhtml"> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||
<meta http-equiv="X-UA-Compatible" content="IE=11"/> | ||
<meta name="generator" content="Doxygen 1.9.8"/> | ||
<meta name="viewport" content="width=device-width, initial-scale=1"/> | ||
<title>JKQTPlotter: Example (JKQTPlotter): CMake FetchContent Example</title> | ||
<meta name="description" content="an extensive Qt5+Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies"> | ||
<meta name="keywords" lang="en-us" content="C++, C++11, Qt, Qt5, Qt6, Plotting, Plot, Chart, Graph, Qt, Widget, C++, Library, Visualization, charting library, plotting library, scientific visualization, data visualization, statistics, statistical methods, statistics library, LaTeX parser, LaTeX renderer, Qt widget, Qt5 widget, Qt6 widget, Qt charts, Qt plots, barchart, violinplot, boxplot, JKQtPlotter, JKQTMathText, JKQTFastPlotter"> | ||
<meta name="author" content="$author"> | ||
<meta name="copyright" content="(c) 2008-2022 by $author"> | ||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | ||
<script type="text/javascript" src="jquery.js"></script> | ||
<script type="text/javascript" src="dynsections.js"></script> | ||
<link href="navtree.css" rel="stylesheet" type="text/css"/> | ||
<script type="text/javascript" src="resize.js"></script> | ||
<script type="text/javascript" src="navtreedata.js"></script> | ||
<script type="text/javascript" src="navtree.js"></script> | ||
<link href="search/search.css" rel="stylesheet" type="text/css"/> | ||
<script type="text/javascript" src="search/searchdata.js"></script> | ||
<script type="text/javascript" src="search/search.js"></script> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||
$(document).ready(function() { init_search(); }); | ||
/* @license-end */ | ||
</script> | ||
<link href="doxygen.css" rel="stylesheet" type="text/css" /> | ||
<link href="jkqtplotter_stylesheet.css" rel="stylesheet" type="text/css"/> | ||
</head> | ||
<body> | ||
<div id="top"><!-- do not remove this div, it is closed by doxygen! --> | ||
<div id="titlearea"> | ||
<table cellspacing="0" cellpadding="0"> | ||
<tbody> | ||
<tr id="projectrow"> | ||
<td id="projectlogo"><img alt="Logo" src="logo_doxygen.png"/></td> | ||
<td id="projectalign"> | ||
<div id="projectname">JKQTPlotter<span id="projectnumber"> trunk/v5.0.0</span> | ||
</div> | ||
<div id="projectbrief">an extensive Qt5+Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies</div> | ||
</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
</div> | ||
<!-- end header part --> | ||
<!-- Generated by Doxygen 1.9.8 --> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||
var searchBox = new SearchBox("searchBox", "search/",'.html'); | ||
/* @license-end */ | ||
</script> | ||
<div id="navrow1" class="tabs"> | ||
<ul class="tablist"> | ||
<li><a href="index.html"><span>Main Page</span></a></li> | ||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li> | ||
<li><a href="topics.html"><span>Topics</span></a></li> | ||
<li><a href="namespaces.html"><span>Namespaces</span></a></li> | ||
<li><a href="annotated.html"><span>Classes</span></a></li> | ||
<li> | ||
<div id="MSearchBox" class="MSearchBoxInactive"> | ||
<span class="left"> | ||
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </span> | ||
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S" | ||
onfocus="searchBox.OnSearchFieldFocus(true)" | ||
onblur="searchBox.OnSearchFieldFocus(false)" | ||
onkeyup="searchBox.OnSearchFieldChange(event)"/> | ||
</span><span class="right"> | ||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a> | ||
</span> | ||
</div> | ||
</li> | ||
</ul> | ||
</div> | ||
</div><!-- top --> | ||
<div id="side-nav" class="ui-resizable side-nav-resizable"> | ||
<div id="nav-tree"> | ||
<div id="nav-tree-contents"> | ||
<div id="nav-sync" class="sync"></div> | ||
</div> | ||
</div> | ||
<div id="splitbar" style="-moz-user-select:none;" | ||
class="ui-resizable-handle"> | ||
</div> | ||
</div> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||
$(document).ready(function(){initNavTree('_j_k_q_t_c_make_fetch_content_example.html',''); initResizable(); }); | ||
/* @license-end */ | ||
</script> | ||
<div id="doc-content"> | ||
<!-- window showing the filter options --> | ||
<div id="MSearchSelectWindow" | ||
onmouseover="return searchBox.OnSearchSelectShow()" | ||
onmouseout="return searchBox.OnSearchSelectHide()" | ||
onkeydown="return searchBox.OnSearchSelectKey(event)"> | ||
</div> | ||
|
||
<!-- iframe showing the search results (closed by default) --> | ||
<div id="MSearchResultsWindow"> | ||
<div id="MSearchResults"> | ||
<div class="SRPage"> | ||
<div id="SRIndex"> | ||
<div id="SRResults"></div> | ||
<div class="SRStatus" id="Loading">Loading...</div> | ||
<div class="SRStatus" id="Searching">Searching...</div> | ||
<div class="SRStatus" id="NoMatches">No Matches</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
|
||
<div><div class="header"> | ||
<div class="headertitle"><div class="title">Example (JKQTPlotter): CMake FetchContent Example</div></div> | ||
</div><!--header--> | ||
<div class="contents"> | ||
<div class="textblock"><p>This project (see <a href="https://github.com/jkriege2/JKQtPlotter/tree/master/examples/cmake_fetchcontent_example"><code>cmake_fetchcontent_example</code></a> demonstrates how to link against <a class="el" href="class_j_k_q_t_plotter.html" title="plotter widget for scientific plots (uses JKQTBasePlotter to do the actual drawing)">JKQTPlotter</a> using CMake's <a href="https://cmake.org/cmake/help/latest/module/FetchContent.html">FetchContent-API</a>. Also have a look at <a href="https://www.foonathan.net/2022/06/cmake-fetchcontent/">this blog post</a> for a detailed explanation. See <a href="https://jkriege2.github.io/JKQtPlotter/page_buildinstructions__c_m_a_k_e.html">https://jkriege2.github.io/JKQtPlotter/page_buildinstructions__c_m_a_k_e.html</a> for details on how to build <a class="el" href="class_j_k_q_t_plotter.html" title="plotter widget for scientific plots (uses JKQTBasePlotter to do the actual drawing)">JKQTPlotter</a> with CMake</p> | ||
<p>This example uses very simple code, which simply displays a plotter and shows some data. The important part of this example is the <a class="el" href="class_j_k_q_t_p_final_act.html#af964d2f5e77728dfe65e13964ea9b02a">´CMakeLists.txt</a>`-file: </p><div class="fragment"><div class="line"># set minimum required CMake-Version</div> | ||
<div class="line">cmake_minimum_required(VERSION 3.23)</div> | ||
<div class="line"> </div> | ||
<div class="line"># set Project name</div> | ||
<div class="line">project(simpletest_cmake LANGUAGES CXX)</div> | ||
<div class="line"> </div> | ||
<div class="line"># some basic configurations</div> | ||
<div class="line">set(CMAKE_AUTOMOC ON)</div> | ||
<div class="line">set(CMAKE_INCLUDE_CURRENT_DIR ON)</div> | ||
<div class="line"> </div> | ||
<div class="line"># Configure project for usage of Qt5/Qt6</div> | ||
<div class="line">find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGl REQUIRED)</div> | ||
<div class="line">find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGL REQUIRED)</div> | ||
<div class="line"> </div> | ||
<div class="line"> </div> | ||
<div class="line"># include JKQTPlotter via FetchContent-API:</div> | ||
<div class="line"># ... first load the FetchContent-API:</div> | ||
<div class="line">include(FetchContent) # once in the project to include the module</div> | ||
<div class="line"># ... now declare JKQTPlotter5/6</div> | ||
<div class="line">FetchContent_Declare(JKQTPlotter${QT_VERSION_MAJOR}</div> | ||
<div class="line"> GIT_REPOSITORY https://github.com/jkriege2/JKQtPlotter.git</div> | ||
<div class="line"> # GIT_TAG v5.0.0)</div> | ||
<div class="line"># ... finally make JKQTPlotter5/6 available</div> | ||
<div class="line">FetchContent_MakeAvailable(JKQTPlotter${QT_VERSION_MAJOR})</div> | ||
<div class="line"> </div> | ||
<div class="line"># For Visual Studio, we need to set some additional compiler options</div> | ||
<div class="line">if(MSVC)</div> | ||
<div class="line"> add_compile_options(/EHsc)</div> | ||
<div class="line"> # To enable M_PI, M_E,...</div> | ||
<div class="line"> add_definitions(/D_USE_MATH_DEFINES)</div> | ||
<div class="line"> # To Prevent Errors with min() and max()</div> | ||
<div class="line"> add_definitions(/DNOMINMAX)</div> | ||
<div class="line"> # To fix error: C2338: va_start argument must not</div> | ||
<div class="line"> # have reference type and must not be parenthesized</div> | ||
<div class="line"> add_definitions(/D_CRT_NO_VA_START_VALIDATION)</div> | ||
<div class="line">endif()</div> | ||
<div class="line"> </div> | ||
<div class="line"># add the example executable </div> | ||
<div class="line">add_executable(${PROJECT_NAME} WIN32 simpletest.cpp)</div> | ||
<div class="line"># ... link against Qt5/6 and JKQTPlotterLib</div> | ||
<div class="line"># (you could use JKQTPlotterSharedLib if you don't want to link againast the </div> | ||
<div class="line"># static version, but against the shared/DLL version).</div> | ||
<div class="line">target_link_libraries(${PROJECT_NAME} PUBLIC Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::PrintSupport Qt${QT_VERSION_MAJOR}::Svg Qt${QT_VERSION_MAJOR}::Xml)</div> | ||
<div class="line"># ... link against JKQTPlotter: As the Targets contain the Qt-Version-Number in their names, we can</div> | ||
<div class="line"># link against 'JKQTPlotter${QT_VERSION_MAJOR}::JKQTPlotter${QT_VERSION_MAJOR}' and it works</div> | ||
<div class="line"># for Qt5 AND Qt6 ...</div> | ||
<div class="line"># if you have a speific Qt-Version, you can also write e.g. 'JKQTPlotter6::JKQTPlotter6'</div> | ||
<div class="line">target_link_libraries(${PROJECT_NAME} PUBLIC JKQTPlotter${QT_VERSION_MAJOR}::JKQTPlotter${QT_VERSION_MAJOR})</div> | ||
<div class="line"> </div> | ||
<div class="line"> </div> | ||
<div class="line"># Installation</div> | ||
<div class="line">install(TARGETS ${PROJECT_NAME}</div> | ||
<div class="line"> RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}</div> | ||
<div class="line">)</div> | ||
</div><!-- fragment --><p>The important steps here are </p><div class="fragment"><div class="line">include(FetchContent) # once in the project to include the module</div> | ||
<div class="line"># ... now declare JKQTPlotter5/6</div> | ||
<div class="line">FetchContent_Declare(JKQTPlotter${QT_VERSION_MAJOR}</div> | ||
<div class="line"> GIT_REPOSITORY https://github.com/jkriege2/JKQtPlotter.git</div> | ||
<div class="line"> # GIT_TAG v5.0.0)</div> | ||
<div class="line"># ... finally make JKQTPlotter5/6 available</div> | ||
<div class="line">FetchContent_MakeAvailable(JKQTPlotter${QT_VERSION_MAJOR})</div> | ||
</div><!-- fragment --><p>where <a class="el" href="class_j_k_q_t_plotter.html" title="plotter widget for scientific plots (uses JKQTBasePlotter to do the actual drawing)">JKQTPlotter</a> is first declared to the FetchContent-API and then loaded.</p> | ||
<p>To build this example, you first need to make a subdirectory <code>build</code> and then call CMake form that subdirectory: </p><div class="fragment"><div class="line">$ mkdir build</div> | ||
<div class="line">$ cd build</div> | ||
<div class="line">$ cmake .. -G "<GENERATOR>" "-DCMAKE_PREFIX_PATH=<path_to_your_qt_sources>"</div> | ||
<div class="line">cmake --build . --config "Debug"</div> | ||
</div><!-- fragment --><p> In the configure step above, you need to specify the directory <code><path_to_your_qt_sources></code> of yout Qt installation and the <code><GENERATOR></code> appropriate for you use-case. </p> | ||
</div></div><!-- contents --> | ||
</div><!-- PageDoc --> | ||
</div><!-- doc-content --> | ||
<!-- HTML footer for doxygen 1.9.3--> | ||
<!-- start footer part --> | ||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | ||
<ul> | ||
<li class="footer">Generated on Wed Jan 17 2024 19:44:30 for JKQTPlotter by <a href="https://www.doxygen.org/index.html">doxygen</a> 1.9.8 </li> | ||
</ul> | ||
</div> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.