54 lines
1.9 KiB
CMake
54 lines
1.9 KiB
CMake
project(multithread_experiments)
|
|
cmake_minimum_required(VERSION 2.8.6)
|
|
|
|
option(USE_SMSDK "Use libraries from SMSDK directory" 1)
|
|
if(USE_SMSDK)
|
|
set(PATH_TO_SMSDK $ENV{SMSDK_DIR})
|
|
set(SM_BIN_DIR $ENV{SM_BIN_DIR})
|
|
set(PIP_DIR ${PATH_TO_SMSDK})
|
|
set(SMBRICKS_INCLUDES ${PATH_TO_SMSDK}/include/SMBricks)
|
|
set(SMBRICKS_LIB_DIR ${PATH_TO_SMSDK}/lib)
|
|
endif()
|
|
|
|
find_package(PIP REQUIRED)
|
|
find_package(QAD REQUIRED)
|
|
|
|
if (CMAKE_BUILD_TYPE MATCHES Debug)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3 -fPIC -std=c++11")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3 -fPIC")
|
|
else()
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fPIC -std=c++11")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -fPIC")
|
|
endif()
|
|
|
|
include_directories(experiments ${PIP_INCLUDES})
|
|
|
|
if(WIN32)
|
|
include_directories(can)
|
|
|
|
add_subdirectory(can)
|
|
|
|
add_custom_target(copy_dependencies
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${PCAN_LIB} ${CMAKE_CURRENT_BINARY_DIR}/PCANBasic${CMAKE_SHARED_LIBRARY_SUFFIX}
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${VSCAN_LIB} ${CMAKE_CURRENT_BINARY_DIR}/vs_can_api${CMAKE_SHARED_LIBRARY_SUFFIX})
|
|
|
|
add_executable(can_send_multithread experiments/can_send_multithread.cpp)
|
|
target_link_libraries(can_send_multithread can)
|
|
add_dependencies(can_send_multithread copy_dependencies)
|
|
|
|
add_executable(can_send experiments/can_send.cpp)
|
|
target_link_libraries(can_send can)
|
|
add_dependencies(can_send copy_dependencies)
|
|
endif()
|
|
|
|
add_executable(mutex experiments/mutex.cpp)
|
|
target_link_libraries(mutex ${PIP_LIBRARY} ${PIP_CONCURRENT_LIBRARY})
|
|
|
|
add_executable(mutex_multithread experiments/mutex_multithread.cpp)
|
|
target_link_libraries(mutex_multithread ${PIP_LIBRARY} ${PIP_CONCURRENT_LIBRARY})
|
|
|
|
add_executable(vectors experiments/vectors.cpp)
|
|
target_link_libraries(vectors ${PIP_LIBRARY})
|
|
|
|
add_executable(block_choice experiments/block_choice.cpp)
|
|
target_link_libraries(block_choice ${PIP_LIBRARY}) |