Showing with 156 additions and 3 deletions.
  1. +20 −0 CHANGELOG.md
  2. +2 −2 CMake.in.cmake
  3. +5 −0 CMakeLists.txt
  4. +3 −1 resources/CMakeLists.txt
  5. +69 −0 resources/packaging/macosx/openfluid.rb.in
  6. +57 −0 resources/tools/ofpack-osx-brewcask.cmake.in
@@ -1,3 +1,23 @@
## 2.1.5

* Introduced development dashboard in DevStudio to perform batch actions
such as configure, build, check, clean
* Introduced parameterization UI for GNUplot observer
* Added numeric version number in binary filenames of wares
* Added handling of HTTP redirections for FluidHub connections (Qt>5.6 only)
* Updated About dialog box with richer information about build, changes, ...
* Improved UI for time period configuration in Builder
* Improved continuous integration process (Travis CI, AppVeyor)
* Improved C++11 usage
* Switched from Qt4 to Qt5 for Linux, as already done for MacOS and Windows
* Deprecated aggregate headers (core.hpp, base.hpp, ...)
* Cleaned code
* Fixed minor bugs : initialization of random generator, potential memory leaks,
market paths when disabled, DevStudio crash when closed while building ware,
GDAL compatibility on 64bits fields, data types management in GIS export observer



## 2.1.4

