Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mssilk
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
External Wiki
External Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
BC
public
mssilk
Commits
a608e5b1
Commit
a608e5b1
authored
Feb 24, 2016
by
Ghislain MARY
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow building both shared and static libraries with CMake.
parent
e766ae43
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
16 deletions
+32
-16
CMakeLists.txt
CMakeLists.txt
+32
-16
No files found.
CMakeLists.txt
View file @
a608e5b1
...
...
@@ -21,13 +21,20 @@
############################################################################
cmake_minimum_required
(
VERSION 3.0
)
project
(
MSSILK C
)
set
(
VERSION
"1.0.2"
)
project
(
mssilk VERSION 1.0.2 LANGUAGES C
)
option
(
ENABLE_STATIC
"Build static library (default is shared library)."
NO
)
option
(
ENABLE_SHARED
"Build shared library."
YES
)
option
(
ENABLE_STATIC
"Build static library."
YES
)
include
(
GNUInstallDirs
)
if
(
NOT CMAKE_INSTALL_RPATH AND CMAKE_INSTALL_PREFIX
)
set
(
CMAKE_INSTALL_RPATH
${
CMAKE_INSTALL_FULL_LIBDIR
}
)
message
(
STATUS
"Setting install rpath to
${
CMAKE_INSTALL_RPATH
}
"
)
endif
()
if
(
LINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS
)
include
(
"
${
EP_ms2_CONFIG_DIR
}
/Mediastreamer2Config.cmake"
)
else
()
...
...
@@ -43,7 +50,7 @@ include_directories(
sdk/SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_
${
FLAVOUR
}
_v1.0.9/interface
)
add_definitions
(
-DVERSION=\
"
${
VERSION
}
\"
)
add_definitions
(
-DVERSION=\
"
${
PROJECT_
VERSION
}
\"
)
set(LIBS
${
MEDIASTREAMER2_LIBRARIES
}
)
...
...
@@ -54,26 +61,35 @@ set(SOURCE_FILES
silk_enc.c
)
add_library(mssilk-objects OBJECT
${
SOURCE_FILES
}
)
set_target_properties(mssilk-objects PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
if(ENABLE_STATIC)
add_library(mssilk STATIC
${
SOURCE_FILES
}
)
else()
add_library(mssilk SHARED
${
SOURCE_FILES
}
)
add_library(mssilk-static STATIC
${
SOURCE_FILES
}
)
set_target_properties(mssilk-static PROPERTIES OUTPUT_NAME mssilk)
target_link_libraries(mssilk-static
${
LIBS
}
)
install(TARGETS mssilk-static
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
endif()
if(ENABLE_SHARED)
add_library(mssilk MODULE
${
SOURCE_FILES
}
)
set_target_properties(mssilk PROPERTIES VERSION 0)
target_link_libraries(mssilk
${
LIBS
}
)
if(MSVC)
if(CMAKE_BUILD_TYPE STREQUAL "
Debug
")
install(FILES
${
CMAKE_CURRENT_BINARY_DIR
}
/Debug/libmssilk.pdb
DESTINATION
bin
DESTINATION
${
CMAKE_INSTALL_BINDIR
}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
endif()
set_target_properties(mssilk PROPERTIES PREFIX "
lib
")
endif()
install(TARGETS mssilk
RUNTIME DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
/mediastreamer/plugins
LIBRARY DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
/mediastreamer/plugins
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
/mediastreamer/plugins
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
endif()
target_link_libraries(mssilk
${
LIBS
}
)
install(TARGETS mssilk
RUNTIME DESTINATION lib/mediastreamer/plugins
LIBRARY DESTINATION lib/mediastreamer/plugins
ARCHIVE DESTINATION lib/mediastreamer/plugins
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment