Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
3863dc5b
Commit
3863dc5b
authored
May 19, 2015
by
Maksim Shabunin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated pkg-config generation, added sample makefile
parent
671a630f
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
87 additions
and
66 deletions
+87
-66
CMakeLists.txt
CMakeLists.txt
+6
-1
OpenCVGenPkgconfig.cmake
cmake/OpenCVGenPkgconfig.cmake
+50
-62
OpenCVUtils.cmake
cmake/OpenCVUtils.cmake
+15
-0
opencv-XXX.pc.in
cmake/templates/opencv-XXX.pc.in
+2
-1
CMakeLists.txt
modules/highgui/CMakeLists.txt
+1
-1
CMakeLists.txt
modules/ts/CMakeLists.txt
+1
-1
Makefile
samples/cpp/example_cmake/Makefile
+12
-0
No files found.
CMakeLists.txt
View file @
3863dc5b
...
...
@@ -769,6 +769,11 @@ else()
endif
()
status
(
" Precompiled headers:"
PCHSupport_FOUND AND ENABLE_PRECOMPILED_HEADERS THEN YES ELSE NO
)
# ========================== Dependencies ============================
ocv_get_all_libs
(
deps_modules deps_extra deps_3rdparty
)
status
(
" Extra dependencies:"
${
deps_extra
}
)
status
(
" 3rdparty dependencies:"
${
deps_3rdparty
}
)
# ========================== OpenCV modules ==========================
status
(
""
)
status
(
" OpenCV modules:"
)
...
...
@@ -909,7 +914,7 @@ else()
endif
()
if
(
WITH_GDAL
)
status
(
" GDAL:"
GDAL_FOUND THEN
"
${
GDAL_LIBRARY
}
"
)
status
(
" GDAL:"
GDAL_FOUND THEN
"
${
GDAL_LIBRARY
}
"
ELSE
"NO"
)
else
()
status
(
" GDAL:"
"NO"
)
endif
()
...
...
cmake/OpenCVGenPkgconfig.cmake
View file @
3863dc5b
...
...
@@ -9,26 +9,33 @@
# ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
# -------------------------------------------------------------------------------------------
if
(
CMAKE_BUILD_TYPE MATCHES
"Release"
)
set
(
ocv_optkind OPT
)
else
()
set
(
ocv_optkind DBG
)
endif
()
#build the list of opencv libs and dependencies for all modules
set
(
OpenCV_LIB_COMPONENTS
""
)
set
(
OpenCV_EXTRA_COMPONENTS
""
)
foreach
(
m
${
OPENCV_MODULES_PUBLIC
}
)
list
(
INSERT OpenCV_LIB_COMPONENTS 0
${${
m
}
_MODULE_DEPS_
${
ocv_optkind
}}
${
m
}
)
if
(
${
m
}
_EXTRA_DEPS_
${
ocv_optkind
}
)
list
(
INSERT OpenCV_EXTRA_COMPONENTS 0
${${
m
}
_EXTRA_DEPS_
${
ocv_optkind
}}
)
macro
(
fix_prefix lst isown
)
set
(
_lst
)
foreach
(
item
${${
lst
}}
)
if
(
TARGET
${
item
}
)
get_target_property
(
item
"
${
item
}
"
LOCATION_
${
CMAKE_BUILD_TYPE
}
)
if
(
"
${
isown
}
"
)
get_filename_component
(
item
"
${
item
}
"
NAME_WE
)
string
(
REGEX REPLACE
"^lib(.*)"
"
\\
1"
item
"
${
item
}
"
)
endif
()
endforeach
()
endif
()
if
(
item MATCHES
"^-l"
)
list
(
APPEND _lst
"
${
item
}
"
)
elseif
(
item MATCHES
"[
\\
/]"
)
get_filename_component
(
libdir
"
${
item
}
"
PATH
)
get_filename_component
(
libname
"
${
item
}
"
NAME_WE
)
string
(
REGEX REPLACE
"^lib(.*)"
"
\\
1"
libname
"
${
libname
}
"
)
list
(
APPEND _lst
"-L
${
libdir
}
"
"-l
${
libname
}
"
)
else
()
list
(
APPEND _lst
"-l
${
item
}
"
)
endif
()
endforeach
()
set
(
${
lst
}
${
_lst
}
)
unset
(
_lst
)
endmacro
()
ocv_list_unique
(
OpenCV_LIB_COMPONENTS
)
ocv_list_unique
(
OpenCV_EXTRA_COMPONENTS
)
ocv_list_reverse
(
OpenCV_LIB_COMPONENTS
)
ocv_list_reverse
(
OpenCV_EXTRA_COMPONENTS
)
# build the list of opencv libs and dependencies for all modules
ocv_get_all_libs
(
_modules _extra _3rdparty
)
#build the list of components
...
...
@@ -38,57 +45,38 @@ ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
# world and contrib_world are special targets whose library should come first,
# especially for static link.
if
(
OpenCV_LIB_COMPONENTS MATCHES
"opencv_world"
)
list
(
REMOVE_ITEM OpenCV_LIB_COMPONENTS
"opencv_world"
)
list
(
INSERT OpenCV_LIB_COMPONENTS 0
"opencv_world"
)
if
(
_modules MATCHES
"opencv_world"
)
set
(
_modules
"opencv_world"
)
endif
()
if
(
OpenCV_LIB_COMPONENTS
MATCHES
"opencv_contrib_world"
)
list
(
REMOVE_ITEM
OpenCV_LIB_COMPONENTS
"opencv_contrib_world"
)
list
(
INSERT
OpenCV_LIB_COMPONENTS
0
"opencv_contrib_world"
)
if
(
_modules
MATCHES
"opencv_contrib_world"
)
list
(
REMOVE_ITEM
_modules
"opencv_contrib_world"
)
list
(
INSERT
_modules
0
"opencv_contrib_world"
)
endif
()
set
(
OpenCV_LIB_COMPONENTS_
)
foreach
(
CVLib
${
OpenCV_LIB_COMPONENTS
}
)
get_target_property
(
libloc
${
CVLib
}
LOCATION_
${
CMAKE_BUILD_TYPE
}
)
if
(
libloc MATCHES
"3rdparty"
)
set
(
libpath
"
\$
{exec_prefix}/share/OpenCV/3rdparty/
${
OPENCV_LIB_INSTALL_PATH
}
"
)
else
()
set
(
libpath
"
\$
{exec_prefix}/
${
OPENCV_LIB_INSTALL_PATH
}
"
)
endif
()
list
(
APPEND OpenCV_LIB_COMPONENTS_
"-L
${
libpath
}
"
)
get_filename_component
(
libname
${
CVLib
}
NAME_WE
)
string
(
REGEX REPLACE
"^lib"
""
libname
"
${
libname
}
"
)
list
(
APPEND OpenCV_LIB_COMPONENTS_
"-l
${
libname
}
"
)
endforeach
()
fix_prefix
(
_modules TRUE
)
fix_prefix
(
_extra FALSE
)
fix_prefix
(
_3rdparty TRUE
)
# add extra dependencies required for OpenCV
if
(
OpenCV_EXTRA_COMPONENTS
)
foreach
(
extra_component
${
OpenCV_EXTRA_COMPONENTS
}
)
ocv_list_unique
(
_modules
)
ocv_list_unique
(
_extra
)
ocv_list_unique
(
_3rdparty
)
if
(
extra_component MATCHES
"^-[lL]"
)
set
(
libprefix
""
)
set
(
libname
"
${
extra_component
}
"
)
elseif
(
extra_component MATCHES
"[
\\
/]"
)
get_filename_component
(
libdir
"
${
extra_component
}
"
PATH
)
list
(
APPEND OpenCV_LIB_COMPONENTS_
"-L
${
libdir
}
"
)
get_filename_component
(
libname
"
${
extra_component
}
"
NAME_WE
)
string
(
REGEX REPLACE
"^lib"
""
libname
"
${
libname
}
"
)
set
(
libprefix
"-l"
)
else
()
set
(
libprefix
"-l"
)
set
(
libname
"
${
extra_component
}
"
)
endif
()
list
(
APPEND OpenCV_LIB_COMPONENTS_
"
${
libprefix
}${
libname
}
"
)
endforeach
()
set
(
OPENCV_PC_LIBS
"-L
\$
{exec_prefix}/
${
OPENCV_LIB_INSTALL_PATH
}
"
"
${
_modules
}
"
)
if
(
BUILD_SHARED_LIBS
)
set
(
OPENCV_PC_LIBS_PRIVATE
"
${
_extra
}
"
)
else
()
set
(
OPENCV_PC_LIBS_PRIVATE
"-L
\$
{exec_prefix}/
${
OPENCV_3P_LIB_INSTALL_PATH
}
"
"
${
_3rdparty
}
"
"
${
_extra
}
"
)
endif
()
list
(
REMOVE_DUPLICATES OpenCV_LIB_COMPONENTS_
)
string
(
REPLACE
";"
" "
OpenCV_LIB_COMPONENTS
"
${
OpenCV_LIB_COMPONENTS_
}
"
)
string
(
REPLACE
";"
" "
OPENCV_PC_LIBS
"
${
OPENCV_PC_LIBS
}
"
)
string
(
REPLACE
";"
" "
OPENCV_PC_LIBS_PRIVATE
"
${
OPENCV_PC_LIBS_PRIVATE
}
"
)
#generate the .pc file
set
(
prefix
"
${
CMAKE_INSTALL_PREFIX
}
"
)
...
...
cmake/OpenCVUtils.cmake
View file @
3863dc5b
...
...
@@ -796,18 +796,33 @@ macro(ocv_get_all_libs _modules _extra _3rdparty)
set
(
${
_3rdparty
}
""
)
foreach
(
m
${
OPENCV_MODULES_PUBLIC
}
)
get_target_property
(
deps
${
m
}
INTERFACE_LINK_LIBRARIES
)
if
(
NOT deps
)
set
(
deps
""
)
endif
()
list
(
INSERT
${
_modules
}
0
${
deps
}
${
m
}
)
foreach
(
dep
${
deps
}
${
OPENCV_LINKER_LIBS
}
)
if
(
NOT DEFINED OPENCV_MODULE_
${
dep
}
_LOCATION
)
if
(
TARGET
${
dep
}
)
get_target_property
(
_output
${
dep
}
ARCHIVE_OUTPUT_DIRECTORY
)
if
(
"
${
_output
}
"
STREQUAL
"
${
3P_LIBRARY_OUTPUT_PATH
}
"
)
list
(
INSERT
${
_3rdparty
}
0
${
dep
}
)
else
()
list
(
INSERT
${
_extra
}
0
${
dep
}
)
endif
()
else
()
list
(
INSERT
${
_extra
}
0
${
dep
}
)
endif
()
endif
()
endforeach
()
endforeach
()
# ippicv specific handling
list
(
FIND
${
_extra
}
"ippicv"
ippicv_idx
)
if
(
${
ippicv_idx
}
GREATER -1
)
list
(
REMOVE_ITEM
${
_extra
}
"ippicv"
)
list
(
INSERT
${
_3rdparty
}
0
"ippicv"
)
endif
()
# split 3rdparty libs and modules
list
(
REMOVE_ITEM
${
_modules
}
${${
_3rdparty
}}
${${
_extra
}}
)
...
...
cmake/templates/opencv-XXX.pc.in
View file @
3863dc5b
...
...
@@ -9,5 +9,6 @@ includedir_new=@includedir@
Name: OpenCV
Description: Open Source Computer Vision Library
Version: @OPENCV_VERSION_PLAIN@
Libs: @OpenCV_LIB_COMPONENTS@
Libs: @OPENCV_PC_LIBS@
Libs.private: @OPENCV_PC_LIBS_PRIVATE@
Cflags: -I${includedir_old} -I${includedir_new}
modules/highgui/CMakeLists.txt
View file @
3863dc5b
...
...
@@ -3,7 +3,7 @@ if (WINRT)
endif
()
set
(
the_description
"High-level GUI and Media I/O"
)
ocv_add_module
(
highgui opencv_imgproc opencv_imgcodecs opencv_videoio
OPTIONAL opencv_androidcamera
WRAP python
)
ocv_add_module
(
highgui opencv_imgproc opencv_imgcodecs opencv_videoio WRAP python
)
# ----------------------------------------------------------------------------
# CMake file for highgui. See root CMakeLists.txt
...
...
modules/ts/CMakeLists.txt
View file @
3863dc5b
...
...
@@ -9,7 +9,7 @@ set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE)
ocv_warnings_disable
(
CMAKE_CXX_FLAGS -Wundef
)
ocv_add_module
(
ts opencv_core opencv_imgproc opencv_imgcodecs opencv_videoio opencv_highgui
)
ocv_add_module
(
ts
INTERNAL
opencv_core opencv_imgproc opencv_imgcodecs opencv_videoio opencv_highgui
)
ocv_glob_module_sources
()
ocv_module_include_directories
()
...
...
samples/cpp/example_cmake/Makefile
0 → 100644
View file @
3863dc5b
CXX
?=
g++
CXXFLAGS
+=
-c
-Wall
$(
shell
pkg-config
--cflags
opencv
)
LDFLAGS
+=
$(
shell
pkg-config
--libs
--static
opencv
)
all
:
opencv_example
opencv_example
:
example.o; $(CXX) $< -o $@ $(LDFLAGS)
%.o
:
%.cpp; $(CXX) $< -o $@ $(CXXFLAGS)
clean
:
; rm -f example.o opencv_example
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