# =================================================================================================
# ADOBE SYSTEMS INCORPORATED
# Copyright 2013 Adobe Systems Incorporated
# All Rights Reserved
#
# NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
# of the Adobe license agreement accompanying it.
# =================================================================================================


# ==============================================================================
# define minimum cmake version
# For Android always build with make 3.6
if(ANDROID)
	cmake_minimum_required(VERSION 3.5.2)
else(ANDROID)
	cmake_minimum_required(VERSION 3.15.5)
endif(ANDROID)

# Enable folder grouping of projects in IDEs
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# ==============================================================================
# This project
# ==============================================================================
set(PRODUCT_NAME PDF_Handler)
set(TARGET_NAME ${PRODUCT_NAME})

if(CMAKE_CL_64)
	project(${TARGET_NAME}64)
	set(BITS 64)
else()
	project(${TARGET_NAME})
	set(BITS 32)
endif()


# ==============================================================================
# Shared config
# ==============================================================================
# setup some values before calling shared config
set(XMP_THIS_PROJECT_RELATIVEPATH "../../../")

include(${CMAKE_CURRENT_SOURCE_DIR}/${XMP_THIS_PROJECT_RELATIVEPATH}/build/XMP_Config.cmake)
set(XMP_BUILD_STATIC 0)

if(UNIX)
	if(APPLE)
		set(XMPCORE_LIB "XMPCoreStatic")
	else(APPLE)
		set(XMPCORE_LIB "staticXMPCore")
	endif(APPLE)
else(UNIX)
	if(WIN32)
		set(XMPCORE_LIB "XMPCoreStatic")
	endif(WIN32)
endif(UNIX)
if (UNIX AND APPLE AND NOT ${XMP_BUILD_STATIC})
	# preprocess Info.plist
	#if (${CMAKE_BUILD_TYPE} strequal "Debug")
	if((${CMAKE_BUILD_TYPE} MATCHES "Debug") OR (${CMAKE_BUILD_TYPE} MATCHES "debug"))
			set (INFO_PLIST_FLAGS "-DDEBUG=1")
	else()
		set (INFO_PLIST_FLAGS "-DNDEBUG=1")
	endif()
	
	add_custom_target(${TARGET_NAME}InfoPlist
		COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
		COMMAND if [ $(CONFIGURATION) != Debug ]; then
			${GCCTOOL} -E -P -x c ${RESOURCE_ROOT}/${XMP_PLATFORM_SHORT}/${TARGET_NAME}.plist
			-F${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/
			-DPRODUCT_NAME=${TARGET_NAME} -DMAC_ENV=1 -DNDEBUG=1
			-include ${RESOURCE_ROOT}/${XMP_PLATFORM_SHORT}/${TARGET_NAME}PList.h
			-o ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/Info.plist
			\; else
			${GCCTOOL} -E -P -x c ${RESOURCE_ROOT}/${XMP_PLATFORM_SHORT}/${TARGET_NAME}.plist
			-F${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/
			-DPRODUCT_NAME=${TARGET_NAME} -DMAC_ENV=1 -DDEBUG=1
			-include ${RESOURCE_ROOT}/${XMP_PLATFORM_SHORT}/${TARGET_NAME}PList.h
			-o ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/Info.plist
			\; fi
		COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/../CMakeFiles/${TARGET_NAME}.dir/Info.plist
		COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/Info.plist ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/../CMakeFiles/${TARGET_NAME}.dir/Info.plist
		COMMENT "Preprocessing Info-plist"
	)
	set(DEPENDENCY_LIST "ALL:${XMPCORE_LIB}" "ALL:${TARGET_NAME}InfoPlist")
else ()
	set(DEPENDENCY_LIST "ALL:${XMPCORE_LIB}")
endif()


include(${CMAKE_CURRENT_SOURCE_DIR}/${XMP_THIS_PROJECT_RELATIVEPATH}/XMPFilesPlugins/PDF_Handler/build/CMakeListsCommon.txt)



#setting up XMP_BUILDMODE_DIR variable
SetupInternalBuildDirectory()

# ==============================================================================
# Link dependencies


	if(UNIX AND NOT APPLE)
		target_link_libraries(
			${TARGET_NAME}
			${LIB_MINIPDFL}
			${XMPROOT_DIR}/public/libraries/${XMP_PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR}/${XMPCORE_LIB}.ar 
			${XMP_PLATFORM_LINK}
		)
	else(UNIX AND NOT APPLE)
		target_link_libraries(
			${TARGET_NAME}
			${LIB_MINIPDFL}
			${XMPCORE_LIB}
			${XMP_PLATFORM_LINK}
		)
	endif()

if(WIN32)
	SetWinLinkFlags(${TARGET_NAME} "rpcrt4.lib" "${XMPCORE_LIB}")
else(WIN32)
	if(UNIX AND NOT APPLE)
		SetPlatformLinkFlags(${TARGET_NAME} "\"-Xlinker --version-script -Xlinker ${RESOURCE_ROOT}/${XMP_PLATFORM_SHORT}/${TARGET_NAME}.exp\"" "")
	else()
		set_target_properties(${TARGET_NAME} PROPERTIES BUILD_WITH_INSTALL_RPATH ON BUILD_WITH_INSTALL_NAME_DIR ON INSTALL_NAME_DIR "@executable_path/../Frameworks")
		SetPlatformLinkFlags(${TARGET_NAME} "\"-exported_symbols_list ${RESOURCE_ROOT}/${XMP_PLATFORM_SHORT}/${TARGET_NAME}.exp\"" "")
	endif()
endif()