-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
82 lines (70 loc) · 4.25 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
cmake_minimum_required(VERSION 3.16)
cmake_policy(SET CMP0054 NEW)
set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS 1 CACHE INTERNAL "No dev warnings")
project(PhysicsFormula)
# add python module
find_package(Python3 COMPONENTS Interpreter Development)
set(CMAKE_CXX_STANDARD 20)
# create a flag to enable/disable the use of the boost library
option(USE_BOOST "Use Boost" OFF)
#if(EXISTS "E:/Program Files/vcpkg/scripts/buildsystems/vcpkg.cmake")
# set(DMAKE_TOOLCHAIN_FILE "E:/Program Files/vcpkg/scripts/buildsystems/vcpkg.cmake")
#else()
# set(DMAKE_TOOLCHAIN_FILE "D:/src/vcpkg/scripts/buildsystems/vcpkg.cmake")
# # turn on the use of the boost library
# set(USE_BOOST ON)
#endif()
add_executable(PhysicsFormula testFactory.cpp Angle.h AtomicPhysics.h
BinarySearchTree.h BinarySpacePartition.h Boundries.h Bounds.h Circle.h
Circuits.h Cone.h Convexhull.h Core.h Cube.h Cylinder.h Distance.h
Drag.h Forces.h Elasticity.h ElectricCharge.h ElectricCurrent.h
ElectricPotential.h ElectroMagneticInduction.h ElectroMagneticWaves.h
Energy.h ETL.h FluidDynamics.h Friction.h GeometricOptics.h GeoUtils.h
Hearing.h Heat.h Inclusion.h Intersection.h KDTree.h Kinematics.h
Line.h LinearAlgebra.h LinearRegression.h LogisticRegression.h
Magnetism.h MathFx.h MatrixND.h LinearMomentum.h MonotonePartition.h
Parallelogram.h PeriodicElements.h Physics_World.h Plane.h Point.h
Point2D.h Polygon.h PolygonDCEL.h Polyhedron.h Pyramid.h QuadTree.h
QuantumPhysics.h RandomNumbers.h Rectangle.h RectangularPrism.h
RedBlackTree.h RegexHelper.h RotationalMotion.h RunTimer.h Segment.h
SpecialRelativity.h Sphere.h Square.h Statics.h StringHelper.h
Temperature.h TemplateClass.h Testing.h Thermodynamics.h Torque.h
TransitiveClosure.h TriangleSolver.h Triangulation.h
UniformCircularMotion.h Vector.h Vector2D.h Vector3D.h VectorND.h
VisionOpticalInstruments.h Voronoi.h WaveOptics.h Waves.h Angle.cpp
Convexhull.cpp Distance.cpp GeoUtils.cpp Inclusion.cpp Intersection.cpp
KDTree.cpp Line.cpp MonotonePartition.cpp Point.cpp Polygon.cpp
QuadTree.cpp Triangulation.cpp Vector.cpp Voronoi.cpp FluidStatics.h
TemplateBST.h templateGraph.h templateGraph.cpp Calculus.h Derivation.h
EuclideanGraph.h Constants.h StaticEquilibrium.h UnitVector.h
Kirschoff.h pbPlots.hpp pbPlots.cpp supportLib.hpp supportLib.cpp
Plots.h Dimensions.h ElectricField.h Scale.h CircuitBoard.h CapacitorNode.h ResistorNode.h InductorNode.h Element.h Element.h PeriodicTable.h PeriodicTable.h SpecificHeat.h)
set(SFML_STATIC_LIBRARIES TRUE)
set(SFML_DIR D:/src/CLionProjects/PhysicsFormulaClass_lessDependecnies/includes/SFML/lib/cmake/SFML)
find_package(SFML COMPONENTS system window graphics audio network REQUIRED)
include_directories(D:/src/CLionProjects/PhysicsFormulaClass_lessDependecnies/includes/SFML/include)
target_link_libraries(PhysicsFormula sfml-system sfml-window sfml-graphics sfml-audio sfml-network)
#Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set
#"Eigen3_DIR" to a directory containing one of the above files. If "Eigen3"
#provides a separate development package or SDK, be sure it has been
#installed.
#set the Eigen3_DIR to the directory where the Eigen3Config.cmake file is located
set(Eigen3_DIR D:/src/CLionProjects/PhysicsFormulaClass_lessDependecnies/includes/eigen-3.3.7/build/)
find_package(Eigen3 CONFIG REQUIRED)
target_link_libraries(PhysicsFormula Eigen3::Eigen)
# check if the boost library is to be used
if(USE_BOOST)
# add boost and print a message
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost REQUIRED COMPONENTS system filesystem)
target_link_libraries(PhysicsFormula Boost::system Boost::filesystem)
message("Boost library is used")
endif()
# Add the installation prefix of "SymEngine" to CMAKE_PREFIX_PATH or set
# "SymEngine_DIR" to a directory containing one of the above files.
#set(symengine_DIR E:/ProgramData/Microsoft/VisualStudio/vcpkg/packages/symengine_x64-windows/share/symengine)
# add symengine library that was built using vcpkg
#find_package(symengine CONFIG REQUIRED)
#target_link_libraries(PhysicsFormula symengine)