Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
baa4fdb
feat(core): add cleed core library target
Liam-Deacon Dec 31, 2025
01de438
feat(core): add curve helpers and io stub
Liam-Deacon Dec 31, 2025
1df8013
fix(core): standardize C++ linkage guards
Liam-Deacon Jan 9, 2026
375ff7a
feat(cpp): add cleed++ library
Liam-Deacon Dec 24, 2025
e8b3b4f
fix(cpp): address cleed++ static analysis issues
Liam-Deacon Jan 9, 2026
8920765
fix(cpp): align cleed++ wrappers with C headers
Liam-Deacon Jan 9, 2026
db86d88
fix(rfac): restore modern rfac api
Liam-Deacon Jan 9, 2026
8c9fa87
fix(cpp): align cleed++ bindings and link deps
Liam-Deacon Jan 9, 2026
1239564
fix(docs): convert uppercase TODO to lowercase todo directive
Liam-Deacon Jan 10, 2026
0c01387
fix(rfac): remove NR references and escape Doxygen tag
Liam-Deacon Jan 10, 2026
402a2f1
fix(rfac): escape angle-bracket placeholders for Doxygen
Liam-Deacon Jan 10, 2026
b3edc36
fix(rfac): use HTML entities for Doxygen placeholders
Liam-Deacon Jan 10, 2026
d9a2240
fix(rfac): convert remaining backslash escapes to HTML entities
Liam-Deacon Jan 10, 2026
6b22e01
fix(rfac): simplify Doxygen placeholders to avoid parsing issues
Liam-Deacon Jan 10, 2026
94f5a39
fix(rfac): simplify Doxygen syntax to avoid parser issues
Liam-Deacon Jan 10, 2026
98060d6
fix(build): resolve linker errors on ubuntu/windows CI
Liam-Deacon Jan 10, 2026
34267c7
fix(build): resolve additional linker and Doxygen issues
Liam-Deacon Jan 10, 2026
9afd955
fix(docs): correct LaTeX formula syntax in rflorentz.c Doxygen comments
Liam-Deacon Jan 10, 2026
2438a2e
fix(docs): consolidate multiple retval into single return statements
Liam-Deacon Jan 10, 2026
f71f75c
fix(docs): correct rfac_iv_cur -> rfac_ivcur type reference in Doxygen
Liam-Deacon Jan 10, 2026
4e26a08
fix(docs): use # instead of @ for Doxygen type reference
Liam-Deacon Jan 10, 2026
c6fc91a
fix(docs): correct RFAC_ALLOC_ERROR -> RFAC_ALLOCATION_ERROR in Doxygen
Liam-Deacon Jan 10, 2026
06efe0f
fix(docs): add missing r_fac parameter documentation in rfac_iv_write
Liam-Deacon Jan 10, 2026
5729fdd
fix(docs): add missing de parameter documentation in rfac_ivcur_write
Liam-Deacon Jan 10, 2026
a4ac8e4
fix(docs): correct typo in param syntax [in[ -> [in]
Liam-Deacon Jan 10, 2026
612b8ce
fix(build): use static libs for cleedCore on Windows
Liam-Deacon Jan 10, 2026
2ca1efb
fix(build): use static libs for cleedIO on Windows
Liam-Deacon Jan 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ SET(LICENSE "")
# Project options
OPTION(WITH_PHASESHIFTS "Set to ON to download and integrate PhaseShifts Python package" ON)
OPTION(BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON)
OPTION(BUILD_CPP_BINDINGS "Set to ON to build the experimental C++ library" OFF)
OPTION(USE_OPENMP "Set to OFF to have single threaded executables" ON)
OPTION(WITH_QT "Set to ON to build Qt app frontends" OFF)
OPTION(WITH_OPENCL "Set to ON to enable OpenCL GPGPU support" ON)
Expand Down
52 changes: 52 additions & 0 deletions doc/cpp_bindings.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
.. _cpp_bindings:

************************
C++ Library (cleed++)
************************

Status
======

The ``cleed++`` library is experimental. The ABI and API are not yet guaranteed
stable and may change between releases.

Comment on lines +10 to +12
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Good “experimental ABI/API” warning; consider adding stability expectations for the C ABI boundary.
E.g., explicitly state whether the C ABI is intended to be stable “within a major release” or “best-effort only” to set user expectations.

🤖 Prompt for AI Agents
In @doc/cpp_bindings.rst around lines 10 - 12, The current note says "cleed++
library is experimental" but doesn't specify expectations for the C ABI
boundary; add one clear sentence after the existing paragraph stating whether
the C ABI is intended to be stable (e.g., "The C ABI will be maintained stable
within a major release") or is best-effort only (e.g., "The C ABI is provided as
best-effort and may change between releases"), and mention how stability maps to
semantic versioning (major version bumps may introduce breaking ABI changes);
update the paragraph around the "cleed++" mention to include that explicit C ABI
stability statement so users know what to expect.

Build
=====

Enable the C++ library with ``BUILD_CPP_BINDINGS``:

.. code-block:: console

cmake -S . -B build -DBUILD_CPP_BINDINGS=ON
cmake --build build

This builds:

- ``libcleed++`` (shared)
- ``libcleed++`` (static)
- ``cleedpp_smoke`` (C++ example)

Install layout
==============

When installed, the C++ headers and libraries are placed alongside the C
artifacts:

- Headers: ``include/cleed++``
- Libraries: ``lib``

Comment on lines +16 to +37
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Add an explicit install step + clarify option default and platform naming.
Right now the doc shows configure/build but not install; also “libcleed++ (shared/static)” naming varies by platform/toolchain.

Proposed patch
 Enable the C++ library with ``BUILD_CPP_BINDINGS``:

 .. code-block:: console

    cmake -S . -B build -DBUILD_CPP_BINDINGS=ON
    cmake --build build
+   cmake --install build

+``BUILD_CPP_BINDINGS`` defaults to ``OFF``.
+
 This builds:

 - ``libcleed++`` (shared)
 - ``libcleed++`` (static)
 - ``cleedpp_smoke`` (C++ example)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Enable the C++ library with ``BUILD_CPP_BINDINGS``:
.. code-block:: console
cmake -S . -B build -DBUILD_CPP_BINDINGS=ON
cmake --build build
This builds:
- ``libcleed++`` (shared)
- ``libcleed++`` (static)
- ``cleedpp_smoke`` (C++ example)
Install layout
==============
When installed, the C++ headers and libraries are placed alongside the C
artifacts:
- Headers: ``include/cleed++``
- Libraries: ``lib``
Enable the C++ library with ``BUILD_CPP_BINDINGS``:
.. code-block:: console
cmake -S . -B build -DBUILD_CPP_BINDINGS=ON
cmake --build build
cmake --install build
``BUILD_CPP_BINDINGS`` defaults to ``OFF``.
This builds:
- ``libcleed++`` (shared)
- ``libcleed++`` (static)
- ``cleedpp_smoke`` (C++ example)
Install layout
==============
When installed, the C++ headers and libraries are placed alongside the C
artifacts:
- Headers: ``include/cleed++``
- Libraries: ``lib``

Interop expectations
====================

- Public C headers under ``src/include`` can be included from C++ (they are
wrapped in ``extern "C"`` guards).
- ``cleed++`` currently wraps C data structures directly. Treat the C ABI as
the stable boundary for external bindings until a dedicated facade is
introduced.

Example
=======

``cleedpp_smoke`` demonstrates a minimal link against both the C and C++
libraries.

1 change: 1 addition & 0 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Contents:
introduction
background
environment
cpp_bindings

.. toctree::
:maxdepth: 2
Expand Down
4 changes: 2 additions & 2 deletions doc/manual/part-1/ch01-introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ The data collection is mostly done at normal incidence of the primary electron b
taking care that the :math:`I-V` curves of equivalent spots are identical, normal incidence
conditions can be adjusted within a few tenths of a degree.

.. TODO:: Figure (PDF p9)
.. todo:: Figure (PDF p9)
Rear-view LEED optics schematic.

.. TODO:: Figure (PDF p10)
.. todo:: Figure (PDF p10)
SPA-LEED Faraday cup arrangement.
4 changes: 2 additions & 2 deletions doc/manual/part-1/ch02-leed-pattern.rst
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ This equation also limits the set of observable LEED spots by the condition that
to the surface normal, :math:`\theta = \arctan(k_{\parallel}/k_\perp)`, decreases for each
spot except for the specular spot (0,0) whose position does not change.

.. TODO:: Figure (PDF p13)
.. todo:: Figure (PDF p13)
shows examples of common surface unit cells and the corresponding LEED patterns.

In many cases (adsorption, reconstruction) the periodicity at the surface is larger than
Expand Down Expand Up @@ -120,7 +120,7 @@ Another, less general way is the notation according to Wood [10] where the lengt
applicable in all cases but it is more frequently used than the matrix notation because
it is shorter.

.. TODO:: Figure (PDF p14)
.. todo:: Figure (PDF p14)
shows examples of common superstructures with the corresponding matrix and Wood notations.

2.2 Spot Profile Analysis
Expand Down
6 changes: 3 additions & 3 deletions doc/manual/part-2/ch10-leed-specific-functions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ function calculates the lattice sum (if needed) by calling ``ms_lsum_ii``,
respectively. After multiplying the outgoing wavefunctions (:math:`Y^{+}`) with
:math:`i 8\pi/(|k|A k'_{\perp})`, the reflection and transmission are put together.

.. TODO:: Equation verification screenshots (PDF p27-28):
.. todo:: Equation verification screenshots (PDF p27-28):
.. doc/manual/verify/equations/eq-10-1.png (10.1)
.. doc/manual/verify/equations/eq-10-2-3.png (10.2-10.3)
.. doc/manual/verify/equations/eq-10-4.png (10.4)
Expand All @@ -139,9 +139,9 @@ respectively. After multiplying the outgoing wavefunctions (:math:`Y^{+}`) with
10.3 Multiple scattering: combined space method
-----------------------------------------------

.. TODO:: (PDF p29) The section heading is present but no body text appears on the page.
.. todo:: (PDF p29) The section heading is present but no body text appears on the page.

10.4 Layer Doubling
-------------------

.. TODO:: (PDF p29) The section heading is present but no body text appears on the page.
.. todo:: (PDF p29) The section heading is present but no body text appears on the page.
2 changes: 1 addition & 1 deletion doc/manual/part-2/ch11-quantum-mechanical-functions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ The memory requirements of the list created by ``mk_cg_coef`` are for a given va
* - 16
- 11,673,288

.. TODO:: Equation verification screenshots (PDF p30-31):
.. todo:: Equation verification screenshots (PDF p30-31):
.. doc/manual/verify/equations/eq-11-cg.png (cg integral + allowed values)
.. doc/manual/verify/equations/eq-11-cg-transform.png (cg transformations)
.. doc/manual/verify/equations/eq-11-blm.png (blm integral + allowed values)
Expand Down
6 changes: 6 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,14 @@ IF (BUILD_PATT)
ENDIF()
ADD_SUBDIRECTORY(rfac)
ADD_SUBDIRECTORY(search)
ADD_SUBDIRECTORY(cleed_core)
ADD_SUBDIRECTORY(cleed_io)
ADD_SUBDIRECTORY(scripts)

IF (BUILD_CPP_BINDINGS)
ADD_SUBDIRECTORY(cleed++)
ENDIF()

# optional gui elements
IF (WITH_QT)
ADD_SUBDIRECTORY(latt-gui)
Expand Down
2 changes: 1 addition & 1 deletion src/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
### automake file for csearch ###
# Process this file with automake to produce Makefile.in

SUBDIRS = aoi_leed aoi_rfac debye ftsmooth latt leed_nsym leed_sym mkiv patt rfac search scripts
SUBDIRS = aoi_leed aoi_rfac debye ftsmooth latt leed_nsym leed_sym mkiv patt rfac search cleed_core cleed_io scripts
include_HEADERS = include
106 changes: 106 additions & 0 deletions src/cleed++/.cproject
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.toolchain.gnu.mingw.base.868482903">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.mingw.base.868482903" moduleId="org.eclipse.cdt.core.settings" name="Debug.lib.MinGW">
<externalSettings>
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/c++"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/cleed++"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/c++/Default"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/cleed++/Default"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/cleed++/Debug.lib.MinGW"/>
<entry flags="RESOLVED" kind="libraryFile" name="cleed++" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="" artifactName="cleed++" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib" description="Windows DLL" errorParsers="org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.toolchain.gnu.mingw.base.868482903" name="Debug.lib.MinGW" parent="org.eclipse.cdt.build.core.emptycfg" postannouncebuildStep="" postbuildStep="" preannouncebuildStep="" prebuildStep="">
<folderInfo id="cdt.managedbuild.toolchain.gnu.mingw.base.868482903.474468868" name="/" resourcePath="">
<toolChain errorParsers="" id="cdt.managedbuild.toolchain.gnu.mingw.base.172836607" name="cdt.managedbuild.toolchain.gnu.mingw.base" superClass="cdt.managedbuild.toolchain.gnu.mingw.base" unusedChildren="cdt.managedbuild.tool.gnu.c.compiler.mingw.base">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.PE" id="cdt.managedbuild.target.gnu.platform.mingw.base.1374643539" name="Debug Platform" osList="win32" superClass="cdt.managedbuild.target.gnu.platform.mingw.base"/>
<builder buildPath="${workspace_loc:/c++}/Default" errorParsers="" id="cdt.managedbuild.tool.gnu.builder.mingw.base.747379364" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/>
<tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.101507346" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base">
<option id="gnu.cpp.compiler.option.include.paths.1301976395" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/CLEED/src/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/c++}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/cleed++}&quot;"/>
</option>
<option id="gnu.cpp.compiler.option.dialect.std.1153707105" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.cpp.compiler.dialect.c++11" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.warnings.extrawarn.951690506" name="Extra warnings (-Wextra)" superClass="gnu.cpp.compiler.option.warnings.extrawarn" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="gnu.cpp.compiler.option.warnings.wconversion.2106545867" name="Implicit conversion warnings (-Wconversion)" superClass="gnu.cpp.compiler.option.warnings.wconversion" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.268871018" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
</tool>
<tool command="gcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.c.compiler.base.1697165361" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
<option id="gnu.c.compiler.option.include.paths.23492965" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/cleed++}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.15879203" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool command="g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.base.274172594" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.base">
<option defaultValue="true" id="gnu.cpp.link.option.shared.929989847" name="Shared (-shared)" superClass="gnu.cpp.link.option.shared" valueType="boolean"/>
<option id="gnu.cpp.link.option.paths.1793290489" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths"/>
<option id="gnu.cpp.link.option.libs.630139133" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"/>
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1434789074" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool command="as" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.tool.gnu.assembler.mingw.base.522384027" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.base">
<option id="gnu.both.asm.option.include.paths.73857899" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/cleed++}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/CLEED/src/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/c++}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.912398302" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.base.240056554" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.base">
<option defaultValue="true" id="gnu.c.link.option.shared.1205491668" name="Shared (-shared)" superClass="gnu.c.link.option.shared" valueType="boolean"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.211814820" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="c++.null.635482705" name="c++"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Debug.lib.MinGW"/>
<configuration configurationName="Default">
<resource resourceType="PROJECT" workspacePath="/c++"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.868482903;cdt.managedbuild.toolchain.gnu.mingw.base.868482903.474468868;cdt.managedbuild.tool.gnu.c.compiler.mingw.base.1828847357;cdt.managedbuild.tool.gnu.c.compiler.input.782950281">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.868482903;cdt.managedbuild.toolchain.gnu.mingw.base.868482903.474468868;cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.101507346;cdt.managedbuild.tool.gnu.cpp.compiler.input.268871018">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.868482903;cdt.managedbuild.toolchain.gnu.mingw.base.868482903.474468868;cdt.managedbuild.tool.gnu.c.compiler.base.1697165361;cdt.managedbuild.tool.gnu.c.compiler.input.15879203">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1114281100;cdt.managedbuild.toolchain.gnu.mingw.base.1114281100.240320506;cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.1715693281;cdt.managedbuild.tool.gnu.cpp.compiler.input.665085222">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1114281100;cdt.managedbuild.toolchain.gnu.mingw.base.1114281100.240320506;cdt.managedbuild.tool.gnu.c.compiler.mingw.base.63988771;cdt.managedbuild.tool.gnu.c.compiler.input.1285190638">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
</cproject>
Comment on lines +1 to +106
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Consider excluding IDE-specific metadata from version control.

