Files
multithread_experiments/CMakeLists.txt
2020-07-10 16:34:08 +03:00

50 lines
1.8 KiB
CMake

project(multithread_experiments)
cmake_minimum_required(VERSION 2.8.6)
set(CMAKE_CXX_STANDART 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
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})