mirror of
https://github.com/Perlmint/glew-cmake.git
synced 2025-03-20 15:56:16 +00:00
Fix cmake error on Linux "no LIBRARY DESTINATION"
On Linux, cmake gives the error: ~~~bash CMake Error at CMakeLists.txt:79 (INSTALL): INSTALL TARGETS given no LIBRARY DESTINATION for shared library target "libglew_shared". CMake Error at CMakeLists.txt:94 (INSTALL): INSTALL TARGETS given no LIBRARY DESTINATION for shared library target "libglewmx_shared". -- Configuring incomplete, errors occurred! ~~~ This bug was caused by the merge:e4de8a77a1
Containing: * Update library install directories in Cmake commit5a7232fc53
* Install directories set in single statement commitdef19e7de4
The cause is that RUNTIME DESTINATION is now defined (for Windows), but not LIBRARY DESTINATION (for Linux). See issue: https://github.com/Perlmint/glew-cmake/issues/17
This commit is contained in:
parent
662a645508
commit
8c42082242
@ -77,7 +77,8 @@ IF ( glew-cmake_BUILD_SHARED )
|
||||
TARGET_INCLUDE_DIRECTORIES( libglew_shared PUBLIC ${INCLUDE_DIR} )
|
||||
TARGET_LINK_LIBRARIES( libglew_shared ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
|
||||
INSTALL( TARGETS libglew_shared ARCHIVE DESTINATION lib
|
||||
RUNTIME DESTINATION bin)
|
||||
LIBRARY DESTINATION lib
|
||||
RUNTIME DESTINATION bin )
|
||||
ENDIF ( )
|
||||
|
||||
IF ( glew-cmake_BUILD_MULTI_CONTEXT )
|
||||
@ -92,7 +93,8 @@ IF ( glew-cmake_BUILD_SHARED )
|
||||
TARGET_INCLUDE_DIRECTORIES( libglewmx_shared PUBLIC ${INCLUDE_DIR} )
|
||||
TARGET_LINK_LIBRARIES( libglewmx_shared ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
|
||||
INSTALL( TARGETS libglewmx_shared ARCHIVE DESTINATION lib
|
||||
RUNTIME DESTINATION bin )
|
||||
LIBRARY DESTINATION lib
|
||||
RUNTIME DESTINATION bin )
|
||||
ENDIF ( )
|
||||
ENDIF ( )
|
||||
|
||||
|
92
maintain.sh
92
maintain.sh
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
#
|
||||
# This script is used for auto maintaining
|
||||
# - merging with original repo
|
||||
@ -6,9 +6,32 @@
|
||||
# - push changes to repository
|
||||
#
|
||||
ORIGINAL_REPO_URL=https://github.com/nigels-com/glew.git
|
||||
absolute_path () {
|
||||
local TARGET_FILE=$1
|
||||
shift
|
||||
local OUT=$1
|
||||
shift
|
||||
cd `dirname $TARGET_FILE`
|
||||
TARGET_FILE=`basename $TARGET_FILE`
|
||||
|
||||
# Iterate down a (possible) chain of symlinks
|
||||
while [ -L "$TARGET_FILE" ]
|
||||
do
|
||||
TARGET_FILE=`readlink $TARGET_FILE`
|
||||
cd `dirname $TARGET_FILE`
|
||||
TARGET_FILE=`basename $TARGET_FILE`
|
||||
done
|
||||
|
||||
# Compute the canonicalized name by finding the physical path
|
||||
# for the directory we're in and appending the target file.
|
||||
PHYS_DIR=`pwd -P`
|
||||
RESULT=$PHYS_DIR/$TARGET_FILE
|
||||
eval "$OUT=\"${RESULT}\""
|
||||
}
|
||||
|
||||
if [ -z "$WORKSPACE" ]; then
|
||||
echo "Set WORKSPACE as default value"
|
||||
SCRIPT_PATH=$(readlink -f "$0")
|
||||
absolute_path "$0" SCRIPT_PATH
|
||||
WORKSPACE=$(dirname "$SCRIPT_PATH")
|
||||
echo "WORKSPACE=$WORKSPACE"
|
||||
fi
|
||||
@ -37,7 +60,7 @@ source_update () {
|
||||
if [ `git branch | grep ${GIT_BRANCH_NAME} | wc -l` = 0 ]; then
|
||||
git checkout origin/${GIT_BRANCH_NAME} -b ${GIT_BRANCH_NAME}
|
||||
else
|
||||
git checkout -f $GIT_BRANCH_NAME
|
||||
# git checkout -f $GIT_BRANCH_NAME
|
||||
git pull -s recursive -X theirs --no-edit --progress origin
|
||||
fi
|
||||
echo "Pull from origin repository(${ORIGINAL_REPO_URL})"
|
||||
@ -51,16 +74,6 @@ source_update () {
|
||||
PUSH_COUNT=$((PUSH_COUNT + 1))
|
||||
fi
|
||||
|
||||
echo "Fetch tags from origin repository(${ORIGINAL_REPO_URL})"
|
||||
BEFORE_TAG_COUNT=`git tag | wc -l`
|
||||
git fetch --tags --progress original_repo
|
||||
AFTER_TAG_COUNT=`git tag | wc -l`
|
||||
if [ ! $BEFORE_TAG_COUNT -eq $AFTER_TAG_COUNT ]; then
|
||||
echo "Tags updated"
|
||||
git push ${PUSH_ARG} --tags origin
|
||||
PUSH_COUNT=$((PUSH_COUNT + 1))
|
||||
fi
|
||||
|
||||
cd "$WORKSPACE/auto"
|
||||
echo "CleanUp"
|
||||
make clean
|
||||
@ -88,6 +101,57 @@ source_update () {
|
||||
fi
|
||||
}
|
||||
|
||||
import_tags () {
|
||||
echo "Fetch tags from origin repository(${ORIGINAL_REPO_URL})"
|
||||
BEFORE_TAG_COUNT=`git tag | wc -l`
|
||||
git fetch --tags --progress original_repo
|
||||
AFTER_TAG_COUNT=`git tag | wc -l`
|
||||
NEW_VERSION_TAGS=`diff -u <(git tag | grep glew-cmake- | sed s/glew-cmake/glew/) <(git tag | grep "glew-\d") | grep ^+ | sed 1d | sed s/^+//`
|
||||
if [ ! $BEFORE_TAG_COUNT -eq $AFTER_TAG_COUNT -o ! -z "$NEW_VERSION_TAGS" ]; then
|
||||
echo "Tags updated"
|
||||
git push ${PUSH_ARG} --tags origin
|
||||
|
||||
git checkout glew-cmake-release
|
||||
for TAG in $NEW_VERSION_TAGS
|
||||
do
|
||||
echo "Import $TAG"
|
||||
git checkout $TAG -- .
|
||||
git checkout master -- CMakeLists.txt
|
||||
cd "$WORKSPACE/auto"
|
||||
echo "CleanUp fot tag"
|
||||
make clean
|
||||
echo "Generated Source Update fot tag"
|
||||
cd "$WORKSPACE"
|
||||
make extensions
|
||||
git reset
|
||||
git add --force src include doc CMakeLists.txt
|
||||
if [ `git diff --cached | wc -c` -ne 0 ]; then
|
||||
git commit -m"glew-cmake release from $TAG"
|
||||
NEW_TAG=`echo $TAG | sed s/glew-/glew-cmake-/`
|
||||
git tag $NEW_TAG
|
||||
else
|
||||
echo "No difference! something wrong"
|
||||
fi
|
||||
done
|
||||
|
||||
git push ${PUSH_ARG} origin glew-cmake-release
|
||||
if [ -z "$PUSH_ARG" ]; then
|
||||
git push --tags ${PUSH_ARGS} origin
|
||||
fi
|
||||
|
||||
# when test mode, reset created commits
|
||||
if [ -n "$PUSH_ARG" ]; then
|
||||
echo "Reset commits for tags"
|
||||
for TAG in $NEW_VERSION_TAGS
|
||||
do
|
||||
NEW_TAG=`echo $TAG | sed s/glew-/glew-cmake-/`
|
||||
git tag -d $NEW_TAG
|
||||
git reset --hard HEAD~1
|
||||
done
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# add remote when original repo is not found in local repo
|
||||
if [ `git remote | grep original_repo | wc -l` = 0 ]; then
|
||||
git remote add original_repo ${ORIGINAL_REPO_URL}
|
||||
@ -140,3 +204,5 @@ join () {
|
||||
prepare
|
||||
|
||||
source_update master
|
||||
|
||||
import_tags
|
||||
|
Loading…
Reference in New Issue
Block a user