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
107
.github/workflows/main.yml
vendored
107
.github/workflows/main.yml
vendored
@ -1,81 +1,96 @@
|
|||||||
name: macOS build
|
name: macOS build
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- '**'
|
- dev
|
||||||
|
- patch**
|
||||||
|
- newlocallab
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- dev
|
||||||
|
- newlocallab
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- created
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: macos-latest
|
runs-on: macos-10.15
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- name: Install dependencies
|
- 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: |
|
run: |
|
||||||
mkdir libiconv && cd libiconv
|
date -u
|
||||||
wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
|
mkdir build
|
||||||
tar xf libiconv-1.16.tar.gz
|
date +%s > build/stamp
|
||||||
cd libiconv-1.16
|
brew uninstall --ignore-dependencies libtiff
|
||||||
patch -p1 < "${GITHUB_WORKSPACE}/tools/osx/libiconv_1.16_rt.patch"
|
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
|
||||||
mkdir build && cd build
|
date -u
|
||||||
destDir="$(pwd)"
|
echo "----====Pourage====----"
|
||||||
../configure --prefix=/opt/local --disable-static \
|
cat depslog | grep Pouring
|
||||||
CFLAGS='-arch x86_64 -mmacosx-version-min=10.9' \
|
zsh -c 'echo "Completed installation of dependencies in $(printf "%0.2f" $(($[$(date +%s)-$(cat build/stamp)]/$((60.))))) minutes"'
|
||||||
LDFLAGS='-arch x86_64 -mmacosx-version-min=10.9' \
|
- name: Configure build system
|
||||||
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
|
|
||||||
env:
|
env:
|
||||||
CMAKE_CXX_STANDARD: 11
|
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_MAJOR: '5'
|
||||||
RAW_THERAPEE_MINOR: '8'
|
RAW_THERAPEE_MINOR: '8'
|
||||||
C_FLAGS: >
|
C_FLAGS: >
|
||||||
-Xpreprocessor -fopenmp /usr/local/lib/libomp.dylib
|
-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
|
||||||
-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
|
|
||||||
run: |
|
run: |
|
||||||
# GITHUB_REF is the ref that triggered the build, like
|
# GITHUB_REF is the ref that triggered the build, like
|
||||||
# refs/heads/new-feature - the next line parses that to REF: the branch
|
# refs/heads/new-feature - the next line parses that to REF: the branch
|
||||||
# name only (new-feature)
|
# name only (new-feature)
|
||||||
REF=${GITHUB_REF##*/}
|
export REF=${GITHUB_REF##*/}
|
||||||
mkdir build && cd build
|
export C_FLAGS=$(echo -e $C_FLAGS | tr -d '\n')
|
||||||
|
cd build && date -u && date +%s > configstamp
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_BUILD_TYPE="release" \
|
-DCMAKE_BUILD_TYPE="Release" \
|
||||||
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
|
-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}" \
|
-DCACHE_NAME_SUFFIX="${RAW_THERAPEE_MAJOR}.${RAW_THERAPEE_MINOR}-${REF}" \
|
||||||
-DPROC_TARGET_NUMBER="2" \
|
-DPROC_TARGET_NUMBER="1" \
|
||||||
-DPROC_LABEL="generic processor" \
|
-DPROC_LABEL="generic processor" \
|
||||||
-DWITH_LTO="OFF" \
|
-DWITH_LTO="OFF" \
|
||||||
-DLENSFUNDBDIR="./share/lensfun" \
|
-DLENSFUNDBDIR="/Applications/RawTherapee.app/Contents/Resources/share/lensfun" \
|
||||||
-DOpenMP_C_FLAGS=-fopenmp=libomp \
|
-DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \
|
||||||
-DOpenMP_CXX_FLAGS=-fopenmp=libomp \
|
-DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \
|
||||||
-DOpenMP_C_LIB_NAMES="libomp" \
|
-DCMAKE_C_FLAGS="-arch x86_64 -Wno-pass-failed -Wno-deprecated-register -Wno-unused-command-line-argument" \
|
||||||
-DOpenMP_CXX_LIB_NAMES="libomp" \
|
-DCMAKE_CXX_FLAGS="-arch x86_64 -Wno-pass-failed -Wno-deprecated-register -Wno-unused-command-line-argument" \
|
||||||
-DOpenMP_libomp_LIBRARY="/usr/local/lib/libomp.dylib" \
|
|
||||||
-DOpenMP_C_FLAGS="${C_FLAGS}" \
|
-DOpenMP_C_FLAGS="${C_FLAGS}" \
|
||||||
-DOpenMP_CXX_FLAGS="${C_FLAGS}" \
|
-DOpenMP_CXX_FLAGS="${C_FLAGS}" \
|
||||||
-DCMAKE_AR="/usr/local/opt/llvm/bin/llvm-ar" \
|
-DOpenMP_C_LIB_NAMES=libomp \
|
||||||
-DCMAKE_RANLIB="/usr/local/opt/llvm/bin/llvm-ranlib" \
|
-DOpenMP_CXX_LIB_NAMES=libomp \
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET="10.11" \
|
-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
|
zsh -c 'echo "Configured in $(printf "%0.2f" $(($[$(date +%s)-$(cat configstamp)]/$((60.))))) minutes"'
|
||||||
make install
|
- name: Compile RawTherapee
|
||||||
sudo make macosx_bundle
|
run: |
|
||||||
ARTIFACT=(RawTherapee*.zip)
|
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}"
|
echo "=== artifact: ${ARTIFACT}"
|
||||||
# defining environment variables for next step as per
|
# defining environment variables for next step as per
|
||||||
# https://github.com/actions/starter-workflows/issues/68
|
# https://github.com/actions/starter-workflows/issues/68
|
||||||
echo "::set-env name=ARTIFACT_PATH::${GITHUB_WORKSPACE}/build/${ARTIFACT}"
|
echo "::set-env name=ARTIFACT_PATH::${GITHUB_WORKSPACE}/build/${ARTIFACT}"
|
||||||
echo "::set-env name=ARTIFACT_FILE::${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
|
- uses: actions/upload-artifact@v1
|
||||||
with:
|
with:
|
||||||
name: ${{env.ARTIFACT_FILE}}
|
name: ${{env.ARTIFACT_FILE}}
|
||||||
path: ${{env.ARTIFACT_PATH}}
|
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}
|
OpenMP support: ${OPTION_OMP}
|
||||||
MMAP support: ${WITH_MYFILE_MMAP}
|
MMAP support: ${WITH_MYFILE_MMAP}
|
||||||
Build OS: ${BUILDINFO_OS}
|
Build OS: ${BUILDINFO_OS}
|
||||||
Build date: ${BUILDINFO_DATE} ZULU
|
Build date: ${BUILDINFO_DATE} UTC
|
||||||
Build epoch: ${BUILDINFO_EPOCH}
|
Build epoch: ${BUILDINFO_EPOCH}
|
||||||
Build UUID: ${BUILDINFO_UUID}
|
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
|
# Compiler id for Apple Clang
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
cmake_policy(SET CMP0025 NEW)
|
cmake_policy(SET CMP0025 NEW)
|
||||||
|
cmake_policy(SET CMP0037 NEW)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Must stay before the project() command:
|
# Must stay before the project() command:
|
||||||
@ -145,7 +151,7 @@ if(WIN32)
|
|||||||
CACHE STRING "Additional search paths")
|
CACHE STRING "Additional search paths")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE) # TODO make -mtune generic conditional and/or specifiable.
|
||||||
if(CMAKE_CXX_COMPILER MATCHES "g\\+\\+-mp-4.[5-8]"
|
if(CMAKE_CXX_COMPILER MATCHES "g\\+\\+-mp-4.[5-8]"
|
||||||
OR CMAKE_CXX_COMPILER_ARG1 MATCHES "g\\+\\+-mp-4.[5-8]")
|
OR CMAKE_CXX_COMPILER_ARG1 MATCHES "g\\+\\+-mp-4.[5-8]")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS
|
set(CMAKE_EXE_LINKER_FLAGS
|
||||||
@ -210,7 +216,7 @@ endif()
|
|||||||
|
|
||||||
if(NOT DEFINED BUNDLE_BASE_INSTALL_DIR)
|
if(NOT DEFINED BUNDLE_BASE_INSTALL_DIR)
|
||||||
if(APPLE)
|
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()
|
else()
|
||||||
set(BUNDLE_BASE_INSTALL_DIR "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}")
|
set(BUNDLE_BASE_INSTALL_DIR "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}")
|
||||||
endif()
|
endif()
|
||||||
@ -219,7 +225,7 @@ endif()
|
|||||||
if(BUILD_BUNDLE)
|
if(BUILD_BUNDLE)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(BINDIR "${BUNDLE_BASE_INSTALL_DIR}")
|
set(BINDIR "${BUNDLE_BASE_INSTALL_DIR}")
|
||||||
set(CMAKE_INSTALL_PREFIX ".")
|
set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/build")
|
||||||
else()
|
else()
|
||||||
set(BINDIR .)
|
set(BINDIR .)
|
||||||
set(CMAKE_INSTALL_PREFIX "${BUNDLE_BASE_INSTALL_DIR}")
|
set(CMAKE_INSTALL_PREFIX "${BUNDLE_BASE_INSTALL_DIR}")
|
||||||
@ -233,7 +239,7 @@ endif()
|
|||||||
if(NOT DEFINED DATADIR)
|
if(NOT DEFINED DATADIR)
|
||||||
if(BUILD_BUNDLE)
|
if(BUILD_BUNDLE)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(DATADIR "${CMAKE_BUILD_TYPE}/Resources/share")
|
set(DATADIR "${PROJECT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/Resources/share")
|
||||||
else()
|
else()
|
||||||
set(DATADIR .)
|
set(DATADIR .)
|
||||||
endif()
|
endif()
|
||||||
@ -245,7 +251,7 @@ endif()
|
|||||||
if(NOT DEFINED LIBDIR)
|
if(NOT DEFINED LIBDIR)
|
||||||
if(BUILD_BUNDLE)
|
if(BUILD_BUNDLE)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(LIBDIR "${CMAKE_BUILD_TYPE}/Frameworks")
|
set(LIBDIR "${PROJECT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE}/Frameworks")
|
||||||
else()
|
else()
|
||||||
set(LIBDIR .)
|
set(LIBDIR .)
|
||||||
endif()
|
endif()
|
||||||
@ -362,8 +368,10 @@ if(APPLE)
|
|||||||
set(LOCAL_PREFIX
|
set(LOCAL_PREFIX
|
||||||
"${LOCAL_PREFIX}"
|
"${LOCAL_PREFIX}"
|
||||||
CACHE STRING "macos/gtk parent directory ie /usr or /opt")
|
CACHE STRING "macos/gtk parent directory ie /usr or /opt")
|
||||||
elseif(NOT DEFINED LOCAL_PREFIX)
|
else()
|
||||||
set(LOCAL_PREFIX "/usr")
|
set(LOCAL_PREFIX
|
||||||
|
/usr
|
||||||
|
CACHE STRING "macos/gtk parent directory ie /usr or /opt")
|
||||||
endif()
|
endif()
|
||||||
if("${FANCY_DMG}")
|
if("${FANCY_DMG}")
|
||||||
set(FANCY_DMG
|
set(FANCY_DMG
|
||||||
@ -612,12 +620,10 @@ else()
|
|||||||
set(PROC_BIT_DEPTH 64 bits)
|
set(PROC_BIT_DEPTH 64 bits)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Get compiler name and version. Only CMake > 2.8.7 knows
|
# Get compiler name and version.
|
||||||
# CMAKE_*_COMPILER_VERSION
|
|
||||||
if(CMAKE_VERSION VERSION_GREATER 2.8.7)
|
|
||||||
get_filename_component(COMPILER_INFO ${CMAKE_C_COMPILER} NAME_WE)
|
get_filename_component(COMPILER_INFO ${CMAKE_C_COMPILER} NAME_WE)
|
||||||
set(COMPILER_INFO "${COMPILER_INFO} ${CMAKE_C_COMPILER_VERSION}")
|
set(COMPILER_INFO "${COMPILER_INFO} ${CMAKE_C_COMPILER_VERSION}")
|
||||||
else()
|
if(NOT APPLE)
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND gcc -dumpversion
|
COMMAND gcc -dumpversion
|
||||||
OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
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}}"
|
"${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${UPPER_CMAKE_BUILD_TYPE}}"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(ABOUT_COMMAND_WITH_ARGS
|
if(NOT APPLE)
|
||||||
|
set(ABOUT_COMMAND_WITH_ARGS
|
||||||
${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR:STRING=${PROJECT_SOURCE_DIR}
|
${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR:STRING=${PROJECT_SOURCE_DIR}
|
||||||
-DCACHE_NAME_SUFFIX:STRING=${CACHE_NAME_SUFFIX}
|
-DCACHE_NAME_SUFFIX:STRING=${CACHE_NAME_SUFFIX}
|
||||||
-DPROC_LABEL:STRING="${PROC_LABEL}"
|
-DPROC_LABEL:STRING="${PROC_LABEL}"
|
||||||
-DPROC_BIT_DEPTH:STRING="${PROC_BIT_DEPTH}"
|
-DPROC_BIT_DEPTH:STRING="${PROC_BIT_DEPTH}"
|
||||||
-DBUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
-DBUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||||
-DGTKMM_VERSION:STRING=${GTKMM_VERSION} -DOPTION_OMP:STRING=${OPTION_OMP}
|
-DGTKMM_VERSION:STRING=${GTKMM_VERSION}
|
||||||
|
-DOPTION_OMP:STRING=${OPTION_OMP}
|
||||||
-DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP}
|
-DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP}
|
||||||
-DLENSFUN_VERSION:STRING=${LENSFUN_VERSION})
|
-DLENSFUN_VERSION:STRING=${LENSFUN_VERSION})
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
list(
|
list(
|
||||||
@ -654,16 +663,19 @@ if(WIN32)
|
|||||||
-DCMAKE_INSTALL_PREFIX:STRING="${CMAKE_INSTALL_PREFIX}"
|
-DCMAKE_INSTALL_PREFIX:STRING="${CMAKE_INSTALL_PREFIX}"
|
||||||
-DBIT_DEPTH:STRING="${CMAKE_SIZEOF_VOID_P}")
|
-DBIT_DEPTH:STRING="${CMAKE_SIZEOF_VOID_P}")
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
list(APPEND ABOUT_COMMAND_WITH_ARGS -DSYSTEM:STRING=Apple
|
set(
|
||||||
-DCXX_FLAGS:STRING=${CXX_FLAGS} -DLFLAGS:STRING=${LFLAGS}
|
ABOUT_COMMAND_WITH_ARGS
|
||||||
-DCOMPILER_INFO:STRING=${COMPILER_INFO})
|
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()
|
else()
|
||||||
list(APPEND ABOUT_COMMAND_WITH_ARGS -DSYSTEM:STRING=Linux
|
list(APPEND ABOUT_COMMAND_WITH_ARGS -DSYSTEM:STRING=Linux
|
||||||
-DCXX_FLAGS:STRING=${CXX_FLAGS} -DLFLAGS:STRING=${LFLAGS}
|
-DCXX_FLAGS:STRING=${CXX_FLAGS} -DLFLAGS:STRING=${LFLAGS}
|
||||||
-DCOMPILER_INFO:STRING=${COMPILER_INFO})
|
-DCOMPILER_INFO:STRING=${COMPILER_INFO})
|
||||||
endif()
|
endif()
|
||||||
|
if(NOT APPLE)
|
||||||
list(APPEND ABOUT_COMMAND_WITH_ARGS -P "${PROJECT_SOURCE_DIR}/UpdateInfo.cmake")
|
list(APPEND
|
||||||
|
ABOUT_COMMAND_WITH_ARGS
|
||||||
|
-P "${PROJECT_SOURCE_DIR}/UpdateInfo.cmake")
|
||||||
|
endif()
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
UpdateInfo ALL
|
UpdateInfo ALL
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
# cmakefile executed within a makefile target
|
# 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
|
# 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)
|
find_file(REL_INFO_FILE ReleaseInfo.cmake PATHS "${PROJECT_SOURCE_DIR}" NO_DEFAULT_PATH)
|
||||||
if(REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND)
|
if(REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND)
|
||||||
@ -68,7 +72,6 @@ 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 -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 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)
|
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 "Git checkout information:")
|
||||||
message(STATUS " Commit description: ${GIT_DESCRIBE}")
|
message(STATUS " Commit description: ${GIT_DESCRIBE}")
|
||||||
message(STATUS " Branch: ${GIT_BRANCH}")
|
message(STATUS " Branch: ${GIT_BRANCH}")
|
||||||
@ -79,7 +82,7 @@ if(REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND)
|
|||||||
message(STATUS " Version (unreliable): ${GIT_NUMERIC_VERSION_BS}")
|
message(STATUS " Version (unreliable): ${GIT_NUMERIC_VERSION_BS}")
|
||||||
message(STATUS "Build information:")
|
message(STATUS "Build information:")
|
||||||
message(STATUS " Build OS: ${BUILDINFO_OS}")
|
message(STATUS " Build OS: ${BUILDINFO_OS}")
|
||||||
message(STATUS " Build date: ${BUILDINFO_DATE}")
|
message(STATUS " Build date: ${BUILDINFO_DATE} UTC")
|
||||||
message(STATUS " Epoch: ${BUILDINFO_EPOCH}")
|
message(STATUS " Epoch: ${BUILDINFO_EPOCH}")
|
||||||
message(STATUS " UUID: ${BUILDINFO_UUID}")
|
message(STATUS " UUID: ${BUILDINFO_UUID}")
|
||||||
|
|
||||||
|
@ -47,8 +47,8 @@ if(WIN32)
|
|||||||
install(FILES ${FONTS} DESTINATION "${DATADIR}/fonts")
|
install(FILES ${FONTS} DESTINATION "${DATADIR}/fonts")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(DIRECTORY ${PROFILESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.pp3")
|
install(DIRECTORY "${PROFILESDIR}" DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.pp3")
|
||||||
install(DIRECTORY ${THEMEDIR} DESTINATION "${DATADIR}")
|
install(DIRECTORY "${THEMEDIR}" DESTINATION "${DATADIR}")
|
||||||
|
|
||||||
install(FILES ${IMG_SVG} DESTINATION "${DATADIR}/images")
|
install(FILES ${IMG_SVG} DESTINATION "${DATADIR}/images")
|
||||||
install(FILES ${IMG_PNG} DESTINATION "${DATADIR}/images")
|
install(FILES ${IMG_PNG} DESTINATION "${DATADIR}/images")
|
||||||
@ -57,19 +57,15 @@ install(FILES ${IMG_ICO} DESTINATION "${DATADIR}/images")
|
|||||||
if(APPLE)
|
if(APPLE)
|
||||||
# CMake escapes first item quote character. Do not remove 'DUMMY_VARIABLE='
|
# CMake escapes first item quote character. Do not remove 'DUMMY_VARIABLE='
|
||||||
set(MACOSX_BUNDLE_COMMAND DUMMY_VARIABLE=
|
set(MACOSX_BUNDLE_COMMAND DUMMY_VARIABLE=
|
||||||
PROJECT_NAME="${PROJECT_NAME}"
|
PROJECT_NAME=${PROJECT_NAME}
|
||||||
PROJECT_SOURCE_DIR="${PROJECT_SOURCE_DIR}"
|
PROJECT_SOURCE_DIR="${PROJECT_SOURCE_DIR}"
|
||||||
CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"
|
CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||||
GTK_PREFIX="${GTK_PREFIX}")
|
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)
|
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 sh "${PROJECT_SOURCE_DIR}/tools/osx/macosx_bundle.sh")
|
|
||||||
|
|
||||||
add_custom_target(macosx_bundle
|
add_custom_target(macosx_bundle
|
||||||
COMMAND ${MACOSX_BUNDLE_COMMAND}
|
COMMAND ${MACOSX_BUNDLE_COMMAND}
|
||||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/build
|
||||||
COMMENT "Creating macOS bundle")
|
COMMENT "Creating macOS bundle")
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,35 +1,60 @@
|
|||||||
include_directories(${EXTRA_INCDIR}
|
if(EXTRA_INCDIR)
|
||||||
${EXPAT_INCLUDE_DIRS}
|
include_directories("${EXTRA_INCDIR}")
|
||||||
${FFTW3F_INCLUDE_DIRS}
|
endif()
|
||||||
${GLIB2_INCLUDE_DIRS}
|
if(EXPAT_INCLUDE_DIRS)
|
||||||
${GLIBMM_INCLUDE_DIRS}
|
include_directories("${EXPAT_INCLUDE_DIRS}")
|
||||||
${GOBJECT_INCLUDE_DIRS}
|
endif()
|
||||||
${GTHREAD_INCLUDE_DIRS}
|
if(FFTW3F_INCLUDE_DIRS)
|
||||||
${GTKMM_INCLUDE_DIRS}
|
include_directories("${FFTW3F_INCLUDE_DIRS}")
|
||||||
${GTK_INCLUDE_DIRS}
|
endif()
|
||||||
${IPTCDATA_INCLUDE_DIRS}
|
if(GLIB2_INCLUDE_DIRS)
|
||||||
${LCMS_INCLUDE_DIRS}
|
include_directories("${GLIB2_INCLUDE_DIRS}")
|
||||||
${LENSFUN_INCLUDE_DIRS}
|
endif()
|
||||||
${RSVG_INCLUDE_DIRS}
|
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)
|
if(NOT WITH_SYSTEM_KLT)
|
||||||
include_directories("${CMAKE_SOURCE_DIR}/rtengine/klt")
|
include_directories("${CMAKE_SOURCE_DIR}/rtengine/klt")
|
||||||
else()
|
else()
|
||||||
include_directories(${KLT_INCLUDE_DIRS})
|
include_directories("${KLT_INCLUDE_DIRS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
link_directories("${PROJECT_SOURCE_DIR}/rtexif"
|
link_directories("${PROJECT_SOURCE_DIR}/rtexif"
|
||||||
${EXPAT_LIBRARY_DIRS}
|
"${EXPAT_LIBRARY_DIRS}"
|
||||||
${EXTRA_LIBDIR}
|
"${EXTRA_LIBDIR}"
|
||||||
${FFTW3F_LIBRARY_DIRS}
|
"${FFTW3F_LIBRARY_DIRS}"
|
||||||
${GLIB2_LIBRARY_DIRS}
|
"${GLIB2_LIBRARY_DIRS}"
|
||||||
${GLIBMM_LIBRARY_DIRS}
|
"${GLIBMM_LIBRARY_DIRS}"
|
||||||
${GOBJECT_LIBRARY_DIRS}
|
"${GOBJECT_LIBRARY_DIRS}"
|
||||||
${GTHREAD_LIBRARY_DIRS}
|
"${GTHREAD_LIBRARY_DIRS}"
|
||||||
${IPTCDATA_LIBRARY_DIRS}
|
"${IPTCDATA_LIBRARY_DIRS}"
|
||||||
${LCMS_LIBRARY_DIRS}
|
"${LCMS_LIBRARY_DIRS}"
|
||||||
${LENSFUN_LIBRARY_DIRS}
|
"${LENSFUN_LIBRARY_DIRS}"
|
||||||
${RSVG_LIBRARY_DIRS}
|
"${RSVG_LIBRARY_DIRS}"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CAMCONSTSFILE "camconst.json")
|
set(CAMCONSTSFILE "camconst.json")
|
||||||
@ -165,13 +190,13 @@ endif()
|
|||||||
|
|
||||||
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
|
|
||||||
add_library(rtengine STATIC ${RTENGINESOURCEFILES})
|
add_library(rtengine STATIC "${RTENGINESOURCEFILES}")
|
||||||
|
|
||||||
add_dependencies(rtengine UpdateInfo)
|
add_dependencies(rtengine UpdateInfo)
|
||||||
|
|
||||||
# It may be nice to store library version too
|
# It may be nice to store library version too
|
||||||
if(BUILD_SHARED_LIBS)
|
if(BUILD_SHARED_LIBS)
|
||||||
install(TARGETS rtengine DESTINATION ${LIBDIR})
|
install(TARGETS rtengine DESTINATION "${LIBDIR}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_target_properties(rtengine PROPERTIES COMPILE_FLAGS "${RTENGINE_CXX_FLAGS}")
|
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})
|
link_directories(. "${PROJECT_SOURCE_DIR}/rtexif" ${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS} ${LENSFUN_LIBRARY_DIRS})
|
||||||
else()
|
else()
|
||||||
set_target_properties(rtexif PROPERTIES COMPILE_FLAGS " -fPIC")
|
set_target_properties(rtexif PROPERTIES COMPILE_FLAGS " -fPIC")
|
||||||
include_directories(${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_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})
|
link_directories("${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS} ${LENSFUN_LIBRARY_DIRS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
|
|
||||||
if(BUILD_SHARED_LIBS)
|
if(BUILD_SHARED_LIBS)
|
||||||
install(TARGETS rtexif DESTINATION ${LIBDIR})
|
install(TARGETS rtexif DESTINATION "${LIBDIR}")
|
||||||
endif()
|
endif()
|
||||||
|
@ -164,13 +164,13 @@ set(NONCLISOURCEFILES
|
|||||||
zoompanel.cc
|
zoompanel.cc
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
find_package(MacIntegration REQUIRED)
|
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/...
|
# 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_LIB_RTGUI "${MacIntegration_LIBRARIES}")
|
||||||
set(EXTRA_INCDIR ${EXTRA_INCDIR} ${MacIntegration_INCLUDE_DIRS})
|
set(EXTRA_INCDIR "${EXTRA_INCDIR}" "${MacIntegration_INCLUDE_DIRS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@ -236,16 +236,16 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Excluding libatomic needed by Clang/FreeBSD, #3636
|
# Excluding libatomic needed by Clang/FreeBSD, #3636
|
||||||
if(OPENMP_FOUND AND NOT APPLE AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
|
if(OPENMP_FOUND AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
||||||
set(EXTRA_LIB_RTGUI ${EXTRA_LIB_RTGUI} "atomic")
|
set(EXTRA_LIB_RTGUI "${EXTRA_LIB_RTGUI}" "atomic")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Create config.h which defines where data are stored
|
# Create config.h which defines where data are stored
|
||||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
|
||||||
|
|
||||||
# Create new executables targets
|
# Create new executables targets
|
||||||
add_executable(rth ${EXTRA_SRC_NONCLI} ${NONCLISOURCEFILES})
|
add_executable(rth "${EXTRA_SRC_NONCLI}" "${NONCLISOURCEFILES}")
|
||||||
add_executable(rth-cli ${EXTRA_SRC_CLI} ${CLISOURCEFILES})
|
add_executable(rth-cli "${EXTRA_SRC_CLI}" "${CLISOURCEFILES}")
|
||||||
|
|
||||||
# Add dependencies to executables targets
|
# Add dependencies to executables targets
|
||||||
add_dependencies(rth UpdateInfo)
|
add_dependencies(rth UpdateInfo)
|
||||||
@ -311,5 +311,5 @@ target_link_libraries(rth-cli rtengine
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Install executables
|
# Install executables
|
||||||
install(TARGETS rth DESTINATION ${BINDIR})
|
install(TARGETS rth DESTINATION "${BINDIR}")
|
||||||
install(TARGETS rth-cli DESTINATION ${BINDIR})
|
install(TARGETS rth-cli DESTINATION "${BINDIR}")
|
||||||
|
@ -20,7 +20,12 @@
|
|||||||
|
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#if __has_include(<gtkmm/enums.h>)
|
||||||
#include <gtkmm/enums.h>
|
#include <gtkmm/enums.h>
|
||||||
|
#else
|
||||||
|
#include <gtkmm-3.0/gtkmm/enums.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "../rtengine/settings.h"
|
#include "../rtengine/settings.h"
|
||||||
#include <exception>
|
#include <exception>
|
||||||
|
|
||||||
|
@ -404,6 +404,7 @@ function CreateDmg {
|
|||||||
|
|
||||||
# Zip disk image for redistribution
|
# Zip disk image for redistribution
|
||||||
msg "Zipping disk image for redistribution:"
|
msg "Zipping disk image for redistribution:"
|
||||||
|
zip "${dmg_name}.zip" "${dmg_name}.dmg"
|
||||||
rm "${dmg_name}.dmg"
|
rm "${dmg_name}.dmg"
|
||||||
msg "Removing disk image caches:"
|
msg "Removing disk image caches:"
|
||||||
rm -rf "${srcDir}"
|
rm -rf "${srcDir}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user