File: CMakeLists.txt

package info (click to toggle)
posterazor 1.5.1-10
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 1,544 kB
  • sloc: cpp: 9,752; xml: 56; sh: 21; makefile: 6
file content (175 lines) | stat: -rw-r--r-- 4,692 bytes parent folder | download
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
cmake_minimum_required(VERSION 3.16)

PROJECT(PosteRazor)

IF (WIN32 OR APPLE)
	SET(POSTERAZOR_ENABLEGLPREVIEW TRUE)
	SET(POSTERAZOR_ENABLELAUNCHURLSORFILES TRUE)
ENDIF (WIN32 OR APPLE)

IF (MSVC)
	SET(POSTERAZOR_WIN32STATICRUNTIMES TRUE)
	SET(POSTERAZOR_DEFINITIONS
		${POSTERAZOR_DEFINITIONS}
		-D_CRT_SECURE_NO_WARNINGS
	)
ENDIF (MSVC)

SET(POSTERAZOR_CORESOURCES
	ImageIOTypes.cpp
	PosteRazor.cpp
	PosteRazorImageIO.cpp
	PosteRazorPDFOutput.cpp
	UnitsOfLength.cpp
	PaperFormats.cpp
	PaintCanvasBase.cpp
)

SET(POSTERAZOR_UISOURCES
	Translations.cpp
	FlPaintCanvasGroup.cpp
	FlDrawPaintCanvas.cpp
	FlPersistentPreferences.cpp
	FlImageTextButton.cpp
	FlPosteRazorSpinner.cpp
	PosteRazorDialogController.cpp
	PosteRazorWizardDialogController.cpp
	FlPosteRazorDialog.cpp
	FlPosteRazorHelpDialog.cpp
	FlPosteRazorSettingsDialog.cpp
	FlPosteRazorDialogUI.cpp
	thirdparty/Fl_Native_File_Chooser/Fl_Native_File_Chooser.cxx
)

SET(POSTERAZOR_INCLUDEDIRECTORIES
	thirdparty/Fl_Native_File_Chooser
)

IF (POSTERAZOR_ENABLEGLPREVIEW)
	SET(POSTERAZOR_UISOURCES
		${POSTERAZOR_UISOURCES}
		FlGlPaintCanvas.cpp
	)
ENDIF (POSTERAZOR_ENABLEGLPREVIEW)

SET(POSTERAZOR_SOURCES
	${POSTERAZOR_CORESOURCES}
	${POSTERAZOR_UISOURCES}
)

SET(POSTERAZOR_DEFINITIONS
	${POSTERAZOR_DEFINITIONS}
	-DFREEIMAGE_LIB
)

IF (NOT POSTERAZOR_ENABLEGLPREVIEW)
	SET(POSTERAZOR_DEFINITIONS
		${POSTERAZOR_DEFINITIONS}
		-DNO_OPENGL_PREVIEW
	)
ENDIF (NOT POSTERAZOR_ENABLEGLPREVIEW)

IF (NOT POSTERAZOR_ENABLELAUNCHURLSORFILES)
	SET(POSTERAZOR_DEFINITIONS
		${POSTERAZOR_DEFINITIONS}
		-DNO_LAUNCH_URLS_OR_FILES
	)
ENDIF (NOT POSTERAZOR_ENABLELAUNCHURLSORFILES)

