Skip to content

Commit

Permalink
Merge branch 'develop' into DirectSolution-in-new-DX-coil
Browse files Browse the repository at this point in the history
  • Loading branch information
lgu1234 committed Apr 2, 2020
2 parents 85aa9e9 + baff089 commit df16ae5
Show file tree
Hide file tree
Showing 362 changed files with 80,878 additions and 59,102 deletions.
1 change: 1 addition & 0 deletions .decent_ci-Linux.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ compilers:
build_package_generator:
- "STGZ"
- "TGZ"
- "IFW"
release_build_cmake_extra_flags: -DENABLE_REGRESSION_TESTING:BOOL=ON -DBUILD_DOCS:BOOL=ON
cmake_extra_flags: -DLINK_WITH_PYTHON=ON -DBUILD_DOCS:BOOL=ON -DTEX_INTERACTION="nonstopmode" -DBUILD_FORTRAN=ON -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=ON -DREGRESSION_BASELINE_PATH:PATH=$REGRESSION_BASELINE -DREGRESSION_SCRIPT_PATH:PATH=$REGRESSION_DIR -DREGRESSION_BASELINE_SHA:STRING=$REGRESSION_BASELINE_SHA -DCOMMIT_SHA=$COMMIT_SHA -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DBUILD_PERFORMANCE_TESTS:BOOL=ON -DVALGRIND_ANALYZE_PERFORMANCE_TESTS:BOOL=ON
collect_performance_results: true
Expand Down
2 changes: 1 addition & 1 deletion .decent_ci-MacOS.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ compilers:
- IFW
- TGZ
release_build_cmake_extra_flags: -DBUILD_DOCS:BOOL=ON
cmake_extra_flags: -DBUILD_FORTRAN=ON -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=ON -DREGRESSION_BASELINE_PATH:PATH=$REGRESSION_BASELINE -DREGRESSION_SCRIPT_PATH:PATH=$REGRESSION_DIR -DREGRESSION_BASELINE_SHA:STRING=$REGRESSION_BASELINE_SHA -DCOMMIT_SHA=$COMMIT_SHA -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DOPENGL_REQUIRED:BOOL=ON -DLINK_WITH_PYTHON=ON
cmake_extra_flags: -DBUILD_FORTRAN=ON -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=ON -DREGRESSION_BASELINE_PATH:PATH=$REGRESSION_BASELINE -DREGRESSION_SCRIPT_PATH:PATH=$REGRESSION_DIR -DREGRESSION_BASELINE_SHA:STRING=$REGRESSION_BASELINE_SHA -DCOMMIT_SHA=$COMMIT_SHA -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DLINK_WITH_PYTHON=ON

4 changes: 2 additions & 2 deletions .decent_ci-Windows.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ compilers:
build_package_generator:
- IFW
release_build_cmake_extra_flags: -DBUILD_DOCS:BOOL=ON -DTEX_INTERACTION="nonstopmode"
cmake_extra_flags: -DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=ON -DREGRESSION_BASELINE_PATH:PATH=%REGRESSION_BASELINE% -DREGRESSION_SCRIPT_PATH:PATH=%REGRESSION_DIR% -DREGRESSION_BASELINE_SHA:STRING=%REGRESSION_BASELINE_SHA% -DCOMMIT_SHA=%COMMIT_SHA% -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DOPENGL_REQUIRED:BOOL=ON
cmake_extra_flags: -DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=ON -DREGRESSION_BASELINE_PATH:PATH=%REGRESSION_BASELINE% -DREGRESSION_SCRIPT_PATH:PATH=%REGRESSION_DIR% -DREGRESSION_BASELINE_SHA:STRING=%REGRESSION_BASELINE_SHA% -DCOMMIT_SHA=%COMMIT_SHA% -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF

