Update library install directories in Cmake

Currently (well, at least on Windows), the created DLL files aren't installed to the correct directory after a build. The DLL files are installed to the 'lib' directory. Which actually is the place for the static library or the shared library's symbols file (.lib).
The shared library runtimes should be installed to the 'bin' output directory, as proposed in this PR.

See the ```CONFIGURATIONS``` option in [Install command introduction in the CMake manual](https://cmake.org/cmake/help/v3.14/command/install.html#introduction) for an example.

It's considered best practice and follows convention as used in other notable libraries as libpng, libogg/vorbis, freetype, zlib, tinyxml, etc, to install the runtime output in the 'bin' directory.
This commit is contained in:
GekkieHenkie 2019-04-09 23:22:16 +02:00 committed by GitHub
parent f92c14bcc1
commit def19e7de4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 4 deletions

View File

@ -49,7 +49,7 @@ IF ( glew-cmake_BUILD_STATIC )
DEBUG_POSTFIX d ) DEBUG_POSTFIX d )
TARGET_INCLUDE_DIRECTORIES( libglew_static PUBLIC ${INCLUDE_DIR} ) TARGET_INCLUDE_DIRECTORIES( libglew_static PUBLIC ${INCLUDE_DIR} )
TARGET_LINK_LIBRARIES( libglew_static ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} ) TARGET_LINK_LIBRARIES( libglew_static ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
INSTALL( TARGETS libglew_static DESTINATION lib ) INSTALL( TARGETS libglew_static ARCHIVE DESTINATION lib )
ENDIF ( ) ENDIF ( )
IF ( glew-cmake_BUILD_MULTI_CONTEXT ) IF ( glew-cmake_BUILD_MULTI_CONTEXT )
@ -61,7 +61,7 @@ IF ( glew-cmake_BUILD_STATIC )
TARGET_COMPILE_DEFINITIONS( libglewmx_static INTERFACE GLEW_MX) TARGET_COMPILE_DEFINITIONS( libglewmx_static INTERFACE GLEW_MX)
TARGET_INCLUDE_DIRECTORIES( libglewmx_static PUBLIC ${INCLUDE_DIR} ) TARGET_INCLUDE_DIRECTORIES( libglewmx_static PUBLIC ${INCLUDE_DIR} )
TARGET_LINK_LIBRARIES( libglewmx_static ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} ) TARGET_LINK_LIBRARIES( libglewmx_static ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
INSTALL( TARGETS libglewmx_static DESTINATION lib ) INSTALL( TARGETS libglewmx_static ARCHIVE DESTINATION lib )
ENDIF ( ) ENDIF ( )
ENDIF ( ) ENDIF ( )
@ -76,7 +76,8 @@ IF ( glew-cmake_BUILD_SHARED )
TARGET_INCLUDE_DIRECTORIES( libglew_shared PUBLIC ${INCLUDE_DIR} ) TARGET_INCLUDE_DIRECTORIES( libglew_shared PUBLIC ${INCLUDE_DIR} )
TARGET_LINK_LIBRARIES( libglew_shared ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} ) TARGET_LINK_LIBRARIES( libglew_shared ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
INSTALL( TARGETS libglew_shared DESTINATION lib ) INSTALL( TARGETS libglew_shared ARCHIVE DESTINATION lib )
INSTALL( TARGETS libglew_shared RUNTIME DESTINATION bin )
ENDIF ( ) ENDIF ( )
IF ( glew-cmake_BUILD_MULTI_CONTEXT ) IF ( glew-cmake_BUILD_MULTI_CONTEXT )
@ -90,7 +91,8 @@ IF ( glew-cmake_BUILD_SHARED )
TARGET_COMPILE_DEFINITIONS( libglewmx_shared INTERFACE GLEW_MX) TARGET_COMPILE_DEFINITIONS( libglewmx_shared INTERFACE GLEW_MX)
TARGET_INCLUDE_DIRECTORIES( libglewmx_shared PUBLIC ${INCLUDE_DIR} ) TARGET_INCLUDE_DIRECTORIES( libglewmx_shared PUBLIC ${INCLUDE_DIR} )
TARGET_LINK_LIBRARIES( libglewmx_shared ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} ) TARGET_LINK_LIBRARIES( libglewmx_shared ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
INSTALL( TARGETS libglewmx_shared DESTINATION lib ) INSTALL( TARGETS libglewmx_shared ARCHIVE DESTINATION lib )
INSTALL( TARGETS libglewmx_shared RUNTIME DESTINATION bin )
ENDIF ( ) ENDIF ( )
ENDIF ( ) ENDIF ( )