diff --git a/.travis.yml b/.travis.yml index f3d61f2..3cf3c7f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,7 @@ before_install: before_script: - mkdir -p $BUILD_HOME - cd $BUILD_HOME - - cmake .. + - cmake -DBUILD_TESTS=1 .. script: - cmake --build . diff --git a/CMakeLists.txt b/CMakeLists.txt index 808b836..59e1356 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,27 +1,26 @@ -# CMakeLists.txt - CMake configuration file for EPANET 2.0 -# -# CMake is a cross-platform build tool. CMake generates platform native -# makefiles that can be used with your compiler of choice. CMake uses a -# generator concept to represent different build tooling. CMake automatically +# CMakeLists.txt - CMake configuration file for EPANET 2.0 +# +# CMake is a cross-platform build tool. CMake generates platform native +# makefiles that can be used with your compiler of choice. CMake uses a +# generator concept to represent different build tooling. CMake automatically # detects the platform it is running on and generates the appropriate makefiles -# for the platform default compiler. Different generators can also be specified. -# -# Note: CMake requires that your platform build system and compiler are -# properly installed. Build using Visual Studio requires msbuild shell. -# -# Example Usage: -# cd build/cmake +# for the platform default compiler. Different generators can also be specified. +# +# Note: CMake requires that your platform build system and compiler are +# properly installed. Build using Visual Studio requires msbuild shell. +# +# Example Usage: # mkdir buildproducts # cd buildproducts # cmake .. -# make -# +# make +# # Building MSYS on Windows: # ... # cmake -G "MSYS Makefiles" .. -# make -# -# Building Visual Studio on Windows: +# make +# +# Building Visual Studio on Windows: # ... # cmake -G "Visual Studio 10 2010" .. # msbuild /p:Configuration=Release ALL_BUILD.vcxproj @@ -29,23 +28,25 @@ # Generic Invocation: # cmake -E make_directory buildprod # cd build -# cmake -G GENERATOR -DCMAKE_BUILD_TYPE=Release .. +# cmake -G GENERATOR -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=1 .. # cmake --build . --target SOME_TARGET --config Release # # More information: # cmake --help -# +# # CMake is available at https://cmake.org/download/ -# +# cmake_minimum_required (VERSION 2.8.8) project(EPANET) add_subdirectory(tools/epanet-output) -add_subdirectory(tests) +IF (BUILD_TESTS) + add_subdirectory(tests) +ENDIF (BUILD_TESTS) -# Sets for output directory for executables and libraries. +# Sets for output directory for executables and libraries. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) @@ -55,8 +56,8 @@ SET(CMAKE_POSITION_INDEPENDENT_CODE ON) IF (APPLE) - SET(CMAKE_INSTALL_NAME_DIR @executable_path) - SET(CMAKE_BUILD_WITH_INSTALL_RPATH ON) +SET(INSTALL_NAME_DIR @executable_path/../lib) +SET(CMAKE_MACOSX_RPATH 1) ENDIF (APPLE) IF (MSVC) @@ -89,8 +90,8 @@ target_include_directories(epanet PUBLIC ${PROJECT_SOURCE_DIR}/include) # EXPORT_MACRO_NAME DLLEXPORT # EXPORT_FILE_NAME epanet_export.h # STATIC_DEFINE SHARED_EXPORTS_BUILT_AS_STATIC) -# -#file(COPY ${CMAKE_CURRENT_BINARY_DIR}/epanet_export.h +# +#file(COPY ${CMAKE_CURRENT_BINARY_DIR}/epanet_export.h # DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/include) diff --git a/README.md b/README.md index 4a697d0..dd6f5d7 100755 --- a/README.md +++ b/README.md @@ -5,9 +5,11 @@ EPANET {#epanet-readme} [![Build status](https://ci.appveyor.com/api/projects/status/19wpg4g2cmj3oihl?svg=true)](https://ci.appveyor.com/project/OpenWaterAnalytics/epanet) [![Build Status](https://travis-ci.org/OpenWaterAnalytics/EPANET.svg?branch=master)](https://travis-ci.org/OpenWaterAnalytics/EPANET) -The EPANET Library is a pressurized pipe network hydraulic and water quality analysis toolkit written in C. +## For EPANET-related questions and discussion +For community discussion, FAQ, and roadmapping of the project, go to the [Community Forum](http://community.wateranalytics.org/category/epanet). -If you are interested in using/extending EPANET for academic, personal, or commercial use, then you've come to the right place. For community discussion, FAQ, and roadmapping of the project, go to the [Community Forum](http://community.wateranalytics.org/category/epanet). +## What is on this Repository? +The EPANET Library is a pressurized pipe network hydraulic and water quality analysis toolkit written in C. If you are interested in using/extending EPANET for academic, personal, or commercial use, then you've come to the right place. Please see the [`version 2.1` Release Notes](https://github.com/OpenWaterAnalytics/EPANET/blob/master/ReleaseNotes2_1.md) for information relevant to users of the previous official version (2.00.12). If you would like to contribute by addressing any of the outstanding [Issues](https://github.com/OpenWaterAnalytics/EPANET/issues), then please comment on the Issue, then Fork this repo to your own account and base your commits on the [`dev` branch](https://github.com/OpenWaterAnalytics/EPANET/tree/dev). Once you are finished, you can open a Pull Request to test the code and discuss merging your changes back into the community respository. @@ -15,4 +17,4 @@ A step-by-step tutorial on how to contribute to EPANET using GitHub is also [ava __Note:__ This repository is not affiliated with, or endorsed by, the USEPA. For the last "official" release of EPANET (2.00.12 UI and Toolkit) please go to the [EPA's GitHub repo](https://github.com/USEPA/Water-Distribution-Network-Model) or [the USEPA website](http://www2.epa.gov/water-research/epanet). It is also not the graphical user interface version. This is the hydraulic and water quality solver engine. -However, if you are interested in extending EPANET for academic, personal, or commercial use, then you've come to the right place. For community discussion, FAQ, and roadmapping of the project, go to the [Community Forum](http://community.wateranalytics.org/category/epanet). \ No newline at end of file +However, if you are interested in extending EPANET for academic, personal, or commercial use, then you've come to the right place. For community discussion, FAQ, and roadmapping of the project, go to the [Community Forum](http://community.wateranalytics.org/category/epanet). diff --git a/appveyor.yml b/appveyor.yml index c7e97ea..d9ef393 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -23,7 +23,7 @@ environment: BOOST_ROOT: "C:/Libraries/boost" # New build on Visual Studio 15 2017 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATOR: "Visual Studio 15 2017 Win64" + GENERATOR: "Visual Studio 15 2017" GROUP: "EXPERIMENTAL" BOOST_ROOT: "C:/Libraries/boost_1_67_0" @@ -48,6 +48,7 @@ before_build: - mkdir %BUILD_HOME% - cd %BUILD_HOME% - cmake -G "%GENERATOR%" + -DBUILD_TESTS=1 -DBOOST_ROOT="%BOOST_ROOT%" -DBoost_USE_STATIC_LIBS="ON" ..