* Introduced run options in Builder, acccording to existing
@@ -23,7 +23,7 @@ SET(OFBUILD_CUSTOM_CMAKE_VERSION "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.
SET(OPENFLUID_VERSION_MAJOR 2)
SET(OPENFLUID_VERSION_MINOR 1)
SET(OPENFLUID_VERSION_PATCH 5)
SET(OPENFLUID_VERSION_STATUS "beta2") # example: SET(OPENFLUID_VERSION_STATUS "rc1")
SET(OPENFLUID_VERSION_STATUS "rc1") # example: SET(OPENFLUID_VERSION_STATUS "rc1")

SET(OPENFLUID_VERSION_FULL "${OPENFLUID_VERSION_MAJOR}.${OPENFLUID_VERSION_MINOR}.${OPENFLUID_VERSION_PATCH}")

@@ -71,7 +71,7 @@ SET(OPENFLUID_SIMULATORS_INSTALL_PATH "${OFBUILD_LIB_INSTALL_PATH}/${OPENFLUID_R
SET(OPENFLUID_OBSERVERS_INSTALL_PATH "${OFBUILD_LIB_INSTALL_PATH}/${OPENFLUID_RELATIVE_PATH}/${OPENFLUID_OBSERVERS_PATH}")
SET(OPENFLUID_BUILDEREXTS_INSTALL_PATH "${OFBUILD_LIB_INSTALL_PATH}/${OPENFLUID_RELATIVE_PATH}/${OPENFLUID_BUILDEREXTS_PATH}")

IF (WIN32)
IF (WIN32 OR APPLE)
SET(OPENFLUID_CMAKE_MODULES_INSTALL_PATH "${OFBUILD_LIB_INSTALL_PATH}/cmake")
SET(OPENFLUID_CMAKE_HELPERSMODULES_INSTALL_PATH "${OFBUILD_LIB_INSTALL_PATH}/cmake")
ELSE()
@@ -132,6 +132,11 @@ IF(OFBUILD_ENABLE_TESTING)
FILE(MAKE_DIRECTORY ${OFBUILD_TESTS_TEMP_DIR})
ENDIF()

IF(APPLE)
SET(CMAKE_MACOSX_RPATH 1)
SET(CMAKE_INSTALL_RPATH "@rpath/lib")
ENDIF(APPLE)

ADD_SUBDIRECTORY(resources)

ADD_SUBDIRECTORY(src)
@@ -125,9 +125,11 @@ IF(PYTHONINTERP_FOUND)
ENDIF()


# Packaging tool for OSX
# Packaging tools for OSX
IF(APPLE)
CONFIGURE_FILE("tools/ofpack-osxdmgbuild.cmake.in" "${CMAKE_BINARY_DIR}/ofpack-osxdmgbuild.cmake" @ONLY)
CONFIGURE_FILE("packaging/macosx/preinstall.in" "packaging/macosx/preinstall" @ONLY)
CONFIGURE_FILE("packaging/macosx/postinstall.in" "packaging/macosx/postinstall" @ONLY)

CONFIGURE_FILE("tools/ofpack-osx-brewcask.cmake.in" "${CMAKE_BINARY_DIR}/ofpack-osx-brewcask.cmake" @ONLY)
ENDIF()
@@ -0,0 +1,69 @@
cask 'openfluid@TOKEN_VERSION@' do

version '@CASKFILE_VERSION@'
sha256 '@CASKFILE_PACKHASH@'

url '@CASKFILE_URL@'
name 'OpenFLUID'
homepage 'https://wwww.openfluid-project.org'


# external dependencies
depends_on formula: 'boost'
depends_on formula: 'rapidjson'
depends_on formula: 'gdal'
depends_on formula: 'geos'
depends_on formula: 'qt'
depends_on formula: 'p7zip'
depends_on formula: 'gnuplot'
depends_on formula: 'cmake'


# system dependencies
depends_on macos: '>= :el_capitan'


# variables used during installation process
OFapps = ['OpenFLUID-Builder','OpenFLUID-Devstudio']
cliwrapper = "#{staged_path}/openfluid-wrapper.sh"


# preinstall operations
preflight do

# creation of a wrapper for the command line program
# to introduce the OPENFLUID_INSTALL_PREFIX env. var.
IO.write cliwrapper, <<~EOS
#!/bin/sh
OPENFLUID_INSTALL_PREFIX="#{staged_path}" "#{staged_path}/bin/openfluid" "$@"
EOS
end


# move of the .app bundles to the Applications directory
for OFapp in OFapps
app "bin/#{OFapp}.app"
end


# link of the command line wrapper into /usr/local/bin
binary cliwrapper, target:'openfluid'


# postinstall operations
postflight do

# on .app bundles
for OFapp in OFapps
# set of the lib path as an rpath
system "install_name_tool","-add_rpath","#{staged_path}/lib/","#{appdir}/#{OFapp}.app/Contents/MacOS/#{OFapp}"
# add of the OPENFLUID_INSTALL_PREFIX env. var.
system "defaults","write","#{appdir}/#{OFapp}.app/Contents/Info","LSEnvironment","<dict><key>OPENFLUID_INSTALL_PREFIX</key><string>#{staged_path}</string></dict>"
end

# add of the OPENFLUID_INSTALL_PREFIX env. var. on the command line program
system "install_name_tool","-add_rpath","#{staged_path}/lib/","#{staged_path}/bin/openfluid"

end

end
@@ -0,0 +1,57 @@
###
### Usage: cmake [-DDOWNLOAD_STATUS=<status>] -P ofpack-osx-brewcask.cmake
###


SET(SOURCE_PATH @CMAKE_SOURCE_DIR@)
SET(BUILD_PATH @CMAKE_BINARY_DIR@)

SET(BREWCASK_DIR "_osx_brewcask")
SET(BREWCASK_PATH "${BUILD_PATH}/${BREWCASK_DIR}")


#### Packaging using CPack

MESSAGE(STATUS "Packaging")

FILE(REMOVE_RECURSE "${BREWCASK_PATH}")
FILE(MAKE_DIRECTORY "${BREWCASK_PATH}")

EXECUTE_PROCESS(COMMAND "cpack" "-G" "TBZ2" "-B" "${BREWCASK_PATH}")


#### Discovery of the created package

FILE(GLOB PACKFILE_PATH "${BREWCASK_DIR}/*${CASKFILE_VERSION}*.bz2")

LIST(LENGTH PACKFILE_PATH FOUND_PACKFILES_LEN)
IF(NOT (${FOUND_PACKFILES_LEN} EQUAL 1))
MESSAGE(FATAL_ERROR "Error in package discovery (Found '${PACKFILE_PATH}')")
ENDIF()

GET_FILENAME_COMPONENT(PACKFILE_NAME ${PACKFILE_PATH} NAME)
MESSAGE(STATUS "Found file : ${PACKFILE_NAME}")


#### Generation of the Cask file(s)

IF(DOWNLOAD_STATUS)
SET(CASKFILE_URL "https://www.openfluid-project.org/dloadsproxy/${DOWNLOAD_STATUS}/${PACKFILE_NAME}")
ELSE()
SET(URL_VERSION "v@OPENFLUID_VERSION_MAJOR@.@OPENFLUID_VERSION_MINOR@.@OPENFLUID_VERSION_PATCH@")
SET(CASKFILE_URL "https://www.openfluid-project.org/dloadsproxy/final/${URL_VERSION}/${PACKFILE_NAME}")
ENDIF()

SET(CASKFILE_VERSION "@OPENFLUID_VERSION_FULL@")

FILE(SHA256 "${PACKFILE_PATH}" CASKFILE_PACKHASH)
MESSAGE(STATUS "Computed hash : ${CASKFILE_PACKHASH}")

FOREACH(TOKEN_VERSION "" "@OPENFLUID_VERSION_NUMERIC@")
CONFIGURE_FILE(${SOURCE_PATH}/resources/packaging/macosx/openfluid.rb.in "${BREWCASK_PATH}/openfluid${TOKEN_VERSION}.rb")
MESSAGE(STATUS "Generated Caskfile : ${BREWCASK_PATH}/openfluid${TOKEN_VERSION}.rb")
ENDFOREACH()