An error occurred while loading the file. Please try again.
-
Hoop77 authored
build system working now with global installation but all other ways SUCK because of ROS and catkin (which SUCK THE MOST)
5d6d7506
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CMakeLists.txt 2.97 KiB
cmake_minimum_required(VERSION 3.5.1)
project(car)
add_compile_options(-std=c++14)
# Include Boost
find_package(Boost REQUIRED COMPONENTS system regex)
# for dealing with threads
set(CMAKE_CXX_FLAGS -pthread)
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
nodelet
message_generation
)
find_package(Boost REQUIRED COMPONENTS system)
add_message_files(
FILES
camDataMsg.msg
ccDataMsg.msg
environmentDataMsg.msg
logEnabledMsg.msg
logStringMsg.msg
rcEnabledMsg.msg
stmDataMsg.msg
ussDataMsg.msg
laneDataMsg.msg
)
generate_messages(
DEPENDENCIES
std_msgs
)
catkin_package(
INCLUDE_DIRS include
LIBRARIES main_node
LIBRARIES environment
LIBRARIES ultrasonic
LIBRARIES camera
CATKIN_DEPENDS roscpp std_msgs nodelet rospy #message_runtime
)
include_directories(
include
${catkin_INCLUDE_DIRS}
)
set(MAIN_NODE_SOURCE_FILES
include/mainNode/mainNode.h
include/mainNode/NotifiableThread.h
include/mainNode/PlatoonController.h
src/mainNode/mainNode.cpp
src/mainNode/NotifiableThread.cpp
src/mainNode/PlatoonController.cpp)
find_package(NetworkingLib REQUIRED)
find_package(PlatoonProtocolLib REQUIRED)
find_package(PC2CarLib REQUIRED)
add_library(main_node ${MAIN_NODE_SOURCE_FILES})
add_dependencies(main_node ${catkin_EXPORTED_TARGETS} ${PROJECT_NAME}_generate_messages_cpp)
target_link_libraries(main_node
${catkin_LIBRARIES}
NetworkingLib
PlatoonProtocolLib
PC2CarLib)
add_library(environment src/environment/environment.cpp)
add_dependencies(environment ${catkin_EXPORTED_TARGETS} ${PROJECT_NAME}_generate_messages_cpp)
target_link_libraries(environment ${catkin_LIBRARIES})
add_library(ultrasonic src/ultrasonic/ultrasonic.cpp)
add_dependencies(ultrasonic ${catkin_EXPORTED_TARGETS} ${PROJECT_NAME}_generate_messages_cpp)
target_link_libraries(ultrasonic ${catkin_LIBRARIES})
# NotifiableThread Test
set(NOTIFIABLE_THREAD_TEST_SOURCE_FILES
include/mainNode/NotifiableThread.h
src/mainNode/NotifiableThread.cpp
test/mainNode/NotifiableThreadTest.cpp)
add_executable(NotifiableThreadTest ${NOTIFIABLE_THREAD_TEST_SOURCE_FILES})
add_library(camera src/camera/camera.cpp)
add_dependencies(camera ${catkin_EXPORTED_TARGETS} ${PROJECT_NAME}_generate_messages_cpp)
target_link_libraries(camera ${catkin_LIBRARIES})
add_library(lanekeeping src/lanekeeping/lanekeeping.cpp)
add_dependencies(lanekeeping ${catkin_EXPORTED_TARGETS} ${PROJECT_NAME}_generate_messages_cpp)
target_link_libraries(lanekeeping ${catkin_LIBRARIES})
install(
TARGETS
main_node
environment
ultrasonic
camera
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(
DIRECTORY
include/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)
install(
DIRECTORY plugins/
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/plugins
PATTERN ".svn" EXCLUDE
)