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:
parent
c7c1dec9cb
commit
fbe718b64f
|
@ -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"'
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}")
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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}")
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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}")
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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}"
|
||||
|
|
Loading…
Reference in New Issue