mirror of
https://github.com/Perlmint/glew-cmake.git
synced 2025-03-23 00:56:48 +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_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 ARCHIVE DESTINATION lib
|
INSTALL( TARGETS libglew_shared ARCHIVE DESTINATION lib
|
||||||
RUNTIME DESTINATION bin)
|
LIBRARY DESTINATION lib
|
||||||
|
RUNTIME DESTINATION bin )
|
||||||
ENDIF ( )
|
ENDIF ( )
|
||||||
|
|
||||||
IF ( glew-cmake_BUILD_MULTI_CONTEXT )
|
IF ( glew-cmake_BUILD_MULTI_CONTEXT )
|
||||||
@ -92,7 +93,8 @@ IF ( glew-cmake_BUILD_SHARED )
|
|||||||
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 ARCHIVE DESTINATION lib
|
INSTALL( TARGETS libglewmx_shared ARCHIVE DESTINATION lib
|
||||||
RUNTIME DESTINATION bin )
|
LIBRARY DESTINATION lib
|
||||||
|
RUNTIME DESTINATION bin )
|
||||||
ENDIF ( )
|
ENDIF ( )
|
||||||
ENDIF ( )
|
ENDIF ( )
|
||||||
|
|
||||||
|
92
maintain.sh
92
maintain.sh
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# This script is used for auto maintaining
|
# This script is used for auto maintaining
|
||||||
# - merging with original repo
|
# - merging with original repo
|
||||||
@ -6,9 +6,32 @@
|
|||||||
# - push changes to repository
|
# - push changes to repository
|
||||||
#
|
#
|
||||||
ORIGINAL_REPO_URL=https://github.com/nigels-com/glew.git
|
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
|
if [ -z "$WORKSPACE" ]; then
|
||||||
echo "Set WORKSPACE as default value"
|
echo "Set WORKSPACE as default value"
|
||||||
SCRIPT_PATH=$(readlink -f "$0")
|
absolute_path "$0" SCRIPT_PATH
|
||||||
WORKSPACE=$(dirname "$SCRIPT_PATH")
|
WORKSPACE=$(dirname "$SCRIPT_PATH")
|
||||||
echo "WORKSPACE=$WORKSPACE"
|
echo "WORKSPACE=$WORKSPACE"
|
||||||
fi
|
fi
|
||||||
@ -37,7 +60,7 @@ source_update () {
|
|||||||
if [ `git branch | grep ${GIT_BRANCH_NAME} | wc -l` = 0 ]; then
|
if [ `git branch | grep ${GIT_BRANCH_NAME} | wc -l` = 0 ]; then
|
||||||
git checkout origin/${GIT_BRANCH_NAME} -b ${GIT_BRANCH_NAME}
|
git checkout origin/${GIT_BRANCH_NAME} -b ${GIT_BRANCH_NAME}
|
||||||
else
|
else
|
||||||
git checkout -f $GIT_BRANCH_NAME
|
# git checkout -f $GIT_BRANCH_NAME
|
||||||
git pull -s recursive -X theirs --no-edit --progress origin
|
git pull -s recursive -X theirs --no-edit --progress origin
|
||||||
fi
|
fi
|
||||||
echo "Pull from origin repository(${ORIGINAL_REPO_URL})"
|
echo "Pull from origin repository(${ORIGINAL_REPO_URL})"
|
||||||
@ -51,16 +74,6 @@ source_update () {
|
|||||||
PUSH_COUNT=$((PUSH_COUNT + 1))
|
PUSH_COUNT=$((PUSH_COUNT + 1))
|
||||||
fi
|
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"
|
cd "$WORKSPACE/auto"
|
||||||
echo "CleanUp"
|
echo "CleanUp"
|
||||||
make clean
|
make clean
|
||||||
@ -88,6 +101,57 @@ source_update () {
|
|||||||
fi
|
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
|
# add remote when original repo is not found in local repo
|
||||||
if [ `git remote | grep original_repo | wc -l` = 0 ]; then
|
if [ `git remote | grep original_repo | wc -l` = 0 ]; then
|
||||||
git remote add original_repo ${ORIGINAL_REPO_URL}
|
git remote add original_repo ${ORIGINAL_REPO_URL}
|
||||||
@ -140,3 +204,5 @@ join () {
|
|||||||
prepare
|
prepare
|
||||||
|
|
||||||
source_update master
|
source_update master
|
||||||
|
|
||||||
|
import_tags
|
||||||
|
Loading…
Reference in New Issue
Block a user