Build: Fix install of static build w/ VStudio IDE
Unfortunately, this hack is necessary because:
- install(TARGETS, ...) doesn't support the RENAME option.
- We can't modify OUTPUT_NAME for the "-static" targets without breaking
the regression tests.
- ${CMAKE_CFG_INTDIR} doesn't seem to work properly in an install()
command.
Refer to #307
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 796ed71..252c769 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1337,7 +1337,12 @@
install(TARGETS turbojpeg-static ARCHIVE
DESTINATION ${CMAKE_INSTALL_LIBDIR})
if(NOT ENABLE_SHARED)
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/tjbench-static${EXE}
+ if(MSVC_IDE)
+ set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
+ else()
+ set(DIR ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
+ install(PROGRAMS ${DIR}/tjbench-static${EXE}
DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE})
endif()
endif()
@@ -1348,11 +1353,16 @@
if(ENABLE_STATIC)
install(TARGETS jpeg-static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
if(NOT ENABLE_SHARED)
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/cjpeg-static${EXE}
+ if(MSVC_IDE)
+ set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
+ else()
+ set(DIR ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
+ install(PROGRAMS ${DIR}/cjpeg-static${EXE}
DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME cjpeg${EXE})
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/djpeg-static${EXE}
+ install(PROGRAMS ${DIR}/djpeg-static${EXE}
DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME djpeg${EXE})
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jpegtran-static${EXE}
+ install(PROGRAMS ${DIR}/jpegtran-static${EXE}
DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME jpegtran${EXE})
endif()
endif()
diff --git a/ChangeLog.md b/ChangeLog.md
index 0ed0b9a..ebd0e3c 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -31,6 +31,9 @@
6. Fixed a regression introduced by 2.0 beta1[7] that caused djpeg to generate
incorrect PPM images when used with the `-colors` option.
+7. Fixed an issue whereby a static build of libjpeg-turbo (a build in which
+`ENABLE_SHARED` is `0`) could not be installed using the Visual Studio IDE.
+
2.0.1
=====