first stab at a cmake build

pull/348/head
Josh Bialkowski 2015-11-16 16:50:08 -08:00
rodzic 276ce60b09
commit d4d28e401f
1 zmienionych plików z 75 dodań i 0 usunięć

75
CMakeLists.txt 100644
Wyświetl plik

@ -0,0 +1,75 @@
cmake_minimum_required(VERSION 2.8.11)
project(stlink)
find_package(PkgConfig)
pkg_check_modules(libusb REQUIRED libusb-1.0)
pkg_check_modules(gtk gtk+-3.0)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall -Wextra")
set(HFILES src/stlink-common.h
src/stlink-usb.h
src/stlink-sg.h
src/uglylogging.h
src/mmap.h)
set(CFILES src/stlink-common.c
src/stlink-usb.c
src/stlink-sg.c
src/uglylogging.c
src/st-info.c)
include_directories(${libusb_INCLUDE_DIRS})
include_directories(src)
include_directories(mingw)
add_library(stlink STATIC
${HFILES} # header files for ide projects generated by cmake
${CFILES})
target_link_libraries(stlink ${libusb_LDFLAGS})
add_executable(st-flash flash/main.c)
target_link_libraries(st-flash stlink)
add_executable(st-util gdbserver/gdb-remote.c
gdbserver/gdb-remote.h
gdbserver/gdb-server.c
gdbserver/gdb-server.h)
target_link_libraries(st-util stlink)
install(TARGETS stlink st-flash st-util
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib)
if(NOT ${MINGW})
list(APPEND CFILES src/st-term.c)
add_executable(st-term src/st-term.c)
target_link_libraries(st-term stlink)
install(TARGETS st-term
RUNTIME DESTINATION bin)
endif()
if(gtk_FOUND)
include_directories(${gtk_INCLUDE_DIRS})
set(GUI_SOURCES gui/stlink-gui.c
gui/stlink-gui.h)
add_executable(stlink-gui-local ${GUI_SOURCES})
set_target_properties(stlink-gui-local PROPERTIES
COMPILE_FLAGS -DSTLINK_UI_DIR=\\"${CMAKE_CURRENT_SOURCE_DIR}/gui\\")
target_link_libraries(stlink-gui-local stlink ${gtk_LDFLAGS})
set(INSTALLED_UI_DIR ${CMAKE_INSTALL_PREFIX}/share)
add_executable(stlink-gui ${GUI_SOURCES})
set_target_properties(stlink-gui PROPERTIES
COMPILE_FLAGS -DSTLINK_UI_DIR=\\"${INSTALLED_UI_DIR}\\")
target_link_libraries(stlink-gui stlink ${gtk_LDFLAGS})
install(TARGETS stlink-gui
RUNTIME DESTINATION bin)
install(FILES gui/stlink-gui.ui
DESTINATION ${INSTALLED_UI_DIR})
endif()