- name: Visual Studio
version: 16
Expand All @@ -15,5 +15,5 @@ compilers:
- IFW
- ZIP
release_build_cmake_extra_flags: -DBUILD_DOCS:BOOL=ON -DTEX_INTERACTION="nonstopmode"
cmake_extra_flags: -DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=ON -DREGRESSION_BASELINE_PATH:PATH=%REGRESSION_BASELINE% -DREGRESSION_SCRIPT_PATH:PATH=%REGRESSION_DIR% -DREGRESSION_BASELINE_SHA:STRING=%REGRESSION_BASELINE_SHA% -DCOMMIT_SHA=%COMMIT_SHA% -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DOPENGL_REQUIRED:BOOL=ON -DLINK_WITH_PYTHON=ON
cmake_extra_flags: -DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=ON -DREGRESSION_BASELINE_PATH:PATH=%REGRESSION_BASELINE% -DREGRESSION_SCRIPT_PATH:PATH=%REGRESSION_DIR% -DREGRESSION_BASELINE_SHA:STRING=%REGRESSION_BASELINE_SHA% -DCOMMIT_SHA=%COMMIT_SHA% -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DLINK_WITH_PYTHON=ON

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ doc/title.tex
# ignore Energy+.schema.epJSON while it is auto-generated from IDD
Energy+.schema.epJSON.in

# ignore the doxygen built API docs
src/EnergyPlus/api/_build

# now that we have python, ignore some things
*.pyc
venv
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ set( CMAKE_POSITION_INDEPENDENT_CODE ON )

include(cmake/Version.cmake)

set( OPENGL_REQUIRED OFF CACHE BOOL "Require OpenGL in order to build" )
set( OPENGL_REQUIRED ON CACHE BOOL "Require OpenGL in order to build" )
if(OPENGL_REQUIRED)
find_package(OpenGL)
if(NOT OPENGL_FOUND)
Expand Down
Binary file modified bin/EP-Launch/EP-Launch.exe
Binary file not shown.
86 changes: 52 additions & 34 deletions cmake/Install.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,36 @@ if (UNIX)
set(CPACK_BINARY_NSIS OFF CACHE BOOL "Recommended OFF")

if(APPLE)
set(CPACK_BINARY_IFW ON CACHE BOOL "Enable to build IFW package, which is the recommended method")
set(CPACK_BINARY_STGZ OFF CACHE BOOL "Recommended OFF")
set(CPACK_BINARY_IFW ON CACHE BOOL "Enable to build IFW package, which is the recommended method")
set(CPACK_BINARY_STGZ OFF CACHE BOOL "Recommended OFF")

# Mac Specific options to turn off
set(CPACK_BINARY_BUNDLE OFF CACHE BOOL "Recommended OFF")
set(CPACK_BINARY_DRAGNDROP OFF CACHE BOOL "Recommended OFF")
set(CPACK_BINARY_OSXX11 OFF CACHE BOOL "Recommended OFF")
set(CPACK_BINARY_PACKAGEMAKER OFF CACHE BOOL "This was the legacy method on Apple, superseded by IFW.")
set(CPACK_BINARY_PACKAGEMAKER OFF CACHE BOOL "This was the legacy method on Apple, superseded by IFW")
set(CPACK_BINRARY_PRODUCTBUILD OFF CACHE BOOL "Recommended OFF")

else()
set(CPACK_BINARY_IFW OFF CACHE BOOL "This should be off")
set(CPACK_BINARY_STGZ ON CACHE BOOL "Enable to build a Linux sh installer script, which is the recommended method") # Uses STGZ currently (install .sh script CACHE BOOL)
# TODO: Make IFW recommended? Deprecate STGZ?
set(CPACK_BINARY_IFW ON CACHE BOOL "Enable to build IFW package, which is the recommended method")
set(CPACK_BINARY_STGZ ON CACHE BOOL "Enable to build a Linux sh installer script, which is the legacy method")

# Unix (non Apple CACHE BOOL) specific option to turn off
set(CPACK_BINARY_TZ OFF CACHE BOOL "Recommended OFF")
endif()

# TODO: the "FORCE" is temporary to avoid people having an existing build directory miss the fact that the recommended method changed
# TODO: remove after next release
if (UNIX AND NOT APPLE)
if(NOT CPACK_BINARY_IFW)
set(CPACK_BINARY_STGZ OFF CACHE BOOL "This was the legacy method on Linux, superseded by IFW" FORCE)
set(CPACK_BINARY_IFW ON CACHE BOOL "Enable to build IFW package, which is the recommend method" FORCE)
message("Switching from STGZ to IFW as the supported generator has changed on Linux")
endif()
endif()
# END TODO

# Tar.gz for inclusion in other programs for eg
set(CPACK_BINARY_TGZ ON CACHE BOOL "Enable to build a tar.gz package, recommended for an official release")

