Skip to content

Commit

Permalink
adds build system
Browse files Browse the repository at this point in the history
using cmake for intermediate build system. resolves issue #2
- also moves the CLI tool to a separate directory
  • Loading branch information
samhatchett committed Jul 13, 2016
1 parent 3a2d071 commit aa93889
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,6 @@
*.exe
*.out
*.app

# build products
build
38 changes: 38 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
cmake_minimum_required (VERSION 3.5)
SET (EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
SET (LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)

project (EPANET)
SET (CMAKE_C_FLAGS "-std=c99")
SET (CMAKE_CXX_FLAGS "-Wall -std=c++11")

SET (epanet_lib_sources src/Elements/junction.cpp
src/Input/patternparser.cpp
src/Core/datamanager.cpp src/Elements/link.cpp src/Models/demandmodel.cpp
src/Core/diagnostics.cpp src/Elements/node.cpp src/Models/headlossmodel.cpp
src/Core/epanet3.cpp src/Elements/pattern.cpp src/Models/leakagemodel.cpp
src/Core/error.cpp src/Elements/pipe.cpp src/Models/pumpenergy.cpp
src/Core/hydbalance.cpp src/Elements/pump.cpp src/Models/qualmodel.cpp
src/Core/hydengine.cpp src/Elements/pumpcurve.cpp src/Models/tankmixmodel.cpp
src/Core/network.cpp src/Elements/qualsource.cpp src/Output/outputfile.cpp
src/Core/options.cpp src/Elements/reservoir.cpp src/Output/projectwriter.cpp
src/Core/project.cpp src/Elements/tank.cpp src/Output/reportfields.cpp
src/Core/qualbalance.cpp src/Elements/valve.cpp src/Output/reportwriter.cpp
src/Core/qualengine.cpp src/Input/controlparser.cpp src/Utilities/graph.cpp
src/Core/units.cpp src/Input/curveparser.cpp src/Utilities/hashtable.cpp
src/Elements/control.cpp src/Input/inputparser.cpp src/Utilities/mempool.cpp
src/Elements/curve.cpp src/Input/inputreader.cpp src/Utilities/segpool.cpp
src/Elements/demand.cpp src/Input/linkparser.cpp src/Utilities/utilities.cpp
src/Elements/element.cpp src/Input/nodeparser.cpp
src/Elements/emitter.cpp src/Input/optionparser.cpp
src/Solvers/ggasolver.cpp src/Solvers/ltdsolver.cpp src/Solvers/qualsolver.cpp src/Solvers/sparspaksolver.cpp
src/Solvers/hydsolver.cpp src/Solvers/matrixsolver.cpp src/Solvers/sparspak.cpp

)

include_directories(src src/Core src/Elements src/Input src/Output src/Utilities src/Solvers)

add_library(epanet3 SHARED ${epanet_lib_sources})

add_executable(run-epanet3 src/CLI/main.cpp)
target_link_libraries(run-epanet3 LINK_PUBLIC epanet3)
File renamed without changes.

0 comments on commit aa93889

Please sign in to comment.