@@ -29,69 +29,87 @@ set(INSTALL_PKGCONFIG_DIR "${GSKIT}/lib/pkgconfig" CACHE PATH "Installation dire
2929
3030set (GSKIT_EXTERNAL_LIBS "" )
3131set (GSKIT_EXTERNAL_INCLUDES "" )
32+ set (GSKIT_EXTERNAL_REQUIRES "" )
3233
3334# Enable interprocedural optimization LTO
3435set (CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE )
3536
37+ # Prepare git metadata
3638set (CUR_GIT_TAG v0.0.0)
39+ set (CUR_GIT_COMMIT_HASH "" )
40+ set (CUR_GIT_COMMIT_TIMESTAMP "" )
41+ set (CUR_GIT_REFS "" )
42+ set (CUR_GIT_REMOTE_URL "" )
3743find_package (Git )
3844if (GIT_FOUND)
39- if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR } /.git)
40- execute_process (COMMAND ${GIT_EXECUTABLE} describe --abbrev=0 --tags
41- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR }
42- OUTPUT_VARIABLE TMP_GIT_TAG
43- RESULT_VARIABLE TMP_RES
44- OUTPUT_STRIP_TRAILING_WHITESPACE )
45- if (TMP_RES EQUAL "0" )
46- set (CUR_GIT_TAG ${TMP_GIT_TAG} )
47- endif ()
48- endif ()
45+ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR } /.git)
46+ execute_process (COMMAND ${GIT_EXECUTABLE} describe --abbrev=0 --tags
47+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR }
48+ OUTPUT_VARIABLE TMP_GIT_TAG
49+ RESULT_VARIABLE TMP_RES
50+ OUTPUT_STRIP_TRAILING_WHITESPACE )
51+ execute_process (COMMAND ${GIT_EXECUTABLE} show --no-patch --format=%H
52+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR }
53+ OUTPUT_VARIABLE TMP_GIT_COMMIT_HASH
54+ RESULT_VARIABLE TMP_RES
55+ OUTPUT_STRIP_TRAILING_WHITESPACE )
56+ if (TMP_RES EQUAL "0" )
57+ set (CUR_GIT_COMMIT_HASH ${TMP_GIT_COMMIT_HASH} )
58+ endif ()
59+ execute_process (COMMAND ${GIT_EXECUTABLE} show --no-patch --format=%cd --date=unix
60+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR }
61+ OUTPUT_VARIABLE TMP_GIT_COMMIT_TIMESTAMP
62+ RESULT_VARIABLE TMP_RES
63+ OUTPUT_STRIP_TRAILING_WHITESPACE )
64+ if (TMP_RES EQUAL "0" )
65+ set (CUR_GIT_COMMIT_TIMESTAMP ${TMP_GIT_COMMIT_TIMESTAMP} )
66+ endif ()
67+ execute_process (COMMAND ${GIT_EXECUTABLE} show --no-patch "--format=%(decorate:prefix=,suffix=,tag=,separator=%x2C,pointer=%x2C)"
68+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR }
69+ OUTPUT_VARIABLE TMP_GIT_REFS
70+ RESULT_VARIABLE TMP_RES
71+ OUTPUT_STRIP_TRAILING_WHITESPACE )
72+ if (TMP_RES EQUAL "0" )
73+ set (CUR_GIT_REFS ${TMP_GIT_REFS} )
74+ endif ()
75+ execute_process (COMMAND ${GIT_EXECUTABLE} config --get remote.origin.url
76+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR }
77+ OUTPUT_VARIABLE TMP_GIT_REMOTE_URL
78+ RESULT_VARIABLE TMP_RES
79+ OUTPUT_STRIP_TRAILING_WHITESPACE )
80+ if (TMP_RES EQUAL "0" )
81+ set (CUR_GIT_REMOTE_URL ${TMP_GIT_REMOTE_URL} )
82+ endif ()
83+ endif ()
4984endif ()
5085
5186string (REGEX REPLACE "^v" "" CUR_VERSION ${CUR_GIT_TAG} )
5287
53- find_library ( LIBJPEG_LIBRARY NAMES jpeg )
54- find_path ( LIBJPEG_INCLUDE_DIR NAMES jpeglib.h )
88+ find_package ( PkgConfig REQUIRED )
89+ pkg_check_modules ( LIBJPEG libjpeg )
5590
56- if (LIBJPEG_LIBRARY)
57- list (APPEND GSKIT_EXTERNAL_LIBS ${LIBJPEG_LIBRARY} )
58- list (APPEND GSKIT_EXTERNAL_INCLUDES ${LIBJPEG_INCLUDE_DIR} )
91+ if (LIBJPEG_FOUND)
92+ list (APPEND GSKIT_EXTERNAL_LIBS ${LIBJPEG_LIBRARIES} )
93+ list (APPEND GSKIT_EXTERNAL_INCLUDES ${LIBJPEG_INCLUDE_DIRS} )
94+ list (APPEND GSKIT_EXTERNAL_REQUIRES libjpeg)
5995 add_definitions (-DHAVE_LIBJPEG )
6096endif ()
6197
62- find_library (LIBLZMA_LIBRARY NAMES lzma )
63- find_path (LIBLZMA_INCLUDE_DIR NAMES lzma.h )
64-
65- if (LIBLZMA_LIBRARY)
66- list (APPEND GSKIT_EXTERNAL_LIBS ${LIBLZMA_LIBRARY} )
67- list (APPEND GSKIT_EXTERNAL_INCLUDES ${LIBLZMA_INCLUDE_DIR} )
68- add_definitions (-DHAVE_LIBLZMA )
69- endif ()
70-
71- find_library (LIBTIFF_LIBRARY NAMES tiff )
72- find_path (LIBTIFF_INCLUDE_DIR NAMES tiff.h )
98+ pkg_check_modules (LIBTIFF libtiff-4 )
7399
74- if (LIBTIFF_LIBRARY)
75- list (APPEND GSKIT_EXTERNAL_LIBS ${LIBTIFF_LIBRARY} )
76- list (APPEND GSKIT_EXTERNAL_INCLUDES ${LIBTIFF_INCLUDE_DIR} )
100+ if (LIBTIFF_FOUND)
101+ list (APPEND GSKIT_EXTERNAL_LIBS ${LIBTIFF_LIBRARIES} )
102+ list (APPEND GSKIT_EXTERNAL_INCLUDES ${LIBTIFF_INCLUDE_DIRS} )
103+ list (APPEND GSKIT_EXTERNAL_REQUIRES libtiff-4)
77104 add_definitions (-DHAVE_LIBTIFF )
78105endif ()
79106
80- find_library (LIBZ_LIBRARY NAMES z )
81- find_path (LIBZ_INCLUDE_DIR NAMES zlib.h )
82-
83- if (LIBZ_LIBRARY)
84- list (APPEND GSKIT_EXTERNAL_LIBS ${LIBZ_LIBRARY} )
85- list (APPEND GSKIT_EXTERNAL_INCLUDES ${LIBZ_INCLUDE_DIR} )
86- add_definitions (-DHAVE_ZLIB )
87- endif ()
88-
89- find_library (LIBPNG_LIBRARY NAMES png )
90- find_path (LIBPNG_INCLUDE_DIR NAMES png.h )
107+ pkg_check_modules (LIBPNG libpng )
91108
92- if (LIBPNG_LIBRARY)
93- list (APPEND GSKIT_EXTERNAL_LIBS ${LIBPNG_LIBRARY} )
94- list (APPEND GSKIT_EXTERNAL_INCLUDES ${LIBPNG_INCLUDE_DIR} )
109+ if (LIBPNG_FOUND)
110+ list (APPEND GSKIT_EXTERNAL_LIBS ${LIBPNG_LIBRARIES} )
111+ list (APPEND GSKIT_EXTERNAL_INCLUDES ${LIBPNG_INCLUDE_DIRS} )
112+ list (APPEND GSKIT_EXTERNAL_REQUIRES libpng)
95113 add_definitions (-DHAVE_LIBPNG )
96114endif ()
97115
@@ -306,15 +324,12 @@ add_library(gskit_toolkit STATIC
306324
307325target_include_directories (gskit_toolkit PUBLIC ee/toolkit/include )
308326
309- set (PCKEY_NAME gsKit )
327+ set (PCKEY_NAME ${ PROJECT_NAME } )
310328set (PCKEY_DESCRIPTION "gsKit graphics library for Sony Playstation 2" )
311329set (PCKEY_VERSION ${CUR_VERSION} )
312- set (PCKEY_REQUIRES)
313- set (PCKEY_LIBS "-L${INSTALL_LIB_DIR} -lgskit -ldmakit -lgskit_toolkit" )
314- foreach (_ITEM ${GSKIT_EXTERNAL_LIBS} )
315- set (PCKEY_LIBS "${PCKEY_LIBS} ${_ITEM} " )
316- endforeach ()
317- set (PCKEY_CFLAGS "-I${INSTALL_INC_DIR} " )
330+ set (PCKEY_REQUIRES "${GSKIT_EXTERNAL_REQUIRES} " )
331+ set (PCKEY_LIBS "-lgskit -ldmakit -lgskit_toolkit" )
332+ set (PCKEY_CFLAGS "" )
318333set (GSKIT_PC ${CMAKE_CURRENT_BINARY_DIR } /gsKit.pc)
319334configure_file ( ${CMAKE_CURRENT_SOURCE_DIR } /gsKit.pc.cmakein
320335 ${GSKIT_PC} @ONLY )
0 commit comments