diff options
author | Joergen Ibsen <ji@ibse.dk> | 2018-08-31 07:43:53 +0200 |
---|---|---|
committer | Joergen Ibsen <ji@ibse.dk> | 2018-08-31 07:43:53 +0200 |
commit | 8856e5dfcbf647ef048934cc86a6cb2591270a13 (patch) | |
tree | 018ccdfd19d532ba7cbefb22e006da5278a1f47e | |
parent | b97dd0e95c92c416352fd7c2bf5b849fe2f75900 (diff) | |
download | zopfli-8856e5dfcbf647ef048934cc86a6cb2591270a13.tar.gz |
Link libzopflipng with libzopfli
Avoids duplicating the zopfli code and simplifies the build a bit.
Also move source file listings to the respective add_library and
add_executable calls so we don't have extra variables.
-rw-r--r-- | CMakeLists.txt | 44 |
1 files changed, 13 insertions, 31 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6cfe061..5505eba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,7 +57,10 @@ else() set(zopfli_library_type STATIC) endif() -set(zopflilib_src +# +# libzopfli +# +add_library(libzopfli ${zopfli_library_type} src/zopfli/blocksplitter.c src/zopfli/cache.c src/zopfli/deflate.c @@ -71,33 +74,9 @@ set(zopflilib_src src/zopfli/zlib_container.c src/zopfli/zopfli_lib.c ) - -set(zopflipnglib_src - src/zopflipng/zopflipng_lib.cc -) - -set(lodepng_src - src/zopflipng/lodepng/lodepng.cpp - src/zopflipng/lodepng/lodepng_util.cpp -) - -# -# libzopfli object files shared by both libraries -# -add_library(zopflilib_obj OBJECT - ${zopflilib_src} -) -if(ZOPFLI_BUILD_SHARED) - set_property(TARGET zopflilib_obj PROPERTY POSITION_INDEPENDENT_CODE ON) -endif() - -# -# libzopfli -# -add_library(libzopfli ${zopfli_library_type} - $<TARGET_OBJECTS:zopflilib_obj> +target_include_directories(libzopfli + INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/zopfli> ) -target_include_directories(libzopfli INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/src/zopfli") set_target_properties(libzopfli PROPERTIES OUTPUT_NAME zopfli VERSION ${ZOPFLI_VERSION} @@ -111,11 +90,14 @@ endif() # libzopflipng # add_library(libzopflipng ${zopfli_library_type} - ${zopflipnglib_src} - ${lodepng_src} - $<TARGET_OBJECTS:zopflilib_obj> + src/zopflipng/zopflipng_lib.cc + src/zopflipng/lodepng/lodepng.cpp + src/zopflipng/lodepng/lodepng_util.cpp +) +target_link_libraries(libzopflipng libzopfli) +target_include_directories(libzopflipng + INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/zopflipng> ) -target_include_directories(libzopflipng INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/src/zopflipng") set_target_properties(libzopflipng PROPERTIES OUTPUT_NAME zopflipng VERSION ${ZOPFLI_VERSION} |