cmake_minimum_required(VERSION 3.12)
project(MakoWrapper)

# Basic Setup
set(COMPILER /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++)
set(SDKDIR /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk)
set(CCFLAGS "-mmacosx-version-min=10.11 -stdlib=libc++ -isysroot ${SDKDIR} -D MAKOWRAPPER_EXPORTS")
set(LINKFLAGS "-mmacosx-version-min=10.11 -fvisibility=hidden -bundle -stdlib=libc++ -isysroot ${SDKDIR} -framework Cocoa")
set(LIBDIR ${CMAKE_SOURCE_DIR}/Mako/libs/)

# Compiler setup
set(CMAKE_CXX_COMPILER ${COMPILER})
set(CMAKE_CXX_FLAGS "${CCFLAGS}")

include_directories(Mako)
include_directories(Mako/interface)

#Static library (libMakoWrapperLib.a)
add_library(MakoWrapperLib STATIC
        Mako/WrapperLib/APIHelper.cpp
        Mako/WrapperLib/APIHelper.h
        Mako/WrapperLib/CropboxTransformer.cpp
        Mako/WrapperLib/CropboxTransformer.h
        Mako/WrapperLib/IPageRenderer.cpp
        Mako/WrapperLib/IPageRenderer.h
        Mako/WrapperLib/IPageTransformer.cpp
        Mako/WrapperLib/IPageTransformer.h
        Mako/WrapperLib/MakoAssembly.cpp
        Mako/WrapperLib/MakoAssembly.h
        Mako/WrapperLib/MakoDocument.cpp
        Mako/WrapperLib/MakoDocument.h
        Mako/WrapperLib/PageRenderer.cpp
        Mako/WrapperLib/PageRenderer.h
        Mako/WrapperLib/PageRotationTransformer.cpp
        Mako/WrapperLib/PageRotationTransformer.h
        Mako/WrapperLib/Types.h)

#Shared library (libMakoWrapperDll.so)
add_library(MakoWrapperDll MODULE
        Mako/WrapperDll/MakoWrapperDll.cpp
        Mako/WrapperDll/MakoWrapperDll.h)

target_link_libraries(MakoWrapperDll
        MakoWrapperLib
        ${LIBDIR}/edljaws3.a
        ${LIBDIR}/edllib.a
        ${LIBDIR}/edlpcl5out.a
        ${LIBDIR}/edlpclxlout.a
        ${LIBDIR}/edlquartzrenderer.a
        ${LIBDIR}/edlxpsin.a
        ${LIBDIR}/jawsmako.a
        ${LIBDIR}/libjawsmakotext.a
        ${LINKFLAGS})

add_custom_command(
        TARGET MakoWrapperDll POST_BUILD
        COMMAND ${CMAKE_COMMAND} -E copy
        ${CMAKE_SOURCE_DIR}/Mako/libs/edlpspdfout.so
        ${CMAKE_CURRENT_BINARY_DIR}/edlpspdfout.so)