diff --git a/CMakeLists.txt b/CMakeLists.txt index fe000ff..ea1790a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,9 @@ -# SDL_prizm: build system +# cZlib: build system cmake_minimum_required(VERSION 3.16) -project(Libczlib VERSION 1.2.5 LANGUAGES C) +project(cZlib VERSION 1.2.5 LANGUAGES C) -# Libraries that libexample depends on +# Libraries that libczlib depends on find_package(Gint 2.9.0 REQUIRED) @@ -25,28 +25,19 @@ set(SOURCES zutil.c ) -include_directories( - "${PROJECT_SOURCE_DIR}" - "${PROJECT_BINARY_DIR}/include" - "${FXSDK_INCLUDE}") -add_compile_options(-Os -lm -m4-nofpu -mb -std=c11 -ffreestanding -nostdlib -Wa,--dsp) +# Target name is "cZlib", output file is "libcZlib.a" (by default) +add_library(cZlib STATIC ${SOURCES}) +target_compile_options(cZlib PRIVATE -Os -std=c11) -# Target name is "czlib", output file is "libczlib.a" (by default) -add_library(czlib STATIC ${SOURCES}) - -# After building, install the target (that is, czlib.a) in the compiler -install(TARGETS czlib +# After building, install the target (that is, libcZlib.a) in the compiler +install(TARGETS cZlib DESTINATION "${FXSDK_LIB}") # Install zlib.h from the build dir -install(FILES "${PROJECT_SOURCE_DIR}/zlib.h" +install(FILES zlib.h zconf.h DESTINATION "${FXSDK_INCLUDE}") -# Install zlib.h from the build dir -install(FILES "${PROJECT_SOURCE_DIR}/zconf.h" - DESTINATION "${FXSDK_INCLUDE}") - -# Install FindSDL_prizm.cmake so that users can do find_package -install(FILES cmake/Findczlib.cmake +# Install FindcZlib.cmake so that users can do find_package +install(FILES cmake/FindcZlib.cmake DESTINATION "${FXSDK_CMAKE_MODULE_PATH}") diff --git a/README.md b/README.md index 57b6319..95f0a88 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zlib 1.2.5 sources for Gint +# cZlib 1.2.5 sources for Gint Need to have a fully working gcc toolchain for SH3/SH4 architecture. @@ -15,10 +15,10 @@ You can also use the `giteapc install Slyvtt/cZlib` command to get an automatic With CMake: ```cmake -find_package(czlib 1.2.5 REQUIRED) -target_link_libraries( PRIVATE czlib::czlib) +find_package(cZlib 1.2.5 REQUIRED) +target_link_libraries( PRIVATE cZlib::cZlib) ``` -With make, link with `-lczlib`. +With make, link with `-lcZlib`. In the C/C++ source, `#include `. diff --git a/cmake/FindcZlib.cmake b/cmake/FindcZlib.cmake new file mode 100644 index 0000000..b241cd4 --- /dev/null +++ b/cmake/FindcZlib.cmake @@ -0,0 +1,17 @@ +include(FindSimpleLibrary) +include(FindPackageHandleStandardArgs) + +find_simple_library(libcZlib.a zlib.h "ZLIB_VERSION" + PATH_VAR CZLIB_PATH + VERSION_VAR CZLIB_VERSION) + +find_package_handle_standard_args(cZlib + REQUIRED_VARS CZLIB_PATH CZLIB_VERSION + VERSION_VAR CZLIB_VERSION) + +if(cZlib_FOUND) + add_library(cZlib::cZlib UNKNOWN IMPORTED) + set_target_properties(cZlib::cZlib PROPERTIES + IMPORTED_LOCATION "${CZLIB_PATH}" + INTERFACE_LINK_OPTIONS -lcZlib) +endif() diff --git a/cmake/Findczlib.cmake b/cmake/Findczlib.cmake deleted file mode 100644 index 9294c85..0000000 --- a/cmake/Findczlib.cmake +++ /dev/null @@ -1,17 +0,0 @@ -include(FindSimpleLibrary) -include(FindPackageHandleStandardArgs) - -find_simple_library(libczlib.a zlib.h "ZLIB_VERSION" - PATH_VAR CZLIB_PATH - VERSION_VAR CZLIB_VERSION) - -find_package_handle_standard_args(czlib - REQUIRED_VARS CZLIB_PATH CZLIB_VERSION - VERSION_VAR CZLIB_VERSION) - -if(czlib_FOUND) - add_library(czlib::czlib UNKNOWN IMPORTED) - set_target_properties(czlib::czlib PROPERTIES - IMPORTED_LOCATION "${CZLIB_PATH}" - INTERFACE_LINK_OPTIONS -lczlib) -endif()