fixes macOS autobuild (#5674)

* update macOS autobuild yaml

* updates */CMakeLists* for macOS autobuild compatibility

* "" a dir for cmake

* Un empty an empty EXTRA_INCDIR

* use a cmake operator

* Use the . dir to un-empty a string

* fix minutes timer in macos yaml

* test & skip instead of load & include

* disregard fractional part of minutes in mac yaml

* add another cmake test

* fix typo in mac yaml

* fix other part of same typo

* correct a filename in mac yaml

* test all include dirs

* fix of mac yaml

* mac:fix a path in yaml

* mac:and its antecedent

* options.h include a dir

* test __has_include (gcc 5.* & up & clang)

* remove a printf() in mac yaml

* mac:change a "" and an elseif() to else()

* fix a whitespace error

* fix 2 whitespace errors

* ZULU>UTC

* add a "UTC

* on the other side of the "

* mac:properly set default LOCAL_PREFIX in CACHE

* use of zsh subshells in macos yaml

* mac:remove some &&

* mac:remove some "

* mac:floating point divisors

* mac:use double paren (())

* mac:add a dir

* mac:floatize with decimal point

* mac:zsh -c certain lines

* remove a marker
This commit is contained in:
Benitoite 2020-02-28 10:20:40 -08:00 committed by GitHub
parent c7c1dec9cb
commit fbe718b64f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 193 additions and 136 deletions

View File

@ -1,81 +1,96 @@
name: macOS build
on:
push:
branches-ignore:
- '**'
branches:
- dev
- patch**
- newlocallab
pull_request:
branches:
- dev
- newlocallab
release:
types:
- created
jobs:
build:
runs-on: macos-latest
runs-on: macos-10.15
steps:
- uses: actions/checkout@v1
- name: Install dependencies
run: >
brew install gtk+3 gtkmm3 gtk-mac-integration adwaita-icon-theme
libsigc++ little-cms2 libiptcdata fftw lensfun llvm expat pkgconfig
libomp shared-mime-info
- name: patch libiconv
run: |
mkdir libiconv && cd libiconv
wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
tar xf libiconv-1.16.tar.gz
cd libiconv-1.16
patch -p1 < "${GITHUB_WORKSPACE}/tools/osx/libiconv_1.16_rt.patch"
mkdir build && cd build
destDir="$(pwd)"
../configure --prefix=/opt/local --disable-static \
CFLAGS='-arch x86_64 -mmacosx-version-min=10.9' \
LDFLAGS='-arch x86_64 -mmacosx-version-min=10.9' \
CXXFLAGS='-arch x86_64 -mmacosx-version-min=10.9'
make --jobs
make DESTDIR="${destDir}" install
sudo mv opt/local /usr/local/opt/libiconv
- name: cmake
date -u
mkdir build
date +%s > build/stamp
brew uninstall --ignore-dependencies libtiff
brew install libtiff gtk+3 gtkmm3 gtk-mac-integration adwaita-icon-theme libsigc++ little-cms2 libiptcdata fftw lensfun expat pkgconfig libomp shared-mime-info | tee -a depslog
date -u
echo "----====Pourage====----"
cat depslog | grep Pouring
zsh -c 'echo "Completed installation of dependencies in $(printf "%0.2f" $(($[$(date +%s)-$(cat build/stamp)]/$((60.))))) minutes"'
- name: Configure build system
env:
CMAKE_CXX_STANDARD: 11
PKG_CONFIG_PATH: /usr/local/opt/libffi/lib/pkgconfig:/usr/local/opt/expat/lib/pkgconfig
PKG_CONFIG_PATH: /usr/local/opt/libtiff/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig:/usr/local/opt/expat/lib/pkgconfig
RAW_THERAPEE_MAJOR: '5'
RAW_THERAPEE_MINOR: '8'
C_FLAGS: >
-Xpreprocessor -fopenmp /usr/local/lib/libomp.dylib
-I/usr/local/include -I/usr/local/opt/gdk-pixbuf/include
-I/usr/local/opt/libiconv/include -I/usr/local/opt/libxml2/include
-I/usr/local/opt/expat/include -I/usr/local/opt/llvm/include
-arch x86_64 -mtune=generic -Xpreprocessor -fopenmp /usr/local/lib/libomp.dylib -I/usr/local/include -I/usr/local/opt/gdk-pixbuf/include -I/usr/local/opt/libiconv/include -I/usr/local/opt/libxml2/include -I/usr/local/opt/expat/include -I/usr/local/opt/libtiff/include
run: |
# GITHUB_REF is the ref that triggered the build, like
# refs/heads/new-feature - the next line parses that to REF: the branch
# name only (new-feature)
REF=${GITHUB_REF##*/}
mkdir build && cd build
export REF=${GITHUB_REF##*/}
export C_FLAGS=$(echo -e $C_FLAGS | tr -d '\n')
cd build && date -u && date +%s > configstamp
cmake \
-DCMAKE_BUILD_TYPE="release" \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_EXE_LINKER_FLAGS="-L/usr/local/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib -L/usr/local/opt/gdk-pixbuf/lib -L/usr/local/opt/libiconv/lib -L/usr/local/opt/libffi/lib -L/usr/local/opt/libffi/lib -L/usr/local/opt/libxml2/lib -L/usr/local/opt/expat/lib" \
-DCMAKE_EXE_LINKER_FLAGS="-L. -L/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -L/usr/local/opt/gdk-pixbuf/lib -L/usr/local/opt/libiconv/lib -L/usr/local/opt/libffi/lib -L/usr/local/opt/libffi/lib -L/usr/local/opt/libxml2/lib -L/usr/local/opt/expat/lib" \
-DCACHE_NAME_SUFFIX="${RAW_THERAPEE_MAJOR}.${RAW_THERAPEE_MINOR}-${REF}" \
-DPROC_TARGET_NUMBER="2" \
-DPROC_TARGET_NUMBER="1" \
-DPROC_LABEL="generic processor" \
-DWITH_LTO="OFF" \
-DLENSFUNDBDIR="./share/lensfun" \
-DOpenMP_C_FLAGS=-fopenmp=libomp \
-DOpenMP_CXX_FLAGS=-fopenmp=libomp \
-DOpenMP_C_LIB_NAMES="libomp" \
-DOpenMP_CXX_LIB_NAMES="libomp" \
-DOpenMP_libomp_LIBRARY="/usr/local/lib/libomp.dylib" \
-DLENSFUNDBDIR="/Applications/RawTherapee.app/Contents/Resources/share/lensfun" \
-DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \
-DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \
-DCMAKE_C_FLAGS="-arch x86_64 -Wno-pass-failed -Wno-deprecated-register -Wno-unused-command-line-argument" \
-DCMAKE_CXX_FLAGS="-arch x86_64 -Wno-pass-failed -Wno-deprecated-register -Wno-unused-command-line-argument" \
-DOpenMP_C_FLAGS="${C_FLAGS}" \
-DOpenMP_CXX_FLAGS="${C_FLAGS}" \
-DCMAKE_AR="/usr/local/opt/llvm/bin/llvm-ar" \
-DCMAKE_RANLIB="/usr/local/opt/llvm/bin/llvm-ranlib" \
-DCMAKE_OSX_DEPLOYMENT_TARGET="10.11" \
-DOpenMP_C_LIB_NAMES=libomp \
-DOpenMP_CXX_LIB_NAMES=libomp \
-DOpenMP_libomp_LIBRARY=/usr/local/lib/libomp.dylib \
-DCMAKE_AR=/usr/bin/ar \
-DCMAKE_RANLIB=/usr/bin/ranlib \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \
..
make --jobs
make install
sudo make macosx_bundle
ARTIFACT=(RawTherapee*.zip)
zsh -c 'echo "Configured in $(printf "%0.2f" $(($[$(date +%s)-$(cat configstamp)]/$((60.))))) minutes"'
- name: Compile RawTherapee
run: |
date -u && date +%s > build/compilestamp
cd build
export REF=${GITHUB_REF##*/}
make -j$(sysctl -a | grep machdep.cpu.thread_count | tail -c 2) install
zsh -c 'echo "Compiled in $(printf "%0.2f" $(($[$(date +%s)-$(cat compilestamp)]/$((60.))))) minutes"'
- name: Create application bundle
run: |
zsh
date +%s > build/bundlestamp && date -u && cd build
export REF=${GITHUB_REF##*/} && export LOCAL_PREFIX=/usr && sudo make macosx_bundle
export ARTIFACT=(RawTherapee*.zip)
echo "=== artifact: ${ARTIFACT}"
# defining environment variables for next step as per
# https://github.com/actions/starter-workflows/issues/68
echo "::set-env name=ARTIFACT_PATH::${GITHUB_WORKSPACE}/build/${ARTIFACT}"
echo "::set-env name=ARTIFACT_FILE::${ARTIFACT}"
zsh -c 'echo "Bundled in $(printf "%0.2f" $(($[$(date +%s)-$(cat bundlestamp)]/$((60.))))) minutes"'
exit
- uses: actions/upload-artifact@v1
with:
name: ${{env.ARTIFACT_FILE}}
path: ${{env.ARTIFACT_PATH}}
- name: Finish build
run: |
date -u
zsh -c 'echo "Build completed in $(printf "%0.2f" $(($[$(date +%s)-$(cat build/stamp)]/$((60.))))) minutes"'

View File

@ -14,6 +14,6 @@ Link flags: ${LFLAGS}
OpenMP support: ${OPTION_OMP}
MMAP support: ${WITH_MYFILE_MMAP}
Build OS: ${BUILDINFO_OS}
Build date: ${BUILDINFO_DATE} ZULU
Build date: ${BUILDINFO_DATE} UTC
Build epoch: ${BUILDINFO_EPOCH}
Build UUID: ${BUILDINFO_UUID}

View File

@ -1,8 +1,14 @@
cmake_minimum_required(VERSION 3.5)
# Use of SOURCE_DIR target property begins at cmake 3.7
if(APPLE)
cmake_minimum_required(VERSION 3.7)
else()
cmake_minimum_required(VERSION 3.5)
endif()
# Compiler id for Apple Clang
if(APPLE)
cmake_policy(SET CMP0025 NEW)
cmake_policy(SET CMP0037 NEW)
endif()
# Must stay before the project() command:
@ -145,7 +151,7 @@ if(WIN32)
CACHE STRING "Additional search paths")
endif()
if(APPLE)
if(APPLE) # TODO make -mtune generic conditional and/or specifiable.
if(CMAKE_CXX_COMPILER MATCHES "g\\+\\+-mp-4.[5-8]"
OR CMAKE_CXX_COMPILER_ARG1 MATCHES "g\\+\\+-mp-4.[5-8]")
set(CMAKE_EXE_LINKER_FLAGS
@ -210,7 +216,7 @@ endif()
if(NOT DEFINED BUNDLE_BASE_INSTALL_DIR)
if(APPLE)
set(BUNDLE_BASE_INSTALL_DIR "${CMAKE_BUILD_TYPE}/MacOS")
set(BUNDLE_BASE_INSTALL_DIR "${PROJECT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/MacOS")
else()
set(BUNDLE_BASE_INSTALL_DIR "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}")
endif()
@ -219,7 +225,7 @@ endif()
if(BUILD_BUNDLE)
if(APPLE)
set(BINDIR "${BUNDLE_BASE_INSTALL_DIR}")
set(CMAKE_INSTALL_PREFIX ".")
set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/build")
else()
set(BINDIR .)
set(CMAKE_INSTALL_PREFIX "${BUNDLE_BASE_INSTALL_DIR}")
@ -233,7 +239,7 @@ endif()
if(NOT DEFINED DATADIR)
if(BUILD_BUNDLE)
if(APPLE)
set(DATADIR "${CMAKE_BUILD_TYPE}/Resources/share")
set(DATADIR "${PROJECT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/Resources/share")
else()
set(DATADIR .)
endif()
@ -245,7 +251,7 @@ endif()
if(NOT DEFINED LIBDIR)
if(BUILD_BUNDLE)
if(APPLE)
set(LIBDIR "${CMAKE_BUILD_TYPE}/Frameworks")
set(LIBDIR "${PROJECT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/Frameworks")
else()
set(LIBDIR .)
endif()
@ -362,8 +368,10 @@ if(APPLE)
set(LOCAL_PREFIX
"${LOCAL_PREFIX}"
CACHE STRING "macos/gtk parent directory ie /usr or /opt")
elseif(NOT DEFINED LOCAL_PREFIX)
set(LOCAL_PREFIX "/usr")
else()
set(LOCAL_PREFIX
/usr
CACHE STRING "macos/gtk parent directory ie /usr or /opt")
endif()
if("${FANCY_DMG}")
set(FANCY_DMG
@ -612,12 +620,10 @@ else()
set(PROC_BIT_DEPTH 64 bits)
endif()
# Get compiler name and version. Only CMake > 2.8.7 knows
# CMAKE_*_COMPILER_VERSION
if(CMAKE_VERSION VERSION_GREATER 2.8.7)
# Get compiler name and version.
get_filename_component(COMPILER_INFO ${CMAKE_C_COMPILER} NAME_WE)
set(COMPILER_INFO "${COMPILER_INFO} ${CMAKE_C_COMPILER_VERSION}")
else()
if(NOT APPLE)
execute_process(
COMMAND gcc -dumpversion
OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
@ -633,15 +639,18 @@ set(LFLAGS
"${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${UPPER_CMAKE_BUILD_TYPE}}"
)
set(ABOUT_COMMAND_WITH_ARGS
${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR:STRING=${PROJECT_SOURCE_DIR}
-DCACHE_NAME_SUFFIX:STRING=${CACHE_NAME_SUFFIX}
-DPROC_LABEL:STRING="${PROC_LABEL}"
-DPROC_BIT_DEPTH:STRING="${PROC_BIT_DEPTH}"
-DBUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DGTKMM_VERSION:STRING=${GTKMM_VERSION} -DOPTION_OMP:STRING=${OPTION_OMP}
-DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP}
-DLENSFUN_VERSION:STRING=${LENSFUN_VERSION})
if(NOT APPLE)
set(ABOUT_COMMAND_WITH_ARGS
${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR:STRING=${PROJECT_SOURCE_DIR}
-DCACHE_NAME_SUFFIX:STRING=${CACHE_NAME_SUFFIX}
-DPROC_LABEL:STRING="${PROC_LABEL}"
-DPROC_BIT_DEPTH:STRING="${PROC_BIT_DEPTH}"
-DBUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DGTKMM_VERSION:STRING=${GTKMM_VERSION}
-DOPTION_OMP:STRING=${OPTION_OMP}
-DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP}
-DLENSFUN_VERSION:STRING=${LENSFUN_VERSION})
endif()
if(WIN32)
list(
@ -654,16 +663,19 @@ if(WIN32)
-DCMAKE_INSTALL_PREFIX:STRING="${CMAKE_INSTALL_PREFIX}"
-DBIT_DEPTH:STRING="${CMAKE_SIZEOF_VOID_P}")
elseif(APPLE)
list(APPEND ABOUT_COMMAND_WITH_ARGS -DSYSTEM:STRING=Apple
-DCXX_FLAGS:STRING=${CXX_FLAGS} -DLFLAGS:STRING=${LFLAGS}
-DCOMPILER_INFO:STRING=${COMPILER_INFO})
set(
ABOUT_COMMAND_WITH_ARGS
cmake -DPROJECT_SOURCE_DIR:STRING=${PROJECT_SOURCE_DIR} -P ${PROJECT_SOURCE_DIR}/UpdateInfo.cmake -DSYSTEM:STRING=Apple -DCXX_FLAGS:STRING=${CXX_FLAGS} -DLFLAGS:STRING=${LFLAGS} -DCOMPILER_INFO:STRING=${COMPILER_INFO} -DCACHE_NAME_SUFFIX:STRING=${CACHE_NAME_SUFFIX})
else()
list(APPEND ABOUT_COMMAND_WITH_ARGS -DSYSTEM:STRING=Linux
-DCXX_FLAGS:STRING=${CXX_FLAGS} -DLFLAGS:STRING=${LFLAGS}
-DCOMPILER_INFO:STRING=${COMPILER_INFO})
endif()
list(APPEND ABOUT_COMMAND_WITH_ARGS -P "${PROJECT_SOURCE_DIR}/UpdateInfo.cmake")
if(NOT APPLE)
list(APPEND
ABOUT_COMMAND_WITH_ARGS
-P "${PROJECT_SOURCE_DIR}/UpdateInfo.cmake")
endif()
add_custom_target(
UpdateInfo ALL

View File

@ -1,5 +1,9 @@
# cmakefile executed within a makefile target
if(APPLE)
set(PROJECT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
endif()
# If we find ReleaseInfo.cmake we use the info from there and don't need Git to be installed
find_file(REL_INFO_FILE ReleaseInfo.cmake PATHS "${PROJECT_SOURCE_DIR}" NO_DEFAULT_PATH)
if(REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND)
@ -68,20 +72,19 @@ if(REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND)
execute_process(COMMAND date -Ru OUTPUT_VARIABLE BUILDINFO_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND date +%s OUTPUT_VARIABLE BUILDINFO_EPOCH OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND uuidgen COMMAND tr "A-Z" "a-z" OUTPUT_VARIABLE BUILDINFO_UUID OUTPUT_STRIP_TRAILING_WHITESPACE)
message(STATUS "Git checkout information:")
message(STATUS " Commit description: ${GIT_DESCRIBE}")
message(STATUS " Branch: ${GIT_BRANCH}")
message(STATUS " Commit: ${GIT_COMMIT}")
message(STATUS " Commit date: ${GIT_COMMIT_DATE}")
message(STATUS " Commits since tag: ${GIT_COMMITS_SINCE_TAG}")
message(STATUS " Commits since branch: ${GIT_COMMITS_SINCE_BRANCH}")
message(STATUS " Version (unreliable): ${GIT_NUMERIC_VERSION_BS}")
message(STATUS " Commit description: ${GIT_DESCRIBE}")
message(STATUS " Branch: ${GIT_BRANCH}")
message(STATUS " Commit: ${GIT_COMMIT}")
message(STATUS " Commit date: ${GIT_COMMIT_DATE}")
message(STATUS " Commits since tag: ${GIT_COMMITS_SINCE_TAG}")
message(STATUS " Commits since branch: ${GIT_COMMITS_SINCE_BRANCH}")
message(STATUS " Version (unreliable): ${GIT_NUMERIC_VERSION_BS}")
message(STATUS "Build information:")
message(STATUS " Build OS: ${BUILDINFO_OS}")
message(STATUS " Build date: ${BUILDINFO_DATE}")
message(STATUS " Epoch: ${BUILDINFO_EPOCH}")
message(STATUS " UUID: ${BUILDINFO_UUID}")
message(STATUS " Build OS: ${BUILDINFO_OS}")
message(STATUS " Build date: ${BUILDINFO_DATE} UTC")
message(STATUS " Epoch: ${BUILDINFO_EPOCH}")
message(STATUS " UUID: ${BUILDINFO_UUID}")
if(NOT DEFINED CACHE_NAME_SUFFIX)
set(CACHE_NAME_SUFFIX "${GIT_DESCRIBE}")

View File

@ -47,8 +47,8 @@ if(WIN32)
install(FILES ${FONTS} DESTINATION "${DATADIR}/fonts")
endif()
install(DIRECTORY ${PROFILESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.pp3")
install(DIRECTORY ${THEMEDIR} DESTINATION "${DATADIR}")
install(DIRECTORY "${PROFILESDIR}" DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.pp3")
install(DIRECTORY "${THEMEDIR}" DESTINATION "${DATADIR}")
install(FILES ${IMG_SVG} DESTINATION "${DATADIR}/images")
install(FILES ${IMG_PNG} DESTINATION "${DATADIR}/images")
@ -57,19 +57,15 @@ install(FILES ${IMG_ICO} DESTINATION "${DATADIR}/images")
if(APPLE)
# CMake escapes first item quote character. Do not remove 'DUMMY_VARIABLE='
set(MACOSX_BUNDLE_COMMAND DUMMY_VARIABLE=
PROJECT_NAME="${PROJECT_NAME}"
PROJECT_NAME=${PROJECT_NAME}
PROJECT_SOURCE_DIR="${PROJECT_SOURCE_DIR}"
CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"
CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
GTK_PREFIX="${GTK_PREFIX}")
if(PROC_BIT_DEPTH MATCHES 32)
list(APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=32)
else()
list(APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=64)
endif()
list(APPEND MACOSX_BUNDLE_COMMAND sh "${PROJECT_SOURCE_DIR}/tools/osx/macosx_bundle.sh")
list(APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=64)
list(APPEND MACOSX_BUNDLE_COMMAND sh ${PROJECT_SOURCE_DIR}/tools/osx/macosx_bundle.sh)
add_custom_target(macosx_bundle
COMMAND ${MACOSX_BUNDLE_COMMAND}
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/build
COMMENT "Creating macOS bundle")
endif()

View File

@ -1,35 +1,60 @@
include_directories(${EXTRA_INCDIR}
${EXPAT_INCLUDE_DIRS}
${FFTW3F_INCLUDE_DIRS}
${GLIB2_INCLUDE_DIRS}
${GLIBMM_INCLUDE_DIRS}
${GOBJECT_INCLUDE_DIRS}
${GTHREAD_INCLUDE_DIRS}
${GTKMM_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
${IPTCDATA_INCLUDE_DIRS}
${LCMS_INCLUDE_DIRS}
${LENSFUN_INCLUDE_DIRS}
${RSVG_INCLUDE_DIRS}
)
if(EXTRA_INCDIR)
include_directories("${EXTRA_INCDIR}")
endif()
if(EXPAT_INCLUDE_DIRS)
include_directories("${EXPAT_INCLUDE_DIRS}")
endif()
if(FFTW3F_INCLUDE_DIRS)
include_directories("${FFTW3F_INCLUDE_DIRS}")
endif()
if(GLIB2_INCLUDE_DIRS)
include_directories("${GLIB2_INCLUDE_DIRS}")
endif()
if(GLIBMM_INCLUDE_DIRS)
include_directories("${GLIBMM_INCLUDE_DIRS}")
endif()
if(GOBJECT_INCLUDE_DIRS)
include_directories("${GOBJECT_INCLUDE_DIRS}")
endif()
if(GTHREAD_INCLUDE_DIRS)
include_directories("${GTHREAD_INCLUDE_DIRS}")
endif()
if(GTKMM_INCLUDE_DIRS)
include_directories("${GTKMM_INCLUDE_DIRS}")
endif()
if(GTK_INCLUDE_DIRS)
include_directories("${GTK_INCLUDE_DIRS}")
endif()
if(IPTCDATA_INCLUDE_DIRS)
include_directories("${IPTCDATA_INCLUDE_DIRS}")
endif()
if(LCMS_INCLUDE_DIRS)
include_directories("${LCMS_INCLUDE_DIRS}")
endif()
if(LENSFUN_INCLUDE_DIRS)
include_directories("${LENSFUN_INCLUDE_DIRS}")
endif()
if(RSVG_INCLUDE_DIRS)
include_directories("${RSVG_INCLUDE_DIRS}")
endif()
if(NOT WITH_SYSTEM_KLT)
include_directories("${CMAKE_SOURCE_DIR}/rtengine/klt")
else()
include_directories(${KLT_INCLUDE_DIRS})
include_directories("${KLT_INCLUDE_DIRS}")
endif()
link_directories("${PROJECT_SOURCE_DIR}/rtexif"
${EXPAT_LIBRARY_DIRS}
${EXTRA_LIBDIR}
${FFTW3F_LIBRARY_DIRS}
${GLIB2_LIBRARY_DIRS}
${GLIBMM_LIBRARY_DIRS}
${GOBJECT_LIBRARY_DIRS}
${GTHREAD_LIBRARY_DIRS}
${IPTCDATA_LIBRARY_DIRS}
${LCMS_LIBRARY_DIRS}
${LENSFUN_LIBRARY_DIRS}
${RSVG_LIBRARY_DIRS}
"${EXPAT_LIBRARY_DIRS}"
"${EXTRA_LIBDIR}"
"${FFTW3F_LIBRARY_DIRS}"
"${GLIB2_LIBRARY_DIRS}"
"${GLIBMM_LIBRARY_DIRS}"
"${GOBJECT_LIBRARY_DIRS}"
"${GTHREAD_LIBRARY_DIRS}"
"${IPTCDATA_LIBRARY_DIRS}"
"${LCMS_LIBRARY_DIRS}"
"${LENSFUN_LIBRARY_DIRS}"
"${RSVG_LIBRARY_DIRS}"
)
set(CAMCONSTSFILE "camconst.json")
@ -165,13 +190,13 @@ endif()
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
add_library(rtengine STATIC ${RTENGINESOURCEFILES})
add_library(rtengine STATIC "${RTENGINESOURCEFILES}")
add_dependencies(rtengine UpdateInfo)
# It may be nice to store library version too
if(BUILD_SHARED_LIBS)
install(TARGETS rtengine DESTINATION ${LIBDIR})
install(TARGETS rtengine DESTINATION "${LIBDIR}")
endif()
set_target_properties(rtengine PROPERTIES COMPILE_FLAGS "${RTENGINE_CXX_FLAGS}")

View File

@ -18,12 +18,12 @@ if(WIN32)
link_directories(. "${PROJECT_SOURCE_DIR}/rtexif" ${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS} ${LENSFUN_LIBRARY_DIRS})
else()
set_target_properties(rtexif PROPERTIES COMPILE_FLAGS " -fPIC")
include_directories(${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS})
link_directories(${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS} ${LENSFUN_LIBRARY_DIRS})
include_directories("${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS}")
link_directories("${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS} ${LENSFUN_LIBRARY_DIRS}")
endif()
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
if(BUILD_SHARED_LIBS)
install(TARGETS rtexif DESTINATION ${LIBDIR})
install(TARGETS rtexif DESTINATION "${LIBDIR}")
endif()

View File

@ -164,13 +164,13 @@ set(NONCLISOURCEFILES
zoompanel.cc
)
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
if(APPLE)
find_package(MacIntegration REQUIRED)
# At the time of writing CMake has no module finder for gtkmacintegration so here we have it hard-coded, if installed via macports it should be in /opt/local/...
set(EXTRA_LIB_RTGUI ${MacIntegration_LIBRARIES})
set(EXTRA_INCDIR ${EXTRA_INCDIR} ${MacIntegration_INCLUDE_DIRS})
set(EXTRA_LIB_RTGUI "${MacIntegration_LIBRARIES}")
set(EXTRA_INCDIR "${EXTRA_INCDIR}" "${MacIntegration_INCLUDE_DIRS}")
endif()
if(WIN32)
@ -236,16 +236,16 @@ else()
endif()
# Excluding libatomic needed by Clang/FreeBSD, #3636
if(OPENMP_FOUND AND NOT APPLE AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
set(EXTRA_LIB_RTGUI ${EXTRA_LIB_RTGUI} "atomic")
if(OPENMP_FOUND AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
set(EXTRA_LIB_RTGUI "${EXTRA_LIB_RTGUI}" "atomic")
endif()
# Create config.h which defines where data are stored
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
# Create new executables targets
add_executable(rth ${EXTRA_SRC_NONCLI} ${NONCLISOURCEFILES})
add_executable(rth-cli ${EXTRA_SRC_CLI} ${CLISOURCEFILES})
add_executable(rth "${EXTRA_SRC_NONCLI}" "${NONCLISOURCEFILES}")
add_executable(rth-cli "${EXTRA_SRC_CLI}" "${CLISOURCEFILES}")
# Add dependencies to executables targets
add_dependencies(rth UpdateInfo)
@ -311,5 +311,5 @@ target_link_libraries(rth-cli rtengine
)
# Install executables
install(TARGETS rth DESTINATION ${BINDIR})
install(TARGETS rth-cli DESTINATION ${BINDIR})
install(TARGETS rth DESTINATION "${BINDIR}")
install(TARGETS rth-cli DESTINATION "${BINDIR}")

View File

@ -20,7 +20,12 @@
#include <set>
#include <vector>
#if __has_include(<gtkmm/enums.h>)
#include <gtkmm/enums.h>
#else
#include <gtkmm-3.0/gtkmm/enums.h>
#endif
#include "../rtengine/settings.h"
#include <exception>

View File

@ -404,6 +404,7 @@ function CreateDmg {
# Zip disk image for redistribution
msg "Zipping disk image for redistribution:"
zip "${dmg_name}.zip" "${dmg_name}.dmg"
rm "${dmg_name}.dmg"
msg "Removing disk image caches:"
rm -rf "${srcDir}"