Skip to content
Snippets Groups Projects
Unverified Commit b65e428d authored by Justin Carpentier's avatar Justin Carpentier Committed by GitHub
Browse files

Merge pull request #262 from nim65s/devel

[CMake] FetchContent on missing submodule
parents c279e00a 69eea623
No related branches found
No related tags found
No related merge requests found
Pipeline #16631 passed with warnings
name: JRL-cmakemodules
on: [push,pull_request]
jobs:
with-submodules:
name: Check configuration with git submodules
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- run: sudo apt install libboost-all-dev libeigen3-dev python3-numpy
- run: cmake .
without-submodules:
name: Check configuration without git submodules
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: false
- run: sudo apt install libboost-all-dev libeigen3-dev python3-numpy
- run: cmake .
...@@ -13,8 +13,18 @@ SET(PROJECT_USE_KEYWORD_LINK_LIBRARIES TRUE) ...@@ -13,8 +13,18 @@ SET(PROJECT_USE_KEYWORD_LINK_LIBRARIES TRUE)
SET(PROJECT_CUSTOM_HEADER_EXTENSION "hpp") SET(PROJECT_CUSTOM_HEADER_EXTENSION "hpp")
# Check if the submodule cmake have been initialized # Check if the submodule cmake have been initialized
set(JRL_CMAKE_MODULES "${CMAKE_CURRENT_LIST_DIR}/cmake")
IF(NOT EXISTS "${CMAKE_SOURCE_DIR}/cmake/base.cmake") IF(NOT EXISTS "${CMAKE_SOURCE_DIR}/cmake/base.cmake")
MESSAGE(FATAL_ERROR "\nPlease run the following command first:\ngit submodule update --init\n") IF(${CMAKE_VERSION} VERSION_LESS "3.14.0")
MESSAGE(FATAL_ERROR "\nPlease run the following command first:\ngit submodule update --init\n")
ELSE()
message(STATUS "JRL cmakemodules not found. Let's fetch it.")
include(FetchContent)
FetchContent_Declare("jrl-cmakemodules"
GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git")
FetchContent_MakeAvailable("jrl-cmakemodules")
FetchContent_GetProperties("jrl-cmakemodules" SOURCE_DIR JRL_CMAKE_MODULES)
ENDIF()
ENDIF() ENDIF()
# Disable -Werror on Unix for now. # Disable -Werror on Unix for now.
...@@ -35,14 +45,14 @@ IF(DEFINED BUILD_UNIT_TESTS) ...@@ -35,14 +45,14 @@ IF(DEFINED BUILD_UNIT_TESTS)
SET(BUILD_TESTING ${BUILD_UNIT_TESTS}) SET(BUILD_TESTING ${BUILD_UNIT_TESTS})
ENDIF(DEFINED BUILD_UNIT_TESTS) ENDIF(DEFINED BUILD_UNIT_TESTS)
INCLUDE(cmake/base.cmake) INCLUDE("${JRL_CMAKE_MODULES}/base.cmake")
COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX) COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
PROJECT(${PROJECT_NAME} ${PROJECT_ARGS}) PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
INCLUDE(cmake/boost.cmake) INCLUDE("${JRL_CMAKE_MODULES}/boost.cmake")
INCLUDE(cmake/python.cmake) INCLUDE("${JRL_CMAKE_MODULES}/python.cmake")
INCLUDE(cmake/ide.cmake) INCLUDE("${JRL_CMAKE_MODULES}/ide.cmake")
INCLUDE(cmake/apple.cmake) INCLUDE("${JRL_CMAKE_MODULES}/apple.cmake")
OPTION(GENERATE_PYTHON_STUBS "Generate the Python stubs associated to the Python library" OFF) OPTION(GENERATE_PYTHON_STUBS "Generate the Python stubs associated to the Python library" OFF)
......
...@@ -7,7 +7,7 @@ SET(PYWRAP ${PROJECT_NAME}_pywrap) ...@@ -7,7 +7,7 @@ SET(PYWRAP ${PROJECT_NAME}_pywrap)
SET(PYWRAP ${PYWRAP} PARENT_SCOPE) SET(PYWRAP ${PYWRAP} PARENT_SCOPE)
MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/python/${PROJECT_NAME}") MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/python/${PROJECT_NAME}")
include(${PROJECT_SOURCE_DIR}/cmake/stubs.cmake) include("${JRL_CMAKE_MODULES}/stubs.cmake")
ADD_CUSTOM_TARGET(python) ADD_CUSTOM_TARGET(python)
SET_TARGET_PROPERTIES(python PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD True) SET_TARGET_PROPERTIES(python PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD True)
...@@ -58,4 +58,3 @@ FOREACH(python ${PYTHON_FILES}) ...@@ -58,4 +58,3 @@ FOREACH(python ${PYTHON_FILES})
"${CMAKE_CURRENT_SOURCE_DIR}/eigenpy/${python}" "${CMAKE_CURRENT_SOURCE_DIR}/eigenpy/${python}"
DESTINATION ${${PYWRAP}_INSTALL_DIR}) DESTINATION ${${PYWRAP}_INSTALL_DIR})
ENDFOREACH(python) ENDFOREACH(python)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment