diff --git a/CMakeLists.txt b/CMakeLists.txt index b0f7a95c25fbefb753b04d80b9c8715032616d20..0212a3807db4be47758aea02a3a01b09013bca95 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,4 +96,4 @@ ELSE(UNIX) COMMENT "packaging only implemented in unix" TARGET uninstall ) -ENDIF(UNIX) +ENDIF(UNIX) \ No newline at end of file diff --git a/privileges.sh b/privileges.sh deleted file mode 100755 index 0f97b5e2a940f211d62105f67a3202364c5b350f..0000000000000000000000000000000000000000 --- a/privileges.sh +++ /dev/null @@ -1,2 +0,0 @@ -sudo chown root:audio bin/battery_monitor_test -sudo chmod u+s bin/battery_monitor_test diff --git a/scripts/set_example_privileges.sh b/scripts/set_example_privileges.sh new file mode 100755 index 0000000000000000000000000000000000000000..9c65944f2c6ca30f5f07f55bcd2118f12787f3ec --- /dev/null +++ b/scripts/set_example_privileges.sh @@ -0,0 +1,3 @@ +echo "battery_monitor_test: setting example privileges (needs sudo)" +sudo chown root:audio bin/battery_monitor_test +sudo chmod u+s bin/battery_monitor_test \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b25620b820467a4e0b02a0df853c4ce8961016df..b04f03f8b9d896d1f2f01a5653a067113e9a1688 100755 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -35,3 +35,28 @@ INSTALL(FILES ../scripts/unbind_ftdi_udev.sh DESTINATION share/iri/${PROJECT_NAME}/scripts PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ) ADD_SUBDIRECTORY(examples) + +find_package(Git QUIET) +if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") +# Update submodules as needed + option(GIT_SUBMODULE "Check submodules during build" ON) + if(GIT_SUBMODULE) + message(STATUS "Submodule update") + execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + RESULT_VARIABLE GIT_SUBMOD_RESULT) + if(NOT GIT_SUBMOD_RESULT EQUAL "0") + message(FATAL_ERROR "git submodule update --init failed with ${GIT_SUBMOD_RESULT}, please checkout submodules") + endif() + endif() +endif() + +SET(firmware_dir avr8_smbus_battery_monitor) + +if(NOT EXISTS "${PROJECT_SOURCE_DIR}/${firmware_dir}/Makefile") + message(FATAL_ERROR "The submodules were not downloaded! GIT_SUBMODULE was turned off or failed. Please update submodules and try again.") +endif() + +add_custom_target(firmware ALL COMMAND make + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../${firmware_dir} +) diff --git a/src/examples/CMakeLists.txt b/src/examples/CMakeLists.txt index 79cad01556ed4cdbbfd53625f73f4415cef22cb3..87b3022aab24aecef50b089f6eeec9f209d88964 100755 --- a/src/examples/CMakeLists.txt +++ b/src/examples/CMakeLists.txt @@ -4,6 +4,6 @@ ADD_EXECUTABLE(battery_monitor_test battery_monitor_test.cpp) TARGET_LINK_LIBRARIES(battery_monitor_test battery_monitor) add_custom_command(TARGET battery_monitor_test POST_BUILD - COMMAND sh ./privileges.sh + COMMAND sh ./scripts/set_example_privileges.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})