Expand All @@ -56,15 +69,6 @@ elseif(WIN32)
set(CPACK_BINARY_NUGET OFF CACHE BOOL "Recommended OFF")
set(CPACK_BINARY_WIX OFF CACHE BOOL "Recommended OFF")


# TODO: the "FORCE" is temporary to avoid people having an existing build directory build IFW, remove after next release
# We want to force update the cache to avoid user suddenly getting build errors
if(CPACK_BINARY_NSIS)
set(CPACK_BINARY_NSIS OFF CACHE BOOL "This was the legacy method on Windows, superseded by IFW" FORCE)
set(CPACK_BINARY_IFW ON CACHE BOOL "Enable to build IFW package, which is the recommend method" FORCE)
message("Switching from NSIS to IFW as the supported generator has changed on Windows")
endif()

endif()


Expand Down Expand Up @@ -290,6 +294,9 @@ set( RULES_XLS Rules9-2-0-to-9-3-0.md )
install(FILES "${PROJECT_SOURCE_DIR}/release/Bugreprt.txt" DESTINATION "./")
install(FILES "${PROJECT_SOURCE_DIR}/release/favicon.png" DESTINATION "./")
install(FILES "${PROJECT_SOURCE_DIR}/release/readme.html" DESTINATION "./")
if (LINK_WITH_PYTHON)
install(FILES "${PROJECT_SOURCE_DIR}/release/PythonLicense.txt" DESTINATION "./")
endif()
set(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/release/readme.html")

install(FILES "${PROJECT_SOURCE_DIR}/bin/CurveFitTools/IceStorageCurveFitTool.xlsm" DESTINATION "PreProcess/HVACCurveFitTool/")
Expand Down Expand Up @@ -404,6 +411,7 @@ endif()
#set(CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT 480)
set(CPACK_IFW_PACKAGE_WINDOW_ICON "${PROJECT_SOURCE_DIR}/release/ep_nobg.png")

set(CPACK_IFW_VERBOSE ON)

if( APPLE )
set(CPACK_PACKAGE_DEFAULT_LOCATION "/Applications")
Expand All @@ -428,30 +436,25 @@ if( APPLE )
set(CPACK_IFW_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/release/ep.icns")
elseif(WIN32)

# TODO: TEMP
set(CPACK_IFW_VERBOSE ON)

# Will also set CPACK_IFW_PACKAGE_START_MENU_DIRECTORY (name of default program group in Windows start menu)
set(CPACK_IFW_PACKAGE_NAME "EnergyPlusV${CPACK_PACKAGE_VERSION_MAJOR}-${CPACK_PACKAGE_VERSION_MINOR}-${CPACK_PACKAGE_VERSION_PATCH}")

set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_IFW_PACKAGE_NAME}" )
set(CPACK_IFW_TARGET_DIRECTORY "C:/${CPACK_PACKAGE_INSTALL_DIRECTORY}" )

# Custom installer icon. Has to be .icns on mac, .ico on windows, not supported on Unix
# Custom installer icon. Has to be .icns on mac, .ico on windows, not supported on Unix
set(CPACK_IFW_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/release/ep.ico")

# You need at least one "install(..." command for it to be registered as a component
install(CODE "MESSAGE(\"Registering filetypes.\")" COMPONENT RegisterFileType)
install(CODE "MESSAGE(\"Copying and Registering DLLs\")" COMPONENT CopyAndRegisterSystemDLLs)
install(CODE "MESSAGE(\"Creating start menu.\")" COMPONENT CreateStartMenu)

endif()

if(UNIX)
install(FILES doc/man/energyplus.1 DESTINATION "./")
endif()
elseif(UNIX)
set(CPACK_PACKAGE_DEFAULT_LOCATION "/usr/local")
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
set(CPACK_IFW_TARGET_DIRECTORY "/usr/local/${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}-${CPACK_PACKAGE_VERSION_MINOR}-${CPACK_PACKAGE_VERSION_PATCH}")

if( UNIX AND NOT APPLE )
INSTALL(PROGRAMS "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Linux/EP-Compare" DESTINATION "PostProcess/EP-Compare/")
INSTALL(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHInterfaces5001.so" DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/")
INSTALL(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHObjectArray5001.so" DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/")
Expand All @@ -472,6 +475,10 @@ if( UNIX AND NOT APPLE )
install(PROGRAMS "${PROJECT_BINARY_DIR}/scripts/runenergyplus" DESTINATION "./")
install(PROGRAMS scripts/runepmacro DESTINATION "./")
install(PROGRAMS scripts/runreadvars DESTINATION "./")

# You need at least one "install(..." command for it to be registered as a component
install(CODE "MESSAGE(\"Creating symlinks.\")" COMPONENT Symlinks)
install(FILES doc/man/energyplus.1 DESTINATION "./")
endif()

# TODO: Unused now
Expand Down Expand Up @@ -502,11 +509,20 @@ endif ()

########################################################## S Y S T E M L I B R A R I E S ######################################################

# Set to TRUE to install the Windows Universal CRT libraries for app-local deployment (e.g. to Windows XP).
# This is meaningful only with MSVC from Visual Studio 2015 or higher, which is our case
SET(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
INCLUDE(InstallRequiredSystemLibraries)
INSTALL(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION "./" COMPONENT Libraries)
# Add compiler-provided system runtime libraries
if( WIN32 AND NOT UNIX )
# Skip the call to install(PROGRAMS) so we can specify our own install rule (using the value of `CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS`)
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)

# Set to TRUE to install the Windows Universal CRT libraries for app-local deployment (e.g. to Windows XP, but apparently needed for Windows 8 too).
# This is meaningful only with MSVC from Visual Studio 2015 or higher, which is our case
SET(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)

include(InstallRequiredSystemLibraries)
if(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION "./" COMPONENT Libraries)
endif()
endif()

######################################################################################################################################################
# P A C K A G I N G & C O M P O N E N T S #
Expand Down Expand Up @@ -584,18 +600,20 @@ cpack_add_component(CopyAndRegisterSystemDLLs
HIDDEN
)

#cpack_add_component(Libraries
# DISPLAY_NAME "Install required system libraries"
# DESCRIPTION "This is probably not required right now..."
#)
cpack_add_component(Libraries
DISPLAY_NAME "Install required system libraries"
DESCRIPTION "Install compiler-provided system runtime libraries, and Windows Universal CRT libraries for app-local deployment"
REQUIRED
HIDDEN
)

# Regular stuff, like chmod +x
cpack_ifw_configure_component(Unspecified
SCRIPT cmake/qtifw/install_operations.qs
)

cpack_ifw_configure_component(Symlinks
SCRIPT cmake/qtifw/install_mac_createsymlinks.qs
SCRIPT cmake/qtifw/install_unix_createsymlinks.qs
REQUIRES_ADMIN_RIGHTS
)

Expand Down
Loading

7 comments on commit df16ae5

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

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

DirectSolution-in-new-DX-coil (lgu1234) - x86_64-Linux-Ubuntu-18.04-gcc-7.5: OK (2788 of 2788 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

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

DirectSolution-in-new-DX-coil (lgu1234) - x86_64-Linux-Ubuntu-18.04-cppcheck: OK (0 of 0 tests passed, 0 test warnings)

Build Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

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

DirectSolution-in-new-DX-coil (lgu1234) - x86_64-Linux-Ubuntu-18.04-custom_check: OK (12 of 12 tests passed, 0 test warnings)

Build Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

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

DirectSolution-in-new-DX-coil (lgu1234) - x86_64-Linux-Ubuntu-18.04-gcc-7.5-UnitTestsCoverage-Debug: OK (1362 of 1362 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

@nrel-bot-3
Copy link

Choose a reason for hiding this comment

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

DirectSolution-in-new-DX-coil (lgu1234) - x86_64-MacOS-10.13-clang: OK (2747 of 2748 tests passed, 0 test warnings)

Failures:\n

EnergyPlusFixture Test Summary

  • Passed: 923
  • Failed: 1

Build Badge Test Badge

@nrel-bot-2b
Copy link

Choose a reason for hiding this comment

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

DirectSolution-in-new-DX-coil (lgu1234) - x86_64-Linux-Ubuntu-18.04-gcc-7.5-IntegrationCoverage-Debug: OK (696 of 697 tests passed, 0 test warnings)

Failures:\n

integration Test Summary

  • Passed: 696
  • Timeout: 1

Build Badge Test Badge Coverage Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

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

DirectSolution-in-new-DX-coil (lgu1234) - Win64-Windows-10-VisualStudio-16: OK (2744 of 2744 tests passed, 0 test warnings)

Build Badge Test Badge

Please # to comment.