IF (WIN32)
	SET(POSTERAZOR_EXECUTABLE WIN32 ${POSTERAZOR_SOURCES} PosteRazorUI.rc)
	SET(POSTERAZOR_INCLUDEDIRECTORIES ${POSTERAZOR_INCLUDEDIRECTORIES}
		thirdparty/FreeImage/Dist
		thirdparty/fltk-1.1
	)
	SET(POSTERAZOR_LINKDIRECTORIES
		thirdparty/FreeImage/Dist
		thirdparty/fltk-1.1/lib
	)
	SET(POSTERAZOR_LINKLIBRARIES
		debug FreeImaged
		optimized FreeImage
		debug fltkd
		optimized fltk
		wsock32
		comctl32
	)
	IF (POSTERAZOR_ENABLEGLPREVIEW)
		SET(POSTERAZOR_LINKLIBRARIES
			${POSTERAZOR_LINKLIBRARIES}
			debug fltkgld
			optimized fltkgl
			glu32
			opengl32
		)
	ENDIF (POSTERAZOR_ENABLEGLPREVIEW)
	IF (POSTERAZOR_WIN32STATICRUNTIMES)
		SET(POSTERAZOR_LINKLIBRARIES
			${POSTERAZOR_LINKLIBRARIES}
			debug libcmtd
			optimized libcmt
		)
		SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /RTCs /MTd /Zi /Od")
		SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2 /Ob2 /D NDEBUG")
		SET(POSTERAZOR_TARGET_PROPERTIES PROPERTIES LINK_FLAGS_DEBUG "/DEBUG")
	ELSE (POSTERAZOR_WIN32STATICRUNTIMES)
		SET(POSTERAZOR_TARGET_PROPERTIES PROPERTIES
			LINK_FLAGS_DEBUG "/nodefaultlib:LIBCMTD"
			LINK_FLAGS_RELEASE "/nodefaultlib:LIBCMT"
		)
	ENDIF (POSTERAZOR_WIN32STATICRUNTIMES)
ENDIF (WIN32)

IF (APPLE)
	SET(POSTERAZOR_EXECUTABLE MACOSX_BUNDLE ${POSTERAZOR_SOURCES})
	SET(POSTERAZOR_LINKLIBRARIES
		fltk
		fltk_gl
		freeimage
		"-framework Carbon -framework AGL -framework ApplicationServices -framework OpenGL -lz"
	)
ENDIF(APPLE)

IF (UNIX AND NOT APPLE)
	SET(POSTERAZOR_EXECUTABLE ${POSTERAZOR_SOURCES})
	SET(POSTERAZOR_LINKLIBRARIES
		fltk
		fltk_images
		freeimage
		X11
		Xpm
#		Xft
#		Xinerama
	)
	IF (POSTERAZOR_ENABLEGLPREVIEW)
		SET(POSTERAZOR_LINKLIBRARIES
			${POSTERAZOR_LINKLIBRARIES}
			fltk_gl
		)
	ENDIF (POSTERAZOR_ENABLEGLPREVIEW)
ENDIF (UNIX AND NOT APPLE)

LINK_DIRECTORIES(${POSTERAZOR_LINKDIRECTORIES})
ADD_EXECUTABLE(PosteRazor ${POSTERAZOR_EXECUTABLE})
IF (DEFINED POSTERAZOR_TARGET_PROPERTIES)
	SET_TARGET_PROPERTIES(PosteRazor ${POSTERAZOR_TARGET_PROPERTIES})
ENDIF (DEFINED POSTERAZOR_TARGET_PROPERTIES)
ADD_DEFINITIONS(${POSTERAZOR_DEFINITIONS})
INCLUDE_DIRECTORIES(${POSTERAZOR_INCLUDEDIRECTORIES})
TARGET_LINK_LIBRARIES(PosteRazor ${POSTERAZOR_LINKLIBRARIES})

IF (APPLE)
	GET_TARGET_PROPERTY(MACOSX_BUNDLE_LOCATION PosteRazor LOCATION)
	SET(MACOSX_CONTENTS_PATH ${MACOSX_BUNDLE_LOCATION}.app/Contents)
	SET(MACOSX_RESOURCES_PATH ${MACOSX_CONTENTS_PATH}/Resources)
	ADD_CUSTOM_COMMAND(TARGET PosteRazor POST_BUILD
		COMMAND mkdir ARGS -p ${MACOSX_RESOURCES_PATH}
		COMMAND cp ARGS PosteRazor.icns ${MACOSX_RESOURCES_PATH}
		COMMAND cp ARGS Info.plist ${MACOSX_CONTENTS_PATH}
		COMMAND strip ARGS ${MACOSX_CONTENTS_PATH}/MacOS/PosteRazor
		)
	FOREACH(language English German French Italian Dutch Spanish BrazilianPortuguese)
		ADD_CUSTOM_COMMAND(TARGET PosteRazor POST_BUILD
			COMMAND mkdir ARGS -p ${MACOSX_RESOURCES_PATH}/${language}.lproj)
	ENDFOREACH(language)
ENDIF(APPLE)