Eclipse .cproject files contain auto-generated numeric IDs (e.g., 868482903, 474468868) and workspace-relative paths that may not be portable across different developer setups. These files often cause merge conflicts and noise in diffs.

Consider adding these to .gitignore and documenting the required Eclipse project setup separately, or ensure this is intentionally tracked per the follow-up noted in #59 regarding qmake/Eclipse metadata retention.

🤖 Prompt for AI Agents
In @src/cleed++/.cproject around lines 1 - 106, The checked-in Eclipse .cproject
contains IDE-specific, non-portable metadata (auto-generated numeric IDs like
"868482903", "474468868" and workspace paths under entries in the storageModule
elements) that causes noisy diffs and merge conflicts; remove this file from
version control (git rm --cached src/cleed++/.cproject), add
src/cleed++/.cproject to .gitignore, and instead add a short README or docs
entry (referencing the project name C++/cleed++ and the storageModule/toolChain
settings shown) that documents the required Eclipse/qmake project setup and any
retained metadata policy per issue #59; if you must keep a template, replace
numeric IDs and workspace-specific paths with placeholders before committing.

2 changes: 2 additions & 0 deletions src/cleed++/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/Default
/Debug.lib.MinGW
35 changes: 35 additions & 0 deletions src/cleed++/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>cleed++</name>
<comment></comment>
<projects>
<project>aoi_leed</project>
<project>aoi_rfac</project>
<project>ftsmooth</project>
<project>latt</project>
<project>leed_sym</project>
<project>mkiv</project>
<project>patt</project>
<project>search</project>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>
12 changes: 12 additions & 0 deletions src/cleed++/.settings/language.settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="cdt.managedbuild.toolchain.gnu.mingw.base.868482903" name="Debug.lib.MinGW">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(gcc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetectorMinGW" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</extension>
</configuration>
</project>
13 changes: 13 additions & 0 deletions src/cleed++/.settings/org.eclipse.cdt.managedbuilder.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
eclipse.preferences.version=1
environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/CPATH/delimiter=;
environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/CPATH/operation=remove
environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/CPLUS_INCLUDE_PATH/delimiter=;
environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/CPLUS_INCLUDE_PATH/operation=remove
environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/C_INCLUDE_PATH/delimiter=;
environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/C_INCLUDE_PATH/operation=remove
environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/append=true
environment/buildEnvironmentInclude/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/appendContributed=true
environment/buildEnvironmentLibrary/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/LIBRARY_PATH/delimiter=;
environment/buildEnvironmentLibrary/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/LIBRARY_PATH/operation=remove
environment/buildEnvironmentLibrary/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/append=true
environment/buildEnvironmentLibrary/cdt.managedbuild.toolchain.gnu.mingw.base.868482903/appendContributed=true
Loading
Loading