@@ -25,24 +25,52 @@ endif()
25
25
26
26
set (INSTALL_LIB_DIR "${GSKIT} /lib" CACHE PATH "Installation directory for libraries" )
27
27
set (INSTALL_INC_DIR "${GSKIT} /include" CACHE PATH "Installation directory for headers" )
28
+ set (INSTALL_PKGCONFIG_DIR "${GSKIT} /lib/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files" )
28
29
29
30
set (GSKIT_EXTERNAL_LIBS "" )
31
+ set (GSKIT_EXTERNAL_INCLUDES "" )
32
+
33
+ set (CUR_GIT_TAG v0.0.0)
34
+ find_package (Git)
35
+ if (GIT_FOUND)
36
+ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR} /.git)
37
+ execute_process (COMMAND ${GIT_EXECUTABLE} describe --abbrev=0 --tags
38
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
39
+ OUTPUT_VARIABLE TMP_GIT_TAG
40
+ RESULT_VARIABLE TMP_RES
41
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
42
+ if (TMP_RES EQUAL "0" )
43
+ set (CUR_GIT_TAG ${TMP_GIT_TAG} )
44
+ endif ()
45
+ endif ()
46
+ endif ()
47
+
48
+ string (REGEX REPLACE "^v" "" CUR_VERSION ${CUR_GIT_TAG} )
30
49
31
50
find_library (LIBJPEG_LIBRARY NAMES jpeg)
32
51
find_path (LIBJPEG_INCLUDE_DIR NAMES jpeglib.h)
33
52
34
53
if (LIBJPEG_LIBRARY)
35
54
list (APPEND GSKIT_EXTERNAL_LIBS ${LIBJPEG_LIBRARY} )
36
- include_directories ( ${LIBJPEG_INCLUDE_DIR} )
55
+ list ( APPEND GSKIT_EXTERNAL_INCLUDES ${LIBJPEG_INCLUDE_DIR} )
37
56
add_definitions (-DHAVE_LIBJPEG)
38
57
endif ()
39
58
59
+ find_library (LIBLZMA_LIBRARY NAMES lzma)
60
+ find_path (LIBLZMA_INCLUDE_DIR NAMES lzma.h)
61
+
62
+ if (LIBLZMA_LIBRARY)
63
+ list (APPEND GSKIT_EXTERNAL_LIBS ${LIBLZMA_LIBRARY} )
64
+ list (APPEND GSKIT_EXTERNAL_INCLUDES ${LIBLZMA_INCLUDE_DIR} )
65
+ add_definitions (-DHAVE_LIBLZMA)
66
+ endif ()
67
+
40
68
find_library (LIBTIFF_LIBRARY NAMES tiff)
41
69
find_path (LIBTIFF_INCLUDE_DIR NAMES tiff.h)
42
70
43
71
if (LIBTIFF_LIBRARY)
44
- list (APPEND GSKIT_EXTERNAL_LIBS lzma ${LIBTIFF_LIBRARY} )
45
- include_directories ( ${LIBTIFF_INCLUDE_DIR} )
72
+ list (APPEND GSKIT_EXTERNAL_LIBS ${LIBTIFF_LIBRARY} )
73
+ list ( APPEND GSKIT_EXTERNAL_INCLUDES ${LIBTIFF_INCLUDE_DIR} )
46
74
add_definitions (-DHAVE_LIBTIFF)
47
75
endif ()
48
76
@@ -51,7 +79,7 @@ find_path(LIBZ_INCLUDE_DIR NAMES zlib.h)
51
79
52
80
if (LIBZ_LIBRARY)
53
81
list (APPEND GSKIT_EXTERNAL_LIBS ${LIBZ_LIBRARY} )
54
- include_directories ( ${LIBZ_INCLUDE_DIR} )
82
+ list ( APPEND GSKIT_EXTERNAL_INCLUDES ${LIBZ_INCLUDE_DIR} )
55
83
add_definitions (-DHAVE_ZLIB)
56
84
endif ()
57
85
@@ -60,10 +88,12 @@ find_path(LIBPNG_INCLUDE_DIR NAMES png.h)
60
88
61
89
if (LIBPNG_LIBRARY)
62
90
list (APPEND GSKIT_EXTERNAL_LIBS ${LIBPNG_LIBRARY} )
63
- include_directories ( ${LIBPNG_INCLUDE_DIR} )
91
+ list ( APPEND GSKIT_EXTERNAL_INCLUDES ${LIBPNG_INCLUDE_DIR} )
64
92
add_definitions (-DHAVE_LIBPNG)
65
93
endif ()
66
94
95
+ include_directories (${GSKIT_EXTERNAL_INCLUDES} )
96
+
67
97
macro (add_object_library_macros objlistvar sourcefile)
68
98
set (objects_list "" )
69
99
foreach (arg IN ITEMS ${ARGN} )
@@ -264,6 +294,18 @@ add_library(gskit_toolkit STATIC
264
294
265
295
target_include_directories (gskit_toolkit PUBLIC ee/toolkit/include )
266
296
297
+ set (PCKEY_NAME gsKit)
298
+ set (PCKEY_DESCRIPTION "gsKit graphics library for Sony Playstation 2" )
299
+ set (PCKEY_VERSION ${CUR_VERSION} )
300
+ set (PCKEY_REQUIRES)
301
+ set (PCKEY_LIBS "-L${INSTALL_LIB_DIR} -lgskit -ldmakit -lgskit_toolkit" )
302
+ foreach (_ITEM ${GSKIT_EXTERNAL_LIBS} )
303
+ set (PCKEY_LIBS "${PCKEY_LIBS} ${_ITEM} " )
304
+ endforeach ()
305
+ set (PCKEY_CFLAGS "-I${INSTALL_INC_DIR} " )
306
+ set (GSKIT_PC ${CMAKE_CURRENT_BINARY_DIR} /gsKit.pc)
307
+ configure_file ( ${CMAKE_CURRENT_SOURCE_DIR} /gsKit.pc.cmakein
308
+ ${GSKIT_PC} @ONLY)
267
309
268
310
if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
269
311
install (TARGETS gskit dmakit gskit_toolkit
@@ -277,6 +319,9 @@ if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL)
277
319
FILES_MATCHING PATTERN "*.h"
278
320
)
279
321
endif ()
322
+ if (NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
323
+ install (FILES ${GSKIT_PC} DESTINATION "${INSTALL_PKGCONFIG_DIR} " )
324
+ endif ()
280
325
281
326
if (NOT SKIP_BUILD_EXAMPLES)
282
327
set (CMAKE_EXECUTABLE_SUFFIX .elf)
0 commit comments