From 151ce985b0c24ea24a74aa59d0e1208473be2e9e Mon Sep 17 00:00:00 2001 From: Matteo Paonessa Date: Sun, 19 Jan 2020 20:02:57 +0100 Subject: [PATCH 1/3] Static CMake --- caesium/CMakeLists.txt | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/caesium/CMakeLists.txt b/caesium/CMakeLists.txt index aa0f0c7..8f142ff 100644 --- a/caesium/CMakeLists.txt +++ b/caesium/CMakeLists.txt @@ -8,31 +8,26 @@ if (APPLE) find_library(zopflipng zopflipng /usr/local/lib) find_library(jpeg jpeg /usr/local/opt/mozjpeg/lib) find_library(turbojpeg turbojpeg /usr/local/opt/mozjpeg/lib) -ELSE() +ELSE () find_library(zopflipng zopflipng /usr/lib) find_library(jpeg jpeg /opt/mozjpeg/lib) find_library(turbojpeg turbojpeg /opt/mozjpeg/lib) -ENDIF() +ENDIF () add_library(caesium SHARED caesium.c error.c utils.c png.c vendor/lodepng.c jpeg.c) +add_library(caesium_static STATIC caesium.c error.c utils.c png.c vendor/lodepng.c jpeg.c) +set_target_properties(caesium_static PROPERTIES OUTPUT_NAME "caesium") target_link_libraries(caesium jpeg turbojpeg zopflipng) +target_link_libraries(caesium_static jpeg turbojpeg zopflipng) # Make sure the compiler can find include files for our Caesium library # when other libraries or executables link to Caesium target_include_directories(caesium PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(caesium_static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -# OSX installs in local -if (APPLE) - install(FILES caesium.h DESTINATION /usr/local/include) - install(TARGETS caesium - LIBRARY DESTINATION /usr/local/lib) -elseif (UNIX OR LINUX) - install(FILES caesium.h DESTINATION /usr/include) - install(TARGETS caesium - LIBRARY DESTINATION /usr/lib) -else () - install(FILES caesium.h DESTINATION include) - install(TARGETS caesium - LIBRARY DESTINATION lib) -endif () \ No newline at end of file +install(FILES caesium.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include) +install(TARGETS caesium + LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) +install(TARGETS caesium_static + ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) \ No newline at end of file From 32fbf704305a940cc8a922476f712f824208ad0f Mon Sep 17 00:00:00 2001 From: Matteo Paonessa Date: Wed, 22 Jan 2020 20:26:17 +0100 Subject: [PATCH 2/3] Variables in CMake build script --- CMakeLists.txt | 39 ++++++++++++++++++++++++--------------- caesium/CMakeLists.txt | 12 +++--------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0717a6..7c0cce3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,25 +24,34 @@ configure_file( include_directories("${PROJECT_BINARY_DIR}") if (APPLE) - link_directories(/opt/mozjpeg/lib) - - include_directories(/opt/mozjpeg/include) - include_directories(/usr/local/include) + set(MOZJPEG_DEFAULT_PATH /opt/mozjpeg) + set(ZOPFLI_DEFAULT_PATH /usr/local) elseif (WIN32) - include_directories(C:\\mozjpeg\\include) - include_directories(C:\\zopfli\\src) + set(MOZJPEG_DEFAULT_PATH C:\\mozjpeg) + set(ZOPFLI_DEFAULT_PATH C:\\zopfli) else () - include_directories(/opt/mozjpeg/include) - include_directories(/usr/include/zopflipng) - - if (EXISTS /opt/mozjpeg/lib64) - link_directories(/opt/mozjpeg/lib64) - else () - link_directories(/opt/mozjpeg/lib) - endif () + set(MOZJPEG_DEFAULT_PATH /opt/mozjpeg) + set(ZOPFLI_DEFAULT_PATH /usr) endif () -link_directories(/usr/local/lib) + +if (NOT DEFINED MOZJPEG_PATH) + set(MOZJPEG_PATH ${MOZJPEG_DEFAULT_PATH}) +endif() + +if (NOT DEFINED ZOPFLI_PATH) + set(ZOPFLI_PATH ${ZOPFLI_DEFAULT_PATH}) +endif() + +include_directories(${MOZJPEG_PATH}/include) +include_directories(${ZOPFLI_PATH}/include) + +if (EXISTS ${MOZJPEG_PATH}/lib64) + link_directories(${MOZJPEG_PATH}/lib64) +else () + link_directories(${MOZJPEG_PATH}/lib) +endif () +link_directories(${ZOPFLI_PATH}/lib) add_subdirectory(caesium) add_subdirectory(demo) diff --git a/caesium/CMakeLists.txt b/caesium/CMakeLists.txt index 8f142ff..eb13752 100644 --- a/caesium/CMakeLists.txt +++ b/caesium/CMakeLists.txt @@ -4,15 +4,9 @@ else () set(CMAKE_C_FLAGS "--std=gnu99 ${CMAKE_C_FLAGS}") endif () -if (APPLE) - find_library(zopflipng zopflipng /usr/local/lib) - find_library(jpeg jpeg /usr/local/opt/mozjpeg/lib) - find_library(turbojpeg turbojpeg /usr/local/opt/mozjpeg/lib) -ELSE () - find_library(zopflipng zopflipng /usr/lib) - find_library(jpeg jpeg /opt/mozjpeg/lib) - find_library(turbojpeg turbojpeg /opt/mozjpeg/lib) -ENDIF () +find_library(jpeg jpeg ${MOZJPEG_PATH}/lib) +find_library(turbojpeg turbojpeg ${MOZJPEG_PATH}/lib) +find_library(zopflipng zopflipng ${ZOPFLI_PATH}/lib) add_library(caesium SHARED caesium.c error.c utils.c png.c vendor/lodepng.c jpeg.c) add_library(caesium_static STATIC caesium.c error.c utils.c png.c vendor/lodepng.c jpeg.c) From f65599e964cf55f3858d565bc5fde5afe93524c7 Mon Sep 17 00:00:00 2001 From: Matteo Paonessa Date: Thu, 23 Jan 2020 21:59:05 +0100 Subject: [PATCH 3/3] Removed static library again --- caesium/CMakeLists.txt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/caesium/CMakeLists.txt b/caesium/CMakeLists.txt index eb13752..1dc363a 100644 --- a/caesium/CMakeLists.txt +++ b/caesium/CMakeLists.txt @@ -9,19 +9,13 @@ find_library(turbojpeg turbojpeg ${MOZJPEG_PATH}/lib) find_library(zopflipng zopflipng ${ZOPFLI_PATH}/lib) add_library(caesium SHARED caesium.c error.c utils.c png.c vendor/lodepng.c jpeg.c) -add_library(caesium_static STATIC caesium.c error.c utils.c png.c vendor/lodepng.c jpeg.c) -set_target_properties(caesium_static PROPERTIES OUTPUT_NAME "caesium") target_link_libraries(caesium jpeg turbojpeg zopflipng) -target_link_libraries(caesium_static jpeg turbojpeg zopflipng) # Make sure the compiler can find include files for our Caesium library # when other libraries or executables link to Caesium target_include_directories(caesium PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -target_include_directories(caesium_static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) install(FILES caesium.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include) install(TARGETS caesium - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) -install(TARGETS caesium_static - ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) \ No newline at end of file + LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) \ No newline at end of file