summaryrefslogtreecommitdiff
path: root/samples/build/cmake/CustomSchemaNewDOM/CMakeLists.txt
blob: 508bab7b6f9d8da689d310fc89ce314144fe7d8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# =================================================================================================
# 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)

# ==============================================================================
# Adding Project Name
# ==============================================================================
project (CustomSchemaNewDOM)

# ==============================================================================
add_definitions(-DENABLE_CPP_DOM_MODEL=1)
if(STATIC)
	file (GLOB SOURCE_FILES ${SAMPLE_SOURCE_ROOT}/CustomSchemaNewDOM.cpp )
	source_group("Source Files" FILES ${SOURCE_FILES})
	include_directories( ${XMP_ROOT} )
	include_directories( ${PUBLIC_INCLUDE} )
	add_executable(${PROJECT_NAME} ${SOURCE_FILES})
else(STATIC)
	file (GLOB SOURCE_FILES ${SAMPLE_SOURCE_ROOT}/CustomSchemaNewDOM.cpp )
	file (GLOB CORE_PUBLIC_SOURCE_FILES ${XMP_ROOT}/public/include/XMPCore/source/*.cpp)
	file (GLOB COMMON_PUBLIC_SOURCE_FILES ${XMP_ROOT}/public/include/XMPCommon/source/*.cpp)
	source_group("Source Files" FILES ${SOURCE_FILES})
	source_group("Source Files\\Public\\XMPCore" FILES ${CORE_PUBLIC_SOURCE_FILES})
	source_group("Source Files\\Public\\XMPCommon" FILES ${COMMON_PUBLIC_SOURCE_FILES})
	include_directories( ${XMP_ROOT} )
	include_directories( ${PUBLIC_INCLUDE} )
	add_executable(${PROJECT_NAME} ${SOURCE_FILES} ${CORE_PUBLIC_SOURCE_FILES} ${COMMON_PUBLIC_SOURCE_FILES})
endif(STATIC)

#setting up XMP_BUILDMODE_DIR variable
SetupInternalBuildDirectory()
set (BUILD_MODE_LIBNAME "")
if (USE_BUILDMODE_LIBNAME ) 
	set(BUILD_MODE_LIBNAME ${XMP_BUILDMODE_DIR})
endif()
#addding XMP libs and setting output path
ADD_FRAMEWORK(Cocoa ${PROJECT_NAME})
if(STATIC)
	if(UNIX)
		if(APPLE) #For Mac
			target_link_libraries(${PROJECT_NAME}  ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR}/lib${XMPCORE_LIB}Static${LIB_EXT} ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR}/lib${XMPFILES_LIB}Static${LIB_EXT} )
			set(OUTPUT_DIR ${SAMPLE_SOURCE_ROOT}/../target/${PLATFORM_FOLDER}/) 
			set(EXECUTABLE_OUTPUT_PATH ${OUTPUT_DIR})       
		else(APPLE) #For Linux
			SetPlatformLinkFlags(${PROJECT_NAME} "" "")
			target_link_libraries(${PROJECT_NAME} ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR}/${XMPCORE_LIB}${LIB_EXT} ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR}/${XMPFILES_LIB}${LIB_EXT})
			set(OUTPUT_DIR ${SAMPLE_SOURCE_ROOT}/../target/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR} ) 
			set(EXECUTABLE_OUTPUT_PATH ${OUTPUT_DIR})		
		endif(APPLE)
	else(UNIX) #For Windows
		target_link_libraries(${PROJECT_NAME} ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR}/${XMPCORE_LIB}Static${LIB_EXT} ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR}/${XMPFILES_LIB}Static${LIB_EXT} Rpcrt4.lib)	
		set(OUTPUT_DIR ${SAMPLE_SOURCE_ROOT}/../target/${PLATFORM_FOLDER}/ ) 
		set(EXECUTABLE_OUTPUT_PATH ${OUTPUT_DIR})
	endif(UNIX)
else(STATIC)
	if(UNIX)
		if(APPLE) #For Mac
			target_link_libraries(${PROJECT_NAME}  ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR}/${XMPCORE_LIB}${LIB_EXT}/Versions/A/${XMPCORE_LIB})
			set(OUTPUT_DIR ${SAMPLE_SOURCE_ROOT}/../target/${PLATFORM_FOLDER}/ ) 
			set(EXECUTABLE_OUTPUT_PATH ${OUTPUT_DIR})
       			add_custom_command (TARGET ${PROJECT_NAME} COMMAND ${CMAKE_COMMAND} -E copy_directory ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR} ${OUTPUT_DIR}/${XMP_BUILDMODE_DIR} )
		else(APPLE) #For Linux
			SetPlatformLinkFlags(${PROJECT_NAME} "" "")
			target_link_libraries(${PROJECT_NAME} ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR}/${XMPCORE_LIB}${LIB_EXT} )
			set(OUTPUT_DIR ${SAMPLE_SOURCE_ROOT}/../target/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR} ) 
			set(EXECUTABLE_OUTPUT_PATH ${OUTPUT_DIR})		
			add_custom_command (TARGET ${PROJECT_NAME} COMMAND ${CMAKE_COMMAND} -E copy_directory ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR} ${OUTPUT_DIR} )
		endif(APPLE)
	else(UNIX) #For Windows
		target_link_libraries(${PROJECT_NAME} ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR}/${XMPCORE_LIB}${LIB_EXT} Rpcrt4.lib)	
		set(OUTPUT_DIR ${SAMPLE_SOURCE_ROOT}/../target/${PLATFORM_FOLDER}/ ) 
		set(EXECUTABLE_OUTPUT_PATH ${OUTPUT_DIR})
		add_custom_command (TARGET ${PROJECT_NAME} COMMAND ${CMAKE_COMMAND} -E copy_directory ${XMP_ROOT}/public/libraries/${PLATFORM_FOLDER}/${XMP_BUILDMODE_DIR} ${OUTPUT_DIR}/${XMP_BUILDMODE_DIR} )
	endif(UNIX)
endif(STATIC)

#message (STATUS "Output Folder -> ${OUTPUT_DIR}")
#adding Cocoa for Mac
ADD_FRAMEWORK(Cocoa ${PROJECT_NAME})