mirror of
https://github.com/preble/libpinproc
synced 2026-02-24 18:25:23 +01:00
77 lines
2.2 KiB
CMake
77 lines
2.2 KiB
CMake
cmake_minimum_required(VERSION 2.6)
|
|
|
|
project (LIBPINPROC)
|
|
|
|
# User can redefine to "SHARED" on command line with:
|
|
# cmake -DLIB_TYPE=SHARED ...
|
|
IF(NOT DEFINED LIB_TYPE)
|
|
set(LIB_TYPE STATIC)
|
|
ENDIF(NOT DEFINED LIB_TYPE)
|
|
|
|
set(PINPROC_VERSION_MAJOR "0")
|
|
set(PINPROC_VERSION_MINOR "9")
|
|
set(PINPROC_VERSION "${YAML_CPP_VERSION_MAJOR}.${YAML_CPP_VERSION_MINOR}")
|
|
|
|
IF(APPLE)
|
|
# set( CMAKE_OSX_ARCHITECTURES ppc;i386 ) # Uncomment for universal binary
|
|
ENDIF(APPLE)
|
|
|
|
include_directories(${LIBPINPROC_SOURCE_DIR}/include /usr/local/include $ENV{EXTRA_INC})
|
|
link_directories(/usr/local/lib $ENV{EXTRA_LINK})
|
|
|
|
set(FILES src/pinproc.cpp src/PRDevice.cpp src/PRHardware.cpp)
|
|
add_library(pinproc
|
|
${LIB_TYPE}
|
|
${FILES}
|
|
${public_headers}
|
|
${private_headers}
|
|
${sources}
|
|
)
|
|
set_target_properties(pinproc PROPERTIES
|
|
VERSION "${PINPROC_VERSION}"
|
|
SOVERSION "${PINPROC_VERSION_MAJOR}.${PINPROC_VERSION_MINOR}"
|
|
)
|
|
|
|
if(WIN32)
|
|
set(libraries ftd2xx)
|
|
set(_library_dir bin) # .dll are in PATH, like executables
|
|
else(WIN32)
|
|
set(libraries usb ftdi)
|
|
set(_library_dir lib)
|
|
endif(WIN32)
|
|
|
|
add_executable(pinproctest examples/pinproctest/pinproctest.cpp examples/pinproctest/drivers.cpp examples/pinproctest/dmd.cpp examples/pinproctest/switches.cpp examples/pinproctest/alphanumeric.cpp)
|
|
add_executable(pinprocfw utils/pinprocfw/pinprocfw.cpp utils/pinprocfw/lenval.cpp)
|
|
target_link_libraries(pinproctest pinproc ${libraries} yaml-cpp)
|
|
target_link_libraries(pinprocfw pinproc ${libraries})
|
|
|
|
###############################################################
|
|
# The remainder of the file is used for "make install" stuff
|
|
###############################################################
|
|
|
|
set(INCLUDE_INSTALL_DIR include/p-roc)
|
|
set(LIB_INSTALL_DIR ${_library_dir}${LIB_SUFFIX})
|
|
|
|
set(_INSTALL_DESTINATIONS
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
|
|
ARCHIVE DESTINATION lib${LIB_SUFFIX}
|
|
)
|
|
|
|
file(GLOB public_headers include/[a-z]*.h)
|
|
file(GLOB private src/[a-z]*.h)
|
|
file(GLOB sources src/[a-z]*.cpp)
|
|
|
|
install(TARGETS pinproc ${_INSTALL_DESTINATIONS})
|
|
install(
|
|
FILES ${public_headers}
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}
|
|
)
|
|
|
|
if(UNIX)
|
|
set(PC_FILE ${CMAKE_BINARY_DIR}/pinproc.pc)
|
|
configure_file("pinproc.pc.cmake" ${PC_FILE} @ONLY)
|
|
install(FILES ${PC_FILE} DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
|
|
endif(UNIX)
|
|
|