Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
eigenpy
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Guilhem Saurel
eigenpy
Commits
986d05c5
Commit
986d05c5
authored
Aug 13, 2020
by
Guilhem Saurel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[CMake] split export in interface + python component
parent
b78ef66b
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
29 additions
and
19 deletions
+29
-19
CMakeLists.txt
CMakeLists.txt
+26
-16
cmake
cmake
+1
-1
python/CMakeLists.txt
python/CMakeLists.txt
+1
-1
unittest/CMakeLists.txt
unittest/CMakeLists.txt
+1
-1
No files found.
CMakeLists.txt
View file @
986d05c5
...
...
@@ -60,11 +60,25 @@ SET(${PYWRAP}_INSTALL_DIR "${PYTHON_SITELIB}/${PROJECT_NAME}")
# ----------------------------------------------------
# --- DEPENDENCIES -----------------------------------
# ----------------------------------------------------
ADD_PROJECT_DEPENDENCY
(
Eigen3 REQUIRED
PKG_CONFIG_REQUIRES
"eigen3 >= 3.0.5"
)
ADD_PROJECT_DEPENDENCY
(
Eigen3 REQUIRED
)
SET
(
BOOST_COMPONENTS python
)
SEARCH_FOR_BOOST
()
# ----------------------------------------------------
# --- INTERFACE --------------------------------------
# ----------------------------------------------------
ADD_LIBRARY
(
${
PROJECT_NAME
}
INTERFACE
)
TARGET_INCLUDE_DIRECTORIES
(
${
PROJECT_NAME
}
SYSTEM INTERFACE
${
Boost_INCLUDE_DIRS
}
${
EIGEN3_INCLUDE_DIR
}
INTERFACE
#$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include> # TODO: do we really need that ?
$<INSTALL_INTERFACE:include>
)
INSTALL
(
TARGETS
${
PROJECT_NAME
}
EXPORT
${
TARGETS_EXPORT_NAME
}
DESTINATION lib
)
# ----------------------------------------------------
# --- INCLUDE ----------------------------------------
# ----------------------------------------------------
...
...
@@ -163,37 +177,38 @@ SET(${PROJECT_NAME}_SOURCES
src/version.cpp
)
ADD_LIBRARY
(
${
PROJECT_NAME
}
SHARED
${${
PROJECT_NAME
}
_SOURCES
}
${${
PROJECT_NAME
}
_HEADERS
}
)
TARGET_INCLUDE_DIRECTORIES
(
${
PROJECT_NAME
}
ADD_LIBRARY
(
${
P
Y_P
ROJECT_NAME
}
SHARED
${${
PROJECT_NAME
}
_SOURCES
}
${${
PROJECT_NAME
}
_HEADERS
}
)
TARGET_INCLUDE_DIRECTORIES
(
${
P
Y_P
ROJECT_NAME
}
SYSTEM PUBLIC
${
Boost_INCLUDE_DIRS
}
${
EIGEN3_INCLUDE_DIR
}
${
PYTHON_INCLUDE_DIR
}
${
NUMPY_INCLUDE_DIRS
}
INTERFACE
#$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include> # TODO: do we really need that ?
$<INSTALL_INTERFACE:include>
)
SET_TARGET_PROPERTIES
(
${
PROJECT_NAME
}
PROPERTIES SUFFIX
${
PYTHON_EXT_SUFFIX
}
)
IF
(
SUFFIX_SO_VERSION
)
SET_TARGET_PROPERTIES
(
${
PROJECT_NAME
}
PROPERTIES SOVERSION
${
PROJECT_VERSION
}
)
SET_TARGET_PROPERTIES
(
${
P
Y_P
ROJECT_NAME
}
PROPERTIES SOVERSION
${
PROJECT_VERSION
}
)
ENDIF
(
SUFFIX_SO_VERSION
)
IF
(
NOT WIN32
)
TARGET_COMPILE_OPTIONS
(
${
PROJECT_NAME
}
PRIVATE $<$<CXX_COMPILER_ID:MSVC>:-bigobj>
"-Wno-conversion"
)
TARGET_COMPILE_OPTIONS
(
${
P
Y_P
ROJECT_NAME
}
PRIVATE $<$<CXX_COMPILER_ID:MSVC>:-bigobj>
"-Wno-conversion"
)
ELSE
()
TARGET_COMPILE_OPTIONS
(
${
PROJECT_NAME
}
PRIVATE $<$<CXX_COMPILER_ID:MSVC>:-bigobj>
)
TARGET_COMPILE_OPTIONS
(
${
P
Y_P
ROJECT_NAME
}
PRIVATE $<$<CXX_COMPILER_ID:MSVC>:-bigobj>
)
ENDIF
()
TARGET_LINK_BOOST_PYTHON
(
${
PROJECT_NAME
}
PUBLIC
)
INSTALL
(
TARGETS
${
PROJECT_NAME
}
EXPORT
${
TARGETS_EXPORT_NAME
}
TARGET_LINK_BOOST_PYTHON
(
${
P
Y_P
ROJECT_NAME
}
PUBLIC
)
INSTALL
(
TARGETS
${
P
Y_P
ROJECT_NAME
}
EXPORT
${
TARGETS_EXPORT_
PY_
NAME
}
PUBLIC_HEADER DESTINATION
${
CMAKE_INSTALL_FULL_INCLUDEDIR
}
INCLUDES DESTINATION
${
CMAKE_INSTALL_FULL_INCLUDEDIR
}
LIBRARY DESTINATION
${
CMAKE_INSTALL_FULL_LIBDIR
}
ARCHIVE DESTINATION
${
CMAKE_INSTALL_FULL_LIBDIR
}
RUNTIME DESTINATION
${
CMAKE_INSTALL_FULL_BINDIR
}
)
PROJECT_INSTALL_COMPONENT
(
${
PY_PROJECT_NAME
}
)
ADD_HEADER_GROUP
(
${
PROJECT_NAME
}
_HEADERS
)
ADD_SOURCE_GROUP
(
${
PROJECT_NAME
}
_SOURCES
)
...
...
@@ -211,8 +226,3 @@ ADD_SUBDIRECTORY(python)
# --- UNIT TEST --------------------------------------
# ----------------------------------------------------
ADD_SUBDIRECTORY
(
unittest
)
PKG_CONFIG_APPEND_LIBS
(
${
PROJECT_NAME
}
)
PKG_CONFIG_APPEND_CFLAGS
(
"-I
${
PYTHON_INCLUDE_DIRS
}
"
)
PKG_CONFIG_APPEND_CFLAGS
(
"-I
${
NUMPY_INCLUDE_DIRS
}
"
)
PKG_CONFIG_APPEND_BOOST_LIBS
(
${
BOOST_COMPONENTS
}
)
cmake
@
17844115
Compare
e542b72a
...
17844115
Subproject commit
e542b72a3435ea50654132c268d459f0a29fe3b6
Subproject commit
178441159f781ff6199af9ead4b12c4ed66a25bf
python/CMakeLists.txt
View file @
986d05c5
...
...
@@ -8,7 +8,7 @@ SET_TARGET_PROPERTIES(python PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD True)
ADD_LIBRARY
(
${
PYWRAP
}
SHARED main.cpp
)
ADD_DEPENDENCIES
(
python
${
PYWRAP
}
)
TARGET_LINK_LIBRARIES
(
${
PYWRAP
}
PUBLIC
${
PROJECT_NAME
}
)
TARGET_LINK_LIBRARIES
(
${
PYWRAP
}
PUBLIC
${
P
Y_P
ROJECT_NAME
}
)
# BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS spews conversion warnings from int to long unsigned int.
# Unfortunately, using literals does not work in a macro. As such, this turns them off for the entire wrapper:
IF
(
NOT WIN32
)
...
...
unittest/CMakeLists.txt
View file @
986d05c5
...
...
@@ -12,7 +12,7 @@ MACRO(ADD_LIB_UNIT_TEST test)
ADD_LIBRARY
(
${
test
}
SHARED EXCLUDE_FROM_ALL
${
test
}
)
ENDIF
(
BUILD_TESTING
)
TARGET_LINK_LIBRARIES
(
${
test
}
PUBLIC
${
PROJECT_NAME
}
)
TARGET_LINK_LIBRARIES
(
${
test
}
PUBLIC
${
P
Y_P
ROJECT_NAME
}
)
SET_TARGET_PROPERTIES
(
${
test
}
PROPERTIES PREFIX
""
)
SET_TARGET_PROPERTIES
(
${
test
}
PROPERTIES SUFFIX
${
PYTHON_EXT_SUFFIX
}
)
